summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Move load / store folding alignment require into the table(s).Evan Cheng2009-07-152-448/+425
| | | | llvm-svn: 75749
* Update CMake file.Ted Kremenek2009-07-151-0/+1
| | | | llvm-svn: 75746
* rename decorateName -> DecorateCygMingName, make it assert if notChris Lattner2009-07-152-13/+14
| | | | | | | cygming, make the two callers only call it if cygming. Other minor cleanups. llvm-svn: 75744
* eliminate the Mangler::PreserveAsmNames bit, the sole client of thisChris Lattner2009-07-151-5/+1
| | | | | | can do it perfectly well itself. llvm-svn: 75743
* remove printSuffixedName.Chris Lattner2009-07-151-27/+5
| | | | llvm-svn: 75742
* convert arm/darwin stubs to use the mangler to synthesize all the names ↵Chris Lattner2009-07-151-47/+66
| | | | | | | | instead of doing it with printSuffixedName. llvm-svn: 75741
* Add new TargetRegistry.Daniel Dunbar2009-07-151-0/+136
| | | | | | | | | | | | | | | | | | | | | | | Targets implement a single global Target structure which will live in a new <Target>/TargetInfo library; this will be present in any image which the target is usable in. - Optional target specific classes can then be registered and attached to the Target description. - Registration for normal Targets will be done via the initialization functions instead of using static constructors. - This allows clients to use a single interface to obtain target data, without requiring the code generator be linked in. It also provides a natural extension point for adding new optional target data (assembler parser, disassembler, etc.). - This also provides a new entry point for obtaining a target for a particular triple (without a module). - Not yet used, however this should eventually replace the TargetMachineRegistry. llvm-svn: 75739
* fix an arm codegen bug (the same as PR4482 on ppc) where available_externallyChris Lattner2009-07-152-7/+6
| | | | | | | symbols were not getting stubs. While I'm at it, add a big testcase for stub generation to make sure I don't break anything. llvm-svn: 75737
* convert [Hidden]GVNonLazyPtrs to compute the global and stub namesChris Lattner2009-07-151-27/+41
| | | | | | | with the mangler (like x86 and ppc), instead of going through printSuffixedName. llvm-svn: 75736
* use makeNameProper to add the globalprefix instead of doing it manually.Chris Lattner2009-07-151-3/+1
| | | | llvm-svn: 75734
* get the PPC stub temporary label from the mangler instead of Chris Lattner2009-07-151-29/+5
| | | | | | | using horrible string hacking. This gives us a different label, but it's just an assembler temporary, so the name doesn't matter. llvm-svn: 75733
* turn some if/then's into ?:Chris Lattner2009-07-151-12/+3
| | | | llvm-svn: 75732
* eliminate a bunch of printSuffixedName's by using info computed fromChris Lattner2009-07-151-23/+15
| | | | | | Mangler in FnStubs. llvm-svn: 75731
* convert FnStubs to using a more structured form, eliminatingChris Lattner2009-07-151-9/+31
| | | | | | | a couple instances of printSuffixedName (in favor of having the mangler do stuff). llvm-svn: 75729
* actually $stub labels *are* private, I just missed that Chris Lattner2009-07-151-6/+2
| | | | | | printSuffixedName automatically does this. llvm-svn: 75727
* Fix indentation.Dan Gohman2009-07-151-18/+18
| | | | llvm-svn: 75723
* Make makeLoopInvariant report whether it made any changes or not,Dan Gohman2009-07-154-54/+24
| | | | | | and use this to simplify more code. llvm-svn: 75722
* $stub references should not be private ("L") labels.Chris Lattner2009-07-151-4/+5
| | | | llvm-svn: 75721
* simplify "EmitExternalGlobal": it is only used to output aChris Lattner2009-07-151-6/+1
| | | | | | | | reference to the personality function for a module, and those are all added to the GVStubs array by looping over MMI->getPersonalities() llvm-svn: 75720
* Convert GVStubs and HiddenGVStubs to work more like the X86 backend, thisChris Lattner2009-07-151-56/+52
| | | | | | eliminates a bunch of uses of "printSuffixedName" and "getGlobalLinkName". llvm-svn: 75719
* minor cleanups: only switch sections once before all function stubs, instead ofChris Lattner2009-07-151-16/+15
| | | | | | before each one. llvm-svn: 75718
* Added llvm-mc support for parsing the .include directive.Kevin Enderby2009-07-141-0/+6
| | | | llvm-svn: 75711
* minor syntax cleanupChris Lattner2009-07-141-11/+5
| | | | llvm-svn: 75707
* Move EVER MORE stuff over to LLVMContext.Owen Anderson2009-07-1437-278/+264
| | | | llvm-svn: 75703
* Fix path name.Daniel Dunbar2009-07-141-1/+1
| | | | llvm-svn: 75697
* Use the right relocation type for X86::MOV64ri64i32Bruno Cardoso Lopes2009-07-141-0/+2
| | | | llvm-svn: 75687
* Fix bad indentation and 80-col violation.Bob Wilson2009-07-141-1/+2
| | | | llvm-svn: 75686
* Added llvm-mc support for parsing the .lsym directive.Kevin Enderby2009-07-141-0/+6
| | | | llvm-svn: 75685
* Check for PRE_INC and POST_INC.David Goodwin2009-07-141-1/+1
| | | | llvm-svn: 75683
* Fix the expansion of umax and smax in the case where one or more ofDan Gohman2009-07-141-6/+26
| | | | | | | | the operands have pointer type, so that the resulting type matches the original SCEV type, and so that unnecessary ptrtoints are avoided in common cases. llvm-svn: 75680
* Update CMake file.Ted Kremenek2009-07-141-0/+1
| | | | llvm-svn: 75677
* fix David's merge conflictChris Lattner2009-07-141-6/+2
| | | | llvm-svn: 75673
* reapply r75408, which eliminates MOV64r0 in favor of usingChris Lattner2009-07-143-17/+28
| | | | | | | MOV32r0 + subregs to do the same thing. This should work now that PR4544 is fixed. Thanks Evan! llvm-svn: 75671
* Have asm printers use formatted_raw_ostream directly to avoid aDavid Greene2009-07-1461-168/+200
| | | | | | dynamic_cast<>. llvm-svn: 75670
* Update CMake file.Ted Kremenek2009-07-141-0/+1
| | | | llvm-svn: 75666
* hasThumb2() does not mean we are compiling for thumb, must also check isThumb().David Goodwin2009-07-141-3/+6
| | | | llvm-svn: 75660
* Remove an extra space.Bob Wilson2009-07-141-1/+1
| | | | llvm-svn: 75658
* Introduce a pointertracking pass.Torok Edwin2009-07-141-0/+261
| | | | | | | | For now this only computes the allocated size of the memory pointed to by a pointer, and offset a pointer from allocated pointer. The actual checkLimits part will come later, after another round of review. llvm-svn: 75657
* Mark as fall through.Bill Wendling2009-07-141-0/+1
| | | | llvm-svn: 75652
* Reapply my previous asmprinter changes now with more testing and two Chris Lattner2009-07-1421-160/+157
| | | | | | | | | | | | | | | | | | | | additional bug fixes: 1. The bug that everyone hit was a problem in the asmprinter where it would remove $stub but keep the L prefix on a name when emitting the indirect symbol. This is easy to fix by keeping the name of the stub and the name of the symbol in a StringMap instead of just keeping a StringSet and trying to reconstruct it late. 2. There was a problem printing the personality function. The current logic to print out the personality function from the DWARF information is a bit of a cesspool right now that duplicates a bunch of other logic in the asm printer. The short version of it is that it depends on emitting both the L and _ prefix for symbols (at least on darwin) and until I can untangle it, it is best to switch the mangler back to emitting both prefixes. llvm-svn: 75646
* Added llvm-mc support for parsing the .desc directive.Kevin Enderby2009-07-141-0/+6
| | | | llvm-svn: 75645
* Revert 75571; I'm convinced this isn't the right thing to do.Dale Johannesen2009-07-141-17/+8
| | | | llvm-svn: 75642
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-14166-797/+797
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* Revert r7561{9,8,7,6}, which depend on r75610. Daniel Dunbar2009-07-146-23/+20
| | | | | | | | | | | | | | | | | | --- Reverse-merging r75619 into '.': U lib/Target/DarwinTargetAsmInfo.cpp U lib/CodeGen/AsmPrinter/AsmPrinter.cpp --- Reverse-merging r75618 into '.': U lib/CodeGen/ELFWriter.cpp U lib/CodeGen/MachOCodeEmitter.cpp U lib/CodeGen/MachOWriter.cpp --- Reverse-merging r75617 into '.': U lib/Target/CBackend/CBackend.cpp --- Reverse-merging r75616 into '.': U tools/bugpoint/Miscompilation.cpp U tools/lto/LTOCodeGenerator.cpp U tools/lto/LTOModule.cpp llvm-svn: 75638
* Revert r75615, which depended on 75610.Daniel Dunbar2009-07-1412-47/+55
| | | | | | | | | | | | | | | | | | --- Reverse-merging r75615 into '.': U lib/Target/XCore/XCoreAsmPrinter.cpp U lib/Target/PIC16/PIC16AsmPrinter.cpp U lib/Target/X86/AsmPrinter/X86IntelAsmPrinter.cpp U lib/Target/MSP430/MSP430AsmPrinter.cpp U lib/Target/IA64/AsmPrinter/IA64AsmPrinter.cpp U lib/Target/CellSPU/AsmPrinter/SPUAsmPrinter.cpp U lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp U lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp U lib/Target/Alpha/AsmPrinter/AlphaAsmPrinter.cpp U lib/Target/MSIL/MSILWriter.cpp U lib/Target/Sparc/AsmPrinter/SparcAsmPrinter.cpp U lib/Target/Mips/AsmPrinter/MipsAsmPrinter.cpp llvm-svn: 75637
* Revert r75610 (and r75620, which was blocking the revert), in the hopes ofDaniel Dunbar2009-07-142-81/+57
| | | | | | | | | | | | | | unbreaking llvm-gcc (on Darwin). --- Reverse-merging r75620 into '.': U include/llvm/Support/Mangler.h --- Reverse-merging r75610 into '.': U test/CodeGen/X86/loop-hoist.ll G include/llvm/Support/Mangler.h U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp U lib/VMCore/Mangler.cpp llvm-svn: 75636
* Make SCEVCallbackVH::allUsesReplacedWith more thorough in removingDan Gohman2009-07-141-4/+8
| | | | | | users from the Scalars map. llvm-svn: 75634
* Require IVUsers after LCSSA, since LCSSA does not preserve IVUsers.Dan Gohman2009-07-141-3/+3
| | | | | | | This results in the pass manager running IVUsers only once for indvars, instead of twice. llvm-svn: 75633
* Add a comment about why ScalarEvolution doesn't recognize non-loop PHIsDan Gohman2009-07-141-0/+4
| | | | | | even when they're obvious. llvm-svn: 75632
* After converting assert(0) to LLVM_UNREACHABLE we lost file/line location.Torok Edwin2009-07-141-1/+5
| | | | | | | Fix by making the LLVM_UNREACHABLE pass __FILE__ and __LINE__ to llvm_unreachable. llvm-svn: 75631
OpenPOWER on IntegriCloud