History log of /llvm-project-15.0.7/clang/lib/CodeGen/CodeGenModule.cpp (Results 1176 – 1200 of 1864)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 3d19de99 11-Apr-2012 Eric Christopher <[email protected]>

Enable debug info for objective c implementations that may not have
an explicit instance variable.

rdar://10590352

llvm-svn: 154481


# 84537952 30-Mar-2012 Chandler Carruth <[email protected]>

Revert r153723, and its follow-ups r153728 and r153733.

These patches cause us to miscompile and/or reject code with static
function-local variables in an extern-C context. Previously, we were
paper

Revert r153723, and its follow-ups r153728 and r153733.

These patches cause us to miscompile and/or reject code with static
function-local variables in an extern-C context. Previously, we were
papering over this as long as the variables are within the same
translation unit, and had not seen any failures in the wild. We still
need a proper fix, which involves mangling static locals inside of an
extern-C block (as GCC already does), but this patch causes pretty
widespread regressions. Firefox, and many other applications no longer
build.

Lots of test cases have been posted to the list in response to this
commit, so there should be no problem reproducing the issues.

llvm-svn: 153768

show more ...


# 87590e60 30-Mar-2012 John McCall <[email protected]>

Do the static-locals thing properly in the face of unions and
other things which might mess with the variable's type.

llvm-svn: 153733


# 82b87f19 30-Mar-2012 Bill Wendling <[email protected]>

The UTF16 string referenced by a CFString should go into the __TEXT,__ustring
section. A 'normal' string will go into the __TEXT,__const section, but this
isn't good for UTF16 strings. The __ustring

The UTF16 string referenced by a CFString should go into the __TEXT,__ustring
section. A 'normal' string will go into the __TEXT,__const section, but this
isn't good for UTF16 strings. The __ustring section allows for coalescing, among
other niceties (such as allowing the linker to easily split up strings).

Instead of outputting the UTF16 string as a series of bytes, output it as a
series of shorts. The back-end will then nicely place the UTF16 string into the
correct section, because it's a mensch.
<rdar://problem/10655949>

llvm-svn: 153710

show more ...


# 07635cc7 29-Mar-2012 Bill Wendling <[email protected]>

Fix whitespace.

llvm-svn: 153698


# 141e46fa 26-Mar-2012 Kostya Serebryany <[email protected]>

add tbaa metadata to vtable pointer loads/stores

llvm-svn: 153447


# e894e09e 24-Mar-2012 Benjamin Kramer <[email protected]>

Simplify some users of DenseMap::erase.

llvm-svn: 153389


# bbafb8a7 11-Mar-2012 David Blaikie <[email protected]>

Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).

The member variable is always "LangOpts" and the member function is always "getLangOpts".

Reviewed by Chris La

Unify naming of LangOptions variable/get function across the Clang stack (Lex to AST).

The member variable is always "LangOpts" and the member function is always "getLangOpts".

Reviewed by Chris Lattner

llvm-svn: 152536

show more ...


# df88f6fe 08-Mar-2012 Rafael Espindola <[email protected]>

Replace MarkVarRequired with a more generic
HandleCXXStaticMemberVarInstantiation. Suggested by Argyrios.

llvm-svn: 152320


# 189fa748 05-Mar-2012 Rafael Espindola <[email protected]>

Fix a small difference in sema and codegen views of what needs to be output.

In the included testcase, soma thinks that we already have a definition after we
see the out of line decl. Codegen puts i

Fix a small difference in sema and codegen views of what needs to be output.

In the included testcase, soma thinks that we already have a definition after we
see the out of line decl. Codegen puts it in a deferred list, to be output if
a use is seen. This would break when we saw an explicit template instantiation
definition, since codegen would not be notified.

This patch adds a method to the consumer interface so that soma can notify
codegen that this decl is now required.

llvm-svn: 152024

show more ...


# bc638767 02-Mar-2012 Richard Smith <[email protected]>

Reinstate r151879, r151880, reverted in r151922, along with a bugfix for
scalar emission of DeclRefExprs to const bools: emit scalar bools as i1,
not as i8.

In addition to the extra unit testing, th

Reinstate r151879, r151880, reverted in r151922, along with a bugfix for
scalar emission of DeclRefExprs to const bools: emit scalar bools as i1,
not as i8.

In addition to the extra unit testing, this has successfully bootstrapped.

llvm-svn: 151955

show more ...


# a235e2d8 27-Feb-2012 Sebastian Redl <[email protected]>

Hack in a loud error for PR12086. Better than a silent miscompile.

llvm-svn: 151586


# 4a7eab25 25-Feb-2012 Sebastian Redl <[email protected]>

CodeGen support for global variables of type std::initializer_list<X>.

This emits a backing array with internal linkage and fills it with data,
then has the initializer_list point at the array. Dyna

CodeGen support for global variables of type std::initializer_list<X>.

This emits a backing array with internal linkage and fills it with data,
then has the initializer_list point at the array. Dynamic initialization
and global destructors are correctly supported.

What doesn't work is nested initializer_lists. I have no idea how to
get them to work, either. However, these should be very rare, and so
I'll just call it a known bug and declare generalized initializers
DONE!

llvm-svn: 151457

show more ...


# 71006f23 18-Feb-2012 Eric Christopher <[email protected]>

Remove UpdateCompletedType from the debug info emission. We now
emit less than complete types on purpose on occasion and so
our caches aren't useful for this kind of lazy emitting.

llvm-svn: 150856


# e070fd2a 17-Feb-2012 Richard Smith <[email protected]>

Bug fix: do not emit static const local variables with mutable members
as constants.

Refactor and simplify all the separate checks for whether a type can be
emitted as a constant.

llvm-svn: 150793


# ae819500 17-Feb-2012 Richard Smith <[email protected]>

When performing IRGen on a global, emit it as a constant if:
1) It has a const-qualified type, and
2) It has no mutable members, and
3) It has no dynamic initialization, and
4) It has trivial des

When performing IRGen on a global, emit it as a constant if:
1) It has a const-qualified type, and
2) It has no mutable members, and
3) It has no dynamic initialization, and
4) It has trivial destruction.
Remove the unnecessary requirement that the type be POD. This allows us to
mark all constexpr objects with no mutable members as 'constant'.

llvm-svn: 150792

show more ...


# a729c62b 17-Feb-2012 John McCall <[email protected]>

Whether an argument is required (in contrast with being an
optional argument passed through the variadic ellipsis)
potentially affects how we need to lower it. Propagate
this information down to the

Whether an argument is required (in contrast with being an
optional argument passed through the variadic ellipsis)
potentially affects how we need to lower it. Propagate
this information down to the various getFunctionInfo(...)
overloads on CodeGenTypes. Furthermore, rename those
overloads to clarify their distinct purposes, and make
sure we're calling the right one in the right place.
This has a nice side-effect of making it easier to construct
a function type, since the 'variadic' bit is no longer
separable.

This shouldn't really change anything for our existing
platforms, with one minor exception --- we should now call
variadic ObjC methods with the ... in the "right place"
(see the test case), which I guess matters for anyone
running GNUStep on MIPS. Mostly it's just a substantial
clean-up.

llvm-svn: 150788

show more ...


# 515a60da 16-Feb-2012 Dan Gohman <[email protected]>

Teach clang to add metadata tags to calls and invokes in ObjC with
-fno-objc-arc-exceptions. This will allow the optimizer to perform
optimizations which are only safe under that flag.

This is a par

Teach clang to add metadata tags to calls and invokes in ObjC with
-fno-objc-arc-exceptions. This will allow the optimizer to perform
optimizations which are only safe under that flag.

This is a part of rdar://10803830.

llvm-svn: 150644

show more ...


# 6331c408 13-Feb-2012 Richard Smith <[email protected]>

Deal with a horrible C++11 special case. If a non-literal type has a constexpr
constructor, and that constructor is used to initialize an object of static
storage duration such that all members and b

Deal with a horrible C++11 special case. If a non-literal type has a constexpr
constructor, and that constructor is used to initialize an object of static
storage duration such that all members and bases are initialized by constant
expressions, constant initialization is performed. In this case, the object
can still have a non-trivial destructor, and if it does, we must emit a dynamic
initializer which performs no initialization and instead simply registers that
destructor.

llvm-svn: 150419

show more ...


# ece0409a 07-Feb-2012 Chris Lattner <[email protected]>

simplify a bunch of code to use the well-known LLVM IR types computed by CodeGenModule.

llvm-svn: 149943


# 02cb1715 06-Feb-2012 Chris Lattner <[email protected]>

build wide strings with ConstantDataArray, just because we can.

llvm-svn: 149928


# 00a10cae 06-Feb-2012 Chris Lattner <[email protected]>

improve the code that handles IR generation of byte-sized string literals to avoid
allocating an std::string.

llvm-svn: 149924


# 3def9aea 06-Feb-2012 Chris Lattner <[email protected]>

use cheaper llvm APIs for various bits of IR generation.

llvm-svn: 149916


# 9c81833c 05-Feb-2012 Chris Lattner <[email protected]>

reapply the patches reverted in r149477, which enable ConstantDataArray.

llvm-svn: 149801


# 2c1dd271 05-Feb-2012 Dylan Noblesmith <[email protected]>

Basic: import SmallString<> into clang namespace

(I was going to fix the TODO about DenseMap too, but
that would break self-host right now. See PR11922.)

llvm-svn: 149799


1...<<41424344454647484950>>...75