- Jul 13, 2010
-
-
Douglas Gregor authored
at -O0. The only change from the previous patch is that we don't try to generate virtual method thunks for an available_externally function. llvm-svn: 108230
-
Devang Patel authored
llvm-svn: 108220
-
Devang Patel authored
While collecting members for a class, always create delcaration entry for methods. Debug info for method definition will be generated while generating code for method body. Tested by classes.exp in gdb testsuite. llvm-svn: 108205
-
- Jul 12, 2010
-
-
Douglas Gregor authored
llvm-svn: 108194
-
Douglas Gregor authored
-O0, since we won't be using the definitions for anything anyway. For lib/System/Path.o when built in Debug+Asserts mode, this leads to a 4% improvement in compile time (and suppresses 440 function bodies). <rdar://problem/7987644> llvm-svn: 108156
-
- Jul 08, 2010
-
-
Devang Patel authored
Patch by Alexander Kabaev. PR 7595. llvm-svn: 107900
-
John McCall authored
as well. llvm-svn: 107858
-
Douglas Gregor authored
suppressing copies of objects with trivial copy constructors. llvm-svn: 107857
-
Chris Lattner authored
was not producing a memcpy with the right address spaces because of two places in it doing casts of the arguments to i8, one of which that didn't preserve the address space. There is also an optimizer bug here. llvm-svn: 107842
-
Douglas Gregor authored
breaking bootstrap on Linux. llvm-svn: 107837
-
Douglas Gregor authored
newly-narrowed scope. No functionality change. llvm-svn: 107828
-
Douglas Gregor authored
CXXConstructExpr/CXXTemporaryObjectExpr/CXXNewExpr as appropriate. Fixes PR7556, and provides a slide codegen improvement when copy-initializing a POD class type from a value-initialized temporary. Previously, we weren't eliding the copy. llvm-svn: 107827
-
- Jul 07, 2010
-
-
Chris Lattner authored
from PR7583 llvm-svn: 107788
-
Argyrios Kyrtzidis authored
llvm-svn: 107773
-
Argyrios Kyrtzidis authored
Introduce Decl::hasBody() and FunctionDecl::hasBody() and use them instead of getBody() when we are just checking the existence of a body, to avoid de-serialization of the body from PCH. Makes de-serialization of the function body even more "lazier". llvm-svn: 107768
-
John McCall authored
rethrow. Fixes rdar://problem/7696603 llvm-svn: 107757
-
John McCall authored
emit metadata associating allocas and global values with a Decl*. This feature is controlled by an option that (intentionally) cannot be enabled on the command line. To use this feature, simply set CodeGenOptions.EmitDeclMetadata = true; and then interpret the completely underspecified metadata. :) llvm-svn: 107739
-
- Jul 06, 2010
-
-
John McCall authored
into IRBuilder. llvm-svn: 107687
-
John McCall authored
block before deleting it. Fixes PR7575. This really just a short-term fix before implementing lazy cleanups. llvm-svn: 107676
-
John McCall authored
as nounwind in -fno-exceptions. Fixes rdar://problem/8090834. llvm-svn: 107639
-
John McCall authored
self-host. Hopefully these results hold up on different platforms. I tried to keep the GNU ObjC runtime happy, but it's hard for me to test. Reimplement how clang generates IR for exceptions. Instead of creating new invoke destinations which sequentially chain to the previous destination, push a more semantic representation of *why* we need the cleanup/catch/filter behavior, then collect that information into a single landing pad upon request. Also reorganizes how normal cleanups (i.e. cleanups triggered by non-exceptional control flow) are generated, since it's actually fairly closely tied in with the former. Remove the need to track which cleanup scope a block is associated with. Document a lot of previously poorly-understood (by me, at least) behavior. The new framework implements the Horrible Hack (tm), which requires every landing pad to have a catch-all so that inlining will work. Clang no longer requires the Horrible Hack just to make exceptions flow correctly within a function, however. The HH is an unfortunate requirement of LLVM's EH IR. llvm-svn: 107631
-
- Jul 05, 2010
-
-
Chris Lattner authored
coerce cases (e.g. {double,int}) which avoids fastisel bailing out at -O0. llvm-svn: 107628
-
Chris Lattner authored
alloca for an argument. Make sure the argument gets the proper decl alignment, which may be different than the type alignment. This fixes PR7567 llvm-svn: 107627
-
Chris Lattner authored
wasn't handling array padding elements right. llvm-svn: 107621
-
Chris Lattner authored
Everyone knows that no bugs are ever possible with bitfields. llvm-svn: 107620
-
- Jul 03, 2010
-
-
Charles Davis authored
ObjC pointers were easy enough (as far as the ABI is concerned, they're just pointers to structs), but I had to invent a new mangling for block pointers. This is particularly worrying with the Microsoft ABI, because it is a vendor-specific ABI; extending it could come back to bite us later when MS extends it on their own (and you know they will). llvm-svn: 107572
-
John McCall authored
point. llvm-svn: 107570
-
Charles Davis authored
llvm-svn: 107568
-
Charles Davis authored
llvm-svn: 107567
-
Charles Davis authored
llvm-svn: 107564
-
Charles Davis authored
Only actual functions get mangled correctly; I don't know how to fix it for function pointers yet. Thanks to John McCall for the hint. Also, mangle anonymous tag types. I don't have a suitable testcase yet; I have a feeling that that's going to need support for static locals, and I haven't figured out exactly how MSVC's scheme for mangling those works. llvm-svn: 107561
-
- Jul 01, 2010
-
-
Douglas Gregor authored
CXXRecordDecl::getDestructor(); no functionality change. llvm-svn: 107394
-
-
Daniel Dunbar authored
llvm-svn: 107367
-
Daniel Dunbar authored
scope hasn't been set up yet so this isn't valid. It was just a cleanup to the IR, so I'm going to ignore it for now. llvm-svn: 107356
-
- Jun 30, 2010
-
-
Daniel Dunbar authored
store make sure to move the debug metadata from the store (which is actual 'return' statement location) to the return instruction (which otherwise would have the function end location as its debug info). - Tested by gdb test suite. llvm-svn: 107322
-
Daniel Dunbar authored
llvm-svn: 107320
-
Chris Lattner authored
r107173, "fix PR7519: after thrashing around and remembering how all this stuff" r107216, "fix PR7523, which was caused by the ABI code calling ConvertType instead" This includes a fix to make ConvertTypeForMem handle the "recursive" case, and call it as such when lowering function types which have an indirect result. llvm-svn: 107310
-
Fariborz Jahanian authored
in method/blocks to decide not to mangle them. llvm-svn: 107309
-
Fariborz Jahanian authored
should not be mangled either. Fixes radar 8016412. llvm-svn: 107303
-