Misha Brukman
e3fa53ee4d
* Add a BoolAlignment field to TargetData, default is 1 byte
...
* Fix spacing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15119 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 01:08:13 +00:00
Chris Lattner
2845ece825
Add a new listener class for things that want to be informed about new
...
targets that are loaded
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14758 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 06:02:59 +00:00
Chris Lattner
635ffcdf58
Delete the allocate*TargetMachine functions. Move options to a header file
...
that makes sense.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14754 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 04:15:52 +00:00
Chris Lattner
cbc74123d8
Add a new TargetNameParser class, which is useful for parsing options.
...
Add two methods which are useful for autoselecting targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14748 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 03:59:46 +00:00
Chris Lattner
9f27ede92d
First cut at TargetMachineRegistry and RegisterTarget classes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14742 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 02:43:43 +00:00
Chris Lattner
a51e273a76
Add two new "virtual static" methods to the TargetMachine class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14741 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-11 02:43:07 +00:00
Misha Brukman
992dce13ec
* Doxygenify comments
...
* Tabs-to-spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14549 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-01 20:42:00 +00:00
Misha Brukman
66d6ee4247
Spell out `NoFramePointerElim' for readability.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14299 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 21:17:44 +00:00
Misha Brukman
b41dabd8ad
Make a single `NoFPElim' switch available to all targets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14296 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-21 21:07:51 +00:00
Brian Gaeke
694ffc0850
I'm afraid this doesn't exist.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14193 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-16 00:26:45 +00:00
Misha Brukman
6e404b897b
Fix grammar: 's is for possessive only.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-11 16:50:21 +00:00
Chris Lattner
c07c0df634
Add documentation to the TargetFrameInfo class, contributed by Vladimir Prus
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14060 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-08 06:23:17 +00:00
Chris Lattner
4f02562ec1
Fix a nasty bug that caused areAliases to always return false.
...
Bug fix courtesy of Anshu Dasgupta
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14011 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-04 17:03:11 +00:00
Brian Gaeke
498231bc60
Collapse together the abstract superclass TargetRegInfo and SparcV9RegInfo, its
...
only concrete implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13977 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-03 02:45:09 +00:00
Chris Lattner
36c2a05935
Delete the V9 specific findOptimalStorageSize method, inlining it into all callers.
...
Substantially clean up all target implementations by having the OPTIONAL get*Info
methods return a pointer instead of a reference. This allows us to have default
implementations!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13950 91177308-0d34-0410-b5e6-96231b3b80d8
2004-06-02 05:53:25 +00:00
Tanya Lattner
e5abfd2c05
Changed CPUResource to allow access to max num users for a resource.
...
Also added ModuloScheduling as a friend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13426 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-08 16:13:26 +00:00
Tanya Lattner
d11297f2ee
Sorry, now friend class name should be right!!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13294 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:48:37 +00:00
Tanya Lattner
c9bdf09192
Fixed friend class name for ModuloScheduling.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13293 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:47:59 +00:00
Tanya Lattner
32c182a0a8
Fixed friend class name for ModuloSched
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13292 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:46:40 +00:00
Tanya Lattner
0e1c48b209
Removing MachineResource class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13291 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-30 20:40:38 +00:00
Brian Gaeke
a7e405c95d
Merged this file into the SparcV9 target.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13128 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-23 18:17:03 +00:00
Brian Gaeke
325297142c
Add a copy constructor for TargetData.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12948 91177308-0d34-0410-b5e6-96231b3b80d8
2004-04-14 17:45:48 +00:00
Alkis Evlogimenos
a1a7148c4d
Another API change to MRegisterInfo::foldMemoryOperand. Instead of a
...
MachineBasicBlock::iterator take a MachineInstr*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12392 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 20:14:27 +00:00
Alkis Evlogimenos
39354c99a1
Change MRegisterInfo::foldMemoryOperand to return the folded
...
instruction to make the API more flexible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12386 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-14 07:19:51 +00:00
Misha Brukman
242e94ab26
Move function implementations to a .cpp file, avoid #including <cstdlib> here.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12296 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-11 23:52:03 +00:00
Brian Gaeke
323819e4e1
make -print-machineinstrs work for both SparcV9 and X86
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12122 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04 19:16:23 +00:00
Chris Lattner
2bed9ecc4b
Add a new constructor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12087 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-03 02:12:47 +00:00
Brian Gaeke
05b15fb075
TargetCacheInfo has been removed; its only uses were to propagate a constant
...
(16) into certain areas of the SPARC V9 back-end. I'm fairly sure the US IIIi's
dcache has 32-byte lines, so I'm not sure where the 16 came from. However, in
the interest of not breaking things any more than they already are, I'm going
to leave the constant alone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12043 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-01 06:43:29 +00:00
Brian Gaeke
6ac5300fbc
Remove dead member variables of SparcV9SchedInfo and TargetSchedInfo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11994 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 08:40:03 +00:00
Chris Lattner
bceb68807f
Eliminate the distinction between "real" and "unreal" instructions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11986 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 06:31:16 +00:00
Chris Lattner
450b6d2998
Scrap a huge layer of cruft out of this interface.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11980 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-29 05:57:21 +00:00
Chris Lattner
3da5117334
Add hook for V8 target
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11961 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-28 19:54:16 +00:00
Alkis Evlogimenos
71e353ed35
Uncomment assertions that register# != 0 on calls to
...
MRegisterInfo::is{Physical,Virtual}Register. Apply appropriate fixes
to relevant files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11882 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 22:00:20 +00:00
Chris Lattner
c814937115
Make TargetData no longer use annotations!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11874 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-26 08:01:57 +00:00
Alkis Evlogimenos
4c50715e9e
Temporarily comment out asserts as they break things. I will uncomment
...
them when all the problem areas are fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11855 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 23:56:36 +00:00
Alkis Evlogimenos
332d5d0a68
Duh, forgot to close the parenthesis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11843 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 22:07:14 +00:00
Alkis Evlogimenos
338ce3d64e
Add assert to isPhysicalRegister and isVirtualRegister to fail when
...
passed the special 'register' 0.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11842 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 22:04:28 +00:00
Alkis Evlogimenos
4d0d864be3
Add DenseMap template and actually use it for for mapping virtual regs
...
to objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11840 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 21:55:45 +00:00
Brian Gaeke
150666fd82
Great renaming part II: Sparc --> SparcV9 (also includes command-line options and Makefiles)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11827 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-25 19:08:12 +00:00
Alkis Evlogimenos
04319bb2bd
This is needed by assignment verification in linear-scan.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11618 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-19 01:10:55 +00:00
Chris Lattner
8026a6982e
Simplify and document the new interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11524 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-17 05:54:26 +00:00
Alkis Evlogimenos
b499866c05
Add API to check and fold memory operands into instructions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11519 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-17 04:33:18 +00:00
Chris Lattner
8604e75721
The prologue/epilogue related method calls have no reason to return a value,
...
make them return void.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11447 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-14 19:49:05 +00:00
Chris Lattner
8ff9a8639a
Make sure to provide a prototype for the cbackend
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11419 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 23:36:03 +00:00
Alkis Evlogimenos
be766c7246
Remove getAllocatedRegNum(). Use getReg() instead.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11393 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-13 21:01:20 +00:00
Alkis Evlogimenos
ab8672c8bb
Add parent pointer to MachineInstr that points to owning
...
MachineBasicBlock. Also change opcode to a short and numImplicitRefs
to an unsigned char so that overall MachineInstr's size stays the
same.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11357 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 18:49:07 +00:00
Alkis Evlogimenos
024126ee23
Change interface so that we can add to the end of a basic block
...
without getting an assertion from ilist that we are dereferencing
ilist<T>::end().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11345 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 08:11:04 +00:00
Alkis Evlogimenos
c0b9dc5be7
Change MachineBasicBlock's vector of MachineInstr pointers into an
...
ilist of MachineInstr objects. This allows constant time removal and
insertion of MachineInstr instances from anywhere in each
MachineBasicBlock. It also allows for constant time splicing of
MachineInstrs into or out of MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11340 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-12 02:27:10 +00:00
Brian Gaeke
e28adaa633
Fix typos in comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11333 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-11 19:47:43 +00:00
Brian Gaeke
2d62c896a5
Add prototype for llvm::allocatePowerPCTargetMachine().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11072 91177308-0d34-0410-b5e6-96231b3b80d8
2004-02-02 19:05:08 +00:00