aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Provide TargetMachine implementations with reference to Target they were createdDaniel Dunbar2009-07-1529-72/+110
| | | | | | | | | from. - This commit is almost entirely propogating the reference through the TargetMachine subclasses' constructor calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75778 91177308-0d34-0410-b5e6-96231b3b80d8
* String constants are now output with private linkage.Duncan Sands2009-07-152-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75777 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak svn:ignoreDaniel Dunbar2009-07-150-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75775 91177308-0d34-0410-b5e6-96231b3b80d8
* Kill off unused TargetMachineRegistry methods and ivars.Daniel Dunbar2009-07-153-78/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75774 91177308-0d34-0410-b5e6-96231b3b80d8
* Migrate llc and the JIT to using the TargetRegistry for lookups.Daniel Dunbar2009-07-153-15/+25
| | | | | | | | | | | | | - They still use the TargetMachineRegistry to populate the contents of the -march option (via the listener interface). We can't just populate it in the option parser because we can't expect the TargetRegistry to be populated yet (we no longer rely on static constructors). - There are a couple ways to finish killing off TargetMachineRegistry, but I haven't figured out the cleanest one yet... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75773 91177308-0d34-0410-b5e6-96231b3b80d8
* Include the Target& in the TargetMachineRegisterEntry.Daniel Dunbar2009-07-152-6/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75772 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow multiple registrations of the same target.Daniel Dunbar2009-07-152-8/+7
| | | | | | | | - This doesn't necessarily seem like a good idea, but the JIT unittest currently relies on it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75769 91177308-0d34-0410-b5e6-96231b3b80d8
* Initialize the target info via the InitializeNativeTarget() hook.Daniel Dunbar2009-07-151-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75768 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch some obvious clients to using the new TargetRegistry.Daniel Dunbar2009-07-153-16/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75767 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement TargetMachineRegistry in terms of TargetRegistry.Daniel Dunbar2009-07-152-41/+16
| | | | | | | | | | - This is a temporary hack to aid in incremental refactoring, for now we allocate a new TargetMachineRegistryEntry on every getClosest... call. - No intended functionality change, other than the leaked memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75766 91177308-0d34-0410-b5e6-96231b3b80d8
* Mark Target's creation routines as const.Daniel Dunbar2009-07-151-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75763 91177308-0d34-0410-b5e6-96231b3b80d8
* Register Target's TargetMachine and AsmPrinter in the new registry.Daniel Dunbar2009-07-1537-59/+134
| | | | | | | | - This abuses TargetMachineRegistry's constructor for now, this will get cleaned up in time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75762 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix thinkoDaniel Dunbar2009-07-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75760 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak svn:ignoreDaniel Dunbar2009-07-150-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75759 91177308-0d34-0410-b5e6-96231b3b80d8
* Detect write failures on raw_fd_ostream.Daniel Dunbar2009-07-151-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75758 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak CMake component lookup, I misunderstood what was happening here.though. :(Daniel Dunbar2009-07-151-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75757 91177308-0d34-0410-b5e6-96231b3b80d8
* Include Target specific Info initialization routine when initializing allDaniel Dunbar2009-07-151-2/+10
| | | | | | | targets. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75756 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach Makefiles & CMake to link in the <TARGET>Info library when linking theDaniel Dunbar2009-07-152-1/+21
| | | | | | | | | TARGET component. - Also, updated some CMake library dependencies, it is still missing some though. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75755 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix stupid thinkoDaniel Dunbar2009-07-151-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75754 91177308-0d34-0410-b5e6-96231b3b80d8
* Address some review comments on TargetRegistry.Daniel Dunbar2009-07-152-5/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75753 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TargetInfo directories to CMake's list.Daniel Dunbar2009-07-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75752 91177308-0d34-0410-b5e6-96231b3b80d8
* Add TargetInfo libraries for all targets.Daniel Dunbar2009-07-1556-8/+1173
| | | | | | | | | - Intended to match current TargetMachine implementations. - No facilities for linking these in yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75751 91177308-0d34-0410-b5e6-96231b3b80d8
* Move load / store folding alignment require into the table(s).Evan Cheng2009-07-152-448/+425
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75749 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake file.Ted Kremenek2009-07-151-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75746 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75744 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the Mangler::PreserveAsmNames bit, the sole client of thisChris Lattner2009-07-153-18/+11
| | | | | | | can do it perfectly well itself. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75743 91177308-0d34-0410-b5e6-96231b3b80d8
* remove printSuffixedName.Chris Lattner2009-07-152-34/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75742 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75741 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new TargetRegistry.Daniel Dunbar2009-07-152-0/+315
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75739 91177308-0d34-0410-b5e6-96231b3b80d8
* fix an arm codegen bug (the same as PR4482 on ppc) where available_externallyChris Lattner2009-07-153-7/+73
| | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75737 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75736 91177308-0d34-0410-b5e6-96231b3b80d8
* use makeNameProper to add the globalprefix instead of doing it manually.Chris Lattner2009-07-151-3/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75734 91177308-0d34-0410-b5e6-96231b3b80d8
* get the PPC stub temporary label from the mangler instead of Chris Lattner2009-07-152-33/+9
| | | | | | | | using horrible string hacking. This gives us a different label, but it's just an assembler temporary, so the name doesn't matter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75733 91177308-0d34-0410-b5e6-96231b3b80d8
* turn some if/then's into ?:Chris Lattner2009-07-151-12/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75732 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate a bunch of printSuffixedName's by using info computed fromChris Lattner2009-07-151-23/+15
| | | | | | | Mangler in FnStubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75731 91177308-0d34-0410-b5e6-96231b3b80d8
* 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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75729 91177308-0d34-0410-b5e6-96231b3b80d8
* actually $stub labels *are* private, I just missed that Chris Lattner2009-07-151-6/+2
| | | | | | | printSuffixedName automatically does this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75727 91177308-0d34-0410-b5e6-96231b3b80d8
* convert this to filecheck style and make it a test of darwin/PPC's Chris Lattner2009-07-151-1/+57
| | | | | | | extremely elaborate pic/nopic stubs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75726 91177308-0d34-0410-b5e6-96231b3b80d8
* simplify this test to test the esentials.Chris Lattner2009-07-151-57/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75725 91177308-0d34-0410-b5e6-96231b3b80d8
* test commit; add selfRyan Flynn2009-07-151-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75724 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix indentation.Dan Gohman2009-07-151-18/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75723 91177308-0d34-0410-b5e6-96231b3b80d8
* Make makeLoopInvariant report whether it made any changes or not,Dan Gohman2009-07-155-56/+28
| | | | | | | and use this to simplify more code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75722 91177308-0d34-0410-b5e6-96231b3b80d8
* $stub references should not be private ("L") labels.Chris Lattner2009-07-151-4/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75721 91177308-0d34-0410-b5e6-96231b3b80d8
* 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() git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75720 91177308-0d34-0410-b5e6-96231b3b80d8
* 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". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75719 91177308-0d34-0410-b5e6-96231b3b80d8
* minor cleanups: only switch sections once before all function stubs, instead ofChris Lattner2009-07-151-16/+15
| | | | | | | before each one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75718 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-c/Core.h is no longer needed in lto.h, and it brings inDan Gohman2009-07-151-1/+0
| | | | | | | several unwanted dependencies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75717 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a fixme, patch by Ryan Flynn!Chris Lattner2009-07-151-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75716 91177308-0d34-0410-b5e6-96231b3b80d8
* control reaches end of non-void function.Evan Cheng2009-07-141-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75714 91177308-0d34-0410-b5e6-96231b3b80d8
* Added llvm-mc support for parsing the .include directive.Kevin Enderby2009-07-145-0/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75711 91177308-0d34-0410-b5e6-96231b3b80d8