Commit Graph

1467 Commits

Author SHA1 Message Date
Chris Lattner
160cf48671 Lots of changes to make the NodeType field private to DSNode.
Add new MultiObject flag


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 21:14:22 +00:00
Chris Lattner
936f771e25 Update comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6785 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-19 17:03:00 +00:00
Chris Lattner
893f025262 Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6774 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-18 19:22:36 +00:00
Chris Lattner
697a00fbf0 * Add new CallSite::get factory method
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6758 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 22:16:59 +00:00
Chris Lattner
a599f871af Add new op_erase method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6757 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 22:15:55 +00:00
Chris Lattner
57ec659810 Make sure accessor is properly doxygenized. It wants two lines
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:51 +00:00
Chris Lattner
95ab3d4bc4 Add accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6755 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 21:44:31 +00:00
Chris Lattner
ad110d2bb4 Make CallSite's default constructable, copyable, and assignable (explicitly)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6749 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 19:50:28 +00:00
Brian Gaeke
a9f6e4ae0e Regularize the names of #include-guards.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6732 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 00:35:55 +00:00
Brian Gaeke
ad95d9ef50 Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",
so that we can easily change its use to be conditional on the result of
an autoconf test later.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6723 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 21:54:01 +00:00
Brian Gaeke
5c91898e57 Whoops. I didn't mean to step on John's changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6722 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 21:18:20 +00:00
Brian Gaeke
6d3b7fa80e This version supports FreeBSD.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6721 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 21:14:57 +00:00
Chris Lattner
1989d34b3b Add prototype for the new DAE pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6703 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-16 12:16:52 +00:00
John Criswell
a277ca84e0 Changed the LITTLE_ENDIAN and BIG_ENDIAN macros to ENDIAN_LITTLE and ENDIAN_BIG.
This will prevent them from conflicting with macros defined by the system
header files.
When autoconf comes, this will look a lot nicer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6684 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 19:44:51 +00:00
John Criswell
be583b914d Included assert.h so that the code compiles under newer versions of GCC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6682 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-11 14:01:36 +00:00
Sumant Kowshik
9271ade15b Made changes suggested by Chris
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6606 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 08:03:57 +00:00
Sumant Kowshik
a3e5764984 Made changes suggested by Chris; Renamed 'union' function to unionSetsWith
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6605 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 08:00:05 +00:00
Chris Lattner
9dad6d7411 Add new setCondition member
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6603 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-04 05:08:31 +00:00
Chris Lattner
b05497e0ca Minor cleanups:
* Document the MOTy namespace correctly for doxygen
  * Eliminate usage of the MachineOpCode typedef, which should eventually
    be eliminated entirely.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6584 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:42:53 +00:00
Chris Lattner
4052cf998f Remove use of enum
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6582 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:41:45 +00:00
Chris Lattner
0c0583a765 There are now no uses of NonCopyableV
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6580 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:48 +00:00
Chris Lattner
bf0ac3fe69 Add doxygen comment for namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6579 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:37 +00:00
Chris Lattner
0519bdcd3d Add comment for doxygen for namespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6578 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:13 +00:00
Chris Lattner
5b595b9421 Minor cleanups:
* LLVM #include should use "", not <>
  * Fix line wrapping
  * Remove noncopyable base class to improve doxygen output


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6577 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:30:01 +00:00
Chris Lattner
4ade9ed40f Remove noncopyable base class as it was making the doxygen docs harder to read
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6576 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:29:12 +00:00
Chris Lattner
17035c0edf Remove noncopyableV base classes, as they were confusing the doxygen documentation,
making it harder to read.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6575 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-03 15:28:40 +00:00
Chris Lattner
9452b0797a Remove NonCopyable base class to clean up doxygen output
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6551 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-02 22:07:37 +00:00
Chris Lattner
f2e364ad3a Hack up MachineCodeEmitter to actually be target independent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6514 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-01 23:20:02 +00:00
Tanya Lattner
658c5bcdb2 Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6476 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 20:01:37 +00:00
Vikram S. Adve
3fd7bf4257 Made a single common InvalidRegNum = -1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6473 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:44:07 +00:00
Vikram S. Adve
2263df029a Renamed a variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6472 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:43:41 +00:00
Vikram S. Adve
9f495b54fa Support for annul/pred and other future flags on op codes.
Support for recording the physical register for implcit references.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6471 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:43:01 +00:00
Vikram S. Adve
f3d3ca18b5 Added MachineCodeForInstruction object as an argument to
TmpInstruction constructors because every TmpInstruction object has
to be registered with a MachineCodeForInstruction to prevent leaks.
This simplifies the user's code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6469 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-31 07:41:24 +00:00
Misha Brukman
da3a8b19ce Added saveBBreferences() for BasicBlock resolution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6451 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 20:32:45 +00:00
Tanya Lattner
7cf322f51b Sorry, correcting small typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6433 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:53:50 +00:00
Tanya Lattner
2c49fc023e Added support for cloning a trace.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6430 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-30 15:48:23 +00:00
Sumant Kowshik
87a991eea3 Implementation of Equivalence Classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6422 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:44:25 +00:00
Sumant Kowshik
5e587d7a23 Changes to support function pointers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6421 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 22:43:46 +00:00
Chris Lattner
f0afa50b6c Don't require the user to do something like isa<foo>(II->get()). The ->get
should be implicit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6395 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:08:33 +00:00
Chris Lattner
1ff1da7ac9 dyn_cast_or_null should work just the same as dyn_cast does
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6394 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:07:48 +00:00
Chris Lattner
aa101c3147 Doxygenify comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6393 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 15:06:40 +00:00
Misha Brukman
e5841daa79 Fixed misspelling and broke a line that was wrapping.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6391 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-29 05:00:14 +00:00
Misha Brukman
6b5e0549ca Defines a pass-through debugging emitter -- it writes to a file for inspection
and to memory to test execution (using a passed-in code emitter).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6365 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:46:56 +00:00
Misha Brukman
504905fd4b Allow allocation of a Sparc TargetMachine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6364 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:46:07 +00:00
Chris Lattner
a161f0c7c9 Expose proto for SRoA pass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6348 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 15:52:45 +00:00
Vikram S. Adve
bfebd79dd1 (1) Added special register class containing (for now) %fsr.
Fixed spilling of %fcc[0-3] which are part of %fsr.

(2) Moved some machine-independent reg-class code to class TargetRegInfo
    from SparcReg{Class,}Info.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6343 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 00:07:13 +00:00
Vikram S. Adve
a22eace55b Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
and related functions and flags.  Fixed several bugs where only
"isDef" was being checked, not "isDefAndUse".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6342 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 00:06:48 +00:00
Vikram S. Adve
28fc440bc6 Make case of GetNumOfInt/FloatArgRegs functions to be use lower case
like all the other functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6326 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-25 16:02:05 +00:00
Misha Brukman
12745c55e1 Reword to remove reference to how things worked in the past.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6323 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 01:08:43 +00:00
Misha Brukman
00b05bd703 NOP instructions are pseudo-instructions. We should not have them explicitly in
our representation, since they are usually special cases of already-existing
instructions.

This abstracts away methods that let a pass create and verify a NOP instruction,
without relying on a `NOP' enum to be in existence in the target's instruction
info descriptor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6319 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-24 00:08:39 +00:00