summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* use %object like other elf targets, gas accepts either.Chris Lattner2010-01-191-1/+1
| | | | llvm-svn: 93857
* simplify the mips target to print .size and .type for c strings Chris Lattner2010-01-191-6/+2
| | | | | | | just like all other elf targets. Bruno, if this isn't right, please let me know + why :) llvm-svn: 93856
* hookize the cygwin ".linkonce" directive.Chris Lattner2010-01-193-6/+13
| | | | llvm-svn: 93855
* more cleanups. Emit the .local directive even on cygwin/mingw.Chris Lattner2010-01-191-6/+3
| | | | | | | | 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
* some cleanupsChris Lattner2010-01-192-20/+21
| | | | llvm-svn: 93853
* add a bool for whether .lcomm takes an alignment instead of basing this on ↵Chris Lattner2010-01-195-11/+14
| | | | | | "isdarwin". llvm-svn: 93852
* hoist handling of external globals and special globals up to common code.Chris Lattner2010-01-194-74/+59
| | | | | | | | | | 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
* move production of .reference directives for static ctor/dtor list onChris Lattner2010-01-196-27/+13
| | | | | | darwin into common code. llvm-svn: 93849
* Fix a crash in scalarrepl for memcpy/memmove where the source and destinationBob Wilson2010-01-191-6/+10
| | | | | | | | | 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
* use BSSLocal classifier to identify 'lcomm' data instead ofChris Lattner2010-01-193-66/+41
| | | | | | duplicating the logic (differently) in lots of different targets. llvm-svn: 93847
* make TLOF subclassify BSS based on linkage type into private, externalChris Lattner2010-01-191-2/+7
| | | | | | and everything else (weak). llvm-svn: 93846
* now that elf weak bss symbols are handled correctly, simplify a bunch of code.Chris Lattner2010-01-193-89/+18
| | | | llvm-svn: 93845
* fix a significant difference between llvm and gcc on ELF systems:Chris Lattner2010-01-192-3/+5
| | | | | | | | 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
* introduce a section kind for common linkage. Use this to slightlyChris Lattner2010-01-195-24/+99
| | | | | | | | | 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
* Even more explanation.Bill Wendling2010-01-192-0/+24
| | | | llvm-svn: 93841
* change an accessor to a predicate.Chris Lattner2010-01-193-6/+6
| | | | llvm-svn: 93839
* Cleanup handling of .zerofill on darwin:Chris Lattner2010-01-196-145/+164
| | | | | | | | | | | | | 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
* Remove this fixme, looking at the linker source, all targets pad to 4 bytes.Nate Begeman2010-01-191-2/+0
| | | | llvm-svn: 93835
* Revert accident check-in from r93165.Devang Patel2010-01-191-8/+6
| | | | llvm-svn: 93832
* Fix comment.Eric Christopher2010-01-191-1/+1
| | | | llvm-svn: 93831
* Fix r93758. Use isel patterns instead of c++ selection code to select rbit ↵Evan Cheng2010-01-193-8/+7
| | | | | | and make sure we pick different instructions for ARM vs. Thumb2. llvm-svn: 93829
* Revert 93811 per request.Dale Johannesen2010-01-192-13/+0
| | | | llvm-svn: 93818
* Enable code to emit dbg.declare as DEBUG_VALUEDale Johannesen2010-01-182-0/+13
| | | | | | | | | 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
* Add comment that MDNode::getFunction() is not to be used by ↵Victor Hernandez2010-01-181-1/+2
| | | | | | performance-critical code (currently only used by AsmWriter) llvm-svn: 93802
* Add some potentially interesting transformations to README.Eli Friedman2010-01-181-0/+51
| | | | llvm-svn: 93797
* - Add getLSDAEncoding to the PowerPC backend.Bill Wendling2010-01-184-2/+46
| | | | | | - Greatly improve the comments to the getLSDAEncoding method. llvm-svn: 93796
* my instcombine transformations to make extension elimination moreChris Lattner2010-01-182-5/+32
| | | | | | | | 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
* Have FastISel handle llvm.trap().Eric Christopher2010-01-181-0/+4
| | | | llvm-svn: 93781
* Minor cleanup for jump table printing. Need a reference, not a pointer, forJim Grosbach2010-01-181-1/+1
| | | | | | printing via <<. Otherwise we just print the pointer value. llvm-svn: 93777
* Canonicalize -1 - x to ~x.Evan Cheng2010-01-181-0/+3
| | | | | | | | | | 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
* Make findDbgDeclare/findDbgGlobalDeclare local static functions; avoid Elts ↵Victor Hernandez2010-01-181-6/+7
| | | | | | array llvm-svn: 93764
* Simplify MDNode::getFunction() and assertLocalFunction() by avoiding extra ↵Victor Hernandez2010-01-181-46/+39
| | | | | | Function* variable and smallptrset since function-local metadata cannot be cyclic llvm-svn: 93762
* The most significant encoding bit of GPR:$src or GPR:$dst was over-specified inJohnny Chen2010-01-181-5/+5
| | | | | | | | 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
* Patch by David Conrad:Jim Grosbach2010-01-185-1/+34
| | | | | | | "On ARMv6T2 this turns cttz into rbit, clz instead of the 4 instruction sequence it is now." llvm-svn: 93758
* While mapping llvm.dbg.declare intrinsic manually map its operand, if possible,Devang Patel2010-01-181-0/+18
| | | | | | because it points to an alloca instruction through metadata. llvm-svn: 93757
* reject some invalid IR. We already assert and reject this from theChris Lattner2010-01-181-0/+2
| | | | | | .ll parser, but PR6070 wants it in the verifier too. llvm-svn: 93756
* Add FIXME comment.Bill Wendling2010-01-181-0/+3
| | | | llvm-svn: 93755
* - Add a comment to the callback indicating that it's *extremely* not a goodBill Wendling2010-01-182-3/+3
| | | | | | | | idea, but unfortunately necessary. - Default to using 4-bytes for the LSDA pointer encoding to agree with the encoded value in the CIE. llvm-svn: 93753
* Make printing of metadata more robust when function is not found (which is ↵Victor Hernandez2010-01-181-1/+1
| | | | | | the normal situation for non function-local metadata) llvm-svn: 93748
* Fix refacto reported by Nicolas Geoffray.Benjamin Kramer2010-01-181-3/+1
| | | | llvm-svn: 93723
* Emit spaces after commas in Neon register lists. This is more consistentBob Wilson2010-01-181-30/+33
| | | | | | | with the rest of the assembly output, is easier to read, and matches the expected output for gcc's Neon tests. llvm-svn: 93703
* switch x86 zerofill emission over to use MCStreamer.Chris Lattner2010-01-181-3/+12
| | | | llvm-svn: 93702
* Change CurrentFnSym to be a non-const pointer since asmprinter mutates it Chris Lattner2010-01-183-16/+16
| | | | | | | as it emits code. Switch .globl directives to use OutStreamer instead of doing it textually (in x86) llvm-svn: 93700
* remove the MAI argument to MCExpr::print and switch overthing to use << when ↵Chris Lattner2010-01-188-38/+22
| | | | | | printing them. llvm-svn: 93699
* unbreak x86 jump tables with my previous patch.Chris Lattner2010-01-181-1/+1
| | | | llvm-svn: 93698
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-1719-865/+371
| | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. llvm-svn: 93695
* rename NameNeedsEscaping -> NameNeedsQuoting, eliminate the checkChris Lattner2010-01-171-9/+4
| | | | | | | for first character which is a digit, mangler would have taken care of this already. llvm-svn: 93694
* Convert some of the dynamic opcode lookups into static ones.Owen Anderson2010-01-171-59/+40
| | | | llvm-svn: 93693
* stop the CBE from using Mangler::appendMangledName, which is a private ↵Chris Lattner2010-01-172-8/+17
| | | | | | function, it is mangling types, which don't matter how they are done. llvm-svn: 93692
* Get MCSymbol out of the mangling business, and move all the logicChris Lattner2010-01-174-76/+106
| | | | | | | | | | | to Mangler. Now MCSymbol just decides whether to slap quotes around a symbol when printing it. This also fixes some weirdness where two MCSymbols could be created for the same symbol, if one needed to be mangled and got mangled to the other one. llvm-svn: 93690
OpenPOWER on IntegriCloud