- Jan 19, 2010
-
-
Chris Lattner authored
.zerofill directive. Streamerize its generation. llvm-svn: 93868
-
Devang Patel authored
MDNodes are not expected to disappear or replaced by another MDNode, so there is no need to pay the cost of WeakVH and ValueMaps. llvm-svn: 93865
-
Devang Patel authored
llvm-svn: 93864
-
Chris Lattner authored
llvm-svn: 93863
-
Chris Lattner authored
llvm-svn: 93860
-
Chris Lattner authored
llvm-svn: 93859
-
Chris Lattner authored
doing global variable classification anymore) and hookized, sink almost all target targets global variable emission code into AsmPrinter and out of each target. Some notes: 1. PIC16 does completely custom and crazy stuff, so it is not changed. 2. XCore has some custom handling for extra directives. I'll look at it next. 3. This switches linux/ppc to use .globl instead of .global. If .globl is actually wrong, let me know and I'll fix it. 4. This makes linux/ppc get a lot of random cases right which were obviously wrong before, it is probably now a bit healthier. 5. Blackfin will probably start getting .comm and other things that it didn't before. If this is undesirable, it should explicitly opt out of these things by clearing the relevant fields of MCAsmInfo. This leads to a nice diffstat: 14 files changed, 127 insertions(+), 830 deletions(-) llvm-svn: 93858
-
Chris Lattner authored
llvm-svn: 93857
-
Chris Lattner authored
just like all other elf targets. Bruno, if this isn't right, please let me know + why :) llvm-svn: 93856
-
Chris Lattner authored
llvm-svn: 93855
-
Chris Lattner authored
I'm not sure that this is correct, but it causes no test failures, and just emitting a .comm without protecting its linkage somehow is surely not right. llvm-svn: 93854
-
Chris Lattner authored
llvm-svn: 93853
-
Chris Lattner authored
llvm-svn: 93852
-
Chris Lattner authored
This makes a similar code dead in all the other targets, I'll clean it up in a bit. This also moves handling of lcomm up before acquisition of a section, since lcomm never needs a section. llvm-svn: 93851
-
Chris Lattner authored
darwin into common code. llvm-svn: 93849
-
Bob Wilson authored
are the same. I had already fixed a similar problem where the source and destination were different bitcasts derived from the same alloca, but the previous fix still did not handle the case where both operands are exactly the same value. Radar 7552893. llvm-svn: 93848
-
Chris Lattner authored
duplicating the logic (differently) in lots of different targets. llvm-svn: 93847
-
Chris Lattner authored
and everything else (weak). llvm-svn: 93846
-
Chris Lattner authored
llvm-svn: 93845
-
Chris Lattner authored
GCC would put weak zero initialized mutable data in the .bss section, we would put it into a crasy '.gnu.linkonce.b.test,"aw",@nobits' section. Fixing this will allow simplifications next up. llvm-svn: 93844
-
Chris Lattner authored
simplify and commonize some of the asmprinter logic for globals. This also avoids printing the MCSection for .zerofill, which broke the llvm-gcc build. llvm-svn: 93843
-
Bill Wendling authored
llvm-svn: 93841
-
Chris Lattner authored
llvm-svn: 93839
-
Chris Lattner authored
1. TargetLoweringObjectFileMachO should decide if something goes in zerofill instead of having every target do it. 2. TargetLoweringObjectFileMachO should assign said symbols to the right MCSection, the asmprinters should just emit to the right section. 3. Since all zerofill stuff goes through mcstreamer anymore, MAI can have a bool "haszerofill" instead of having the textual directive to emit. llvm-svn: 93838
-
Nate Begeman authored
llvm-svn: 93835
-
Devang Patel authored
llvm-svn: 93832
-
Eric Christopher authored
llvm-svn: 93831
-
Evan Cheng authored
Fix r93758. Use isel patterns instead of c++ selection code to select rbit and make sure we pick different instructions for ARM vs. Thumb2. llvm-svn: 93829
-
Dale Johannesen authored
llvm-svn: 93818
-
Dale Johannesen authored
comments (fast isel, X86). This doesn't seem to break any functionality, but will introduce cases where -g affects the generated code. I'll be fixing that. llvm-svn: 93811
-
- Jan 18, 2010
-
-
Victor Hernandez authored
Add comment that MDNode::getFunction() is not to be used by performance-critical code (currently only used by AsmWriter) llvm-svn: 93802
-
Eli Friedman authored
llvm-svn: 93797
-
Bill Wendling authored
- Greatly improve the comments to the getLSDAEncoding method. llvm-svn: 93796
-
Chris Lattner authored
aggressive changed the canonical form from sext(trunc(x)) to ashr(lshr(x)), make sure to transform a couple more things into that canonical form, and catch a case where we missed turning zext/shl/ashr into a single sext. llvm-svn: 93787
-
Eric Christopher authored
llvm-svn: 93781
-
Jim Grosbach authored
printing via <<. Otherwise we just print the pointer value. llvm-svn: 93777
-
Evan Cheng authored
Instcombine does this but apparently there are situations where this pattern will escape the optimizer and / or created by isel. Here is a case that's seen in JavaScriptCore: %t1 = sub i32 0, %a %t2 = add i32 %t1, -1 The dag combiner pattern: ((c1-A)+c2) -> (c1+c2)-A will fold it to -1 - %a. llvm-svn: 93773
-
Victor Hernandez authored
llvm-svn: 93764
-
Victor Hernandez authored
Simplify MDNode::getFunction() and assertLocalFunction() by avoiding extra Function* variable and smallptrset since function-local metadata cannot be cyclic llvm-svn: 93762
-
Johnny Chen authored
the various MOV (register) instructions (16-bit Thumb), including tBRIND (the indirect branch). Instead of '1', it should be specified as '?', because GPR only specifies the register class, which includes both hi-and-lo registers. llvm-svn: 93759
-