- Nov 05, 2007
-
-
Evan Cheng authored
llvm-svn: 43698
-
Bruno Cardoso Lopes authored
Removed all macro code for PIC (goodbye "la"). Support tested with shootout bench. llvm-svn: 43697
-
Gordon Henriksen authored
-emitbitcode option and the addition of -preverify. llvm-svn: 43696
-
Chris Lattner authored
llvm-svn: 43695
-
Gordon Henriksen authored
llvm-svn: 43694
-
Evan Cheng authored
llvm-svn: 43693
-
Evan Cheng authored
llvm-svn: 43692
-
Duncan Sands authored
that there is no padding. llvm-svn: 43691
-
Steve Naroff authored
Remove HandleObjcMetaDataEmission(), I inadvertantly resurrected it. llvm-svn: 43690
-
Chris Lattner authored
llvm-svn: 43689
-
Duncan Sands authored
should only effect x86 when using long double. Now 12/16 bytes are output for long double globals (the exact amount depends on the alignment). This brings globals in line with the rest of LLVM: the space reserved for an object is now always the ABI size. One tricky point is that only 10 bytes should be output for long double if it is a field in a packed struct, which is the reason for the additional argument to EmitGlobalConstant. llvm-svn: 43688
-
- Nov 04, 2007
-
-
Steve Naroff authored
Two additions... - Synthesize the funky cast for objc_msgSend(). For the basic case, it looks like... ((id (*)(id, SEL))(void *)objc_msgSend)(obj, sel); The "void *" cast is needed to workaround a GCC "bandaid" (Chris says it has something to do with the inliner). Without the extra "void *" cast, we get spurious warnings/notes that look like... xx.m:17: warning: function called through a non-compatible type xx.m:17: note: if this code is reached, the program will abort - Add prototypes for the ObjC functions we call, objc_msgSend/objc_getClass for now (don't depend on them being included). llvm-svn: 43685
-
Owen Anderson authored
llvm-svn: 43684
-
Gordon Henriksen authored
llvm-svn: 43683
-
Chris Lattner authored
llvm-svn: 43682
-
Chris Lattner authored
Evan, please review this. llvm-svn: 43680
-
Gordon Henriksen authored
llvm-svn: 43679
-
Gordon Henriksen authored
llvm-svn: 43678
-
Gordon Henriksen authored
removed. This document could still stand for significant improvement: * Editing the pass descriptions; most were lifted with minimal editing from comments. Although implementation details were elided, many of the were not written for the audience that would be interested in this document. * More "before and after" examples. * More implicit dependency details. (Perhaps listing transforms in -std-compile-opts order would help alleviate this.) * Adding documentation for how to invoke passes programmatically. * Rearranging the document into a more logical taxonomy. For instance, putting profiling passes together. llvm-svn: 43677
-
Nick Lewycky authored
llvm-svn: 43676
-
Gordon Henriksen authored
llvm-svn: 43675
-
Gordon Henriksen authored
Also cleaned up some comments in source files. llvm-svn: 43674
-
Gordon Henriksen authored
llvm-svn: 43673
-
Duncan Sands authored
or getTypeSizeInBits as appropriate in ScalarReplAggregates. The right change to make was not always obvious, so it would be good to have an sroa guru review this. While there I noticed some bugs, and fixed them: (1) arrays of x86 long double have holes due to alignment padding, but this wasn't being spotted by HasStructPadding (renamed to HasPadding). The same goes for arrays of oddly sized ints. Vectors also suffer from this, in fact the problem for vectors is much worse because basic vector assumptions seem to be broken by vectors of type with alignment padding. I didn't try to fix any of these vector problems. (2) The code for extracting smaller integers from larger ones (in the "int union" case) was wrong on big-endian machines for integers with size not a multiple of 8, like i1. Probably this is impossible to hit via llvm-gcc, but I fixed it anyway while there and added a testcase. I also got rid of some trailing whitespace and changed a function name which had an obvious typo in it. llvm-svn: 43672
-
Evan Cheng authored
If an interval is being undone clear its preference as well since the source interval may have been undone as well. llvm-svn: 43670
-
Chris Lattner authored
regs on x86-64. llvm-svn: 43669
-
Chris Lattner authored
metric is way off for these in general, and this works around buggy code like that in PR1764. we'll see if there is a big performance impact of this. If so, I'll revert it tomorrow. llvm-svn: 43668
-
- Nov 03, 2007
-
-
Chris Lattner authored
llvm-svn: 43667
-
Steve Naroff authored
Add a method prototype slot/getter to the ObjCMessageExpr AST. llvm-svn: 43666
-
Steve Naroff authored
Implement rewrite rules for ObjC string constants. llvm-svn: 43665
-
Chris Lattner authored
llvm-svn: 43663
-
Evan Cheng authored
can be eliminated by the allocator is the destination and source targets the same register. The most common case is when the source and destination registers are in different class. For example, on x86 mov32to32_ targets GR32_ which contains a subset of the registers in GR32. The allocator can do 2 things: 1. Set the preferred allocation for the destination of a copy to that of its source. 2. After allocation is done, change the allocation of a copy destination (if legal) so the copy can be eliminated. This eliminates 443 extra moves from 403.gcc. llvm-svn: 43662
-
Chris Lattner authored
ASTConsumer to process the AST before it is destroyed. This allows elimination of HandleObjcMetaDataEmission. llvm-svn: 43659
-
Fariborz Jahanian authored
My previous patch did the same for @catch AST. llvm-svn: 43654
-
Fariborz Jahanian authored
llvm-svn: 43653
-
- Nov 02, 2007
-
-
Dan Gohman authored
llvm-svn: 43652
-
Dan Gohman authored
llvm-svn: 43651
-
Fariborz Jahanian authored
llvm-svn: 43649
-
Ted Kremenek authored
key functions to implement. llvm-svn: 43648
-
Ted Kremenek authored
the target pointer to be passed by reference. This can result in less typing, as the object to be deserialized can be inferred from the argument. llvm-svn: 43647
-