Brian Gaeke
6f2c46cd52
Nice tasty llc fixes. These should fix LLC for x86 for everything in
...
SingleSource except oopack and Oscar. (Sorry, Oscar.)
include/llvm/Target/TargetInstrInfo.h: Remove virtual print method. Add
accessors for ImplicitUses/Defs.
lib/Target/TargetInstrInfo.cpp: Remove virtual print method. If you
really wanted this, just use MI->print(O, TM); instead...
lib/Target/X86:
FloatingPoint.cpp: ...like this.
X86InstrInfo.h: Remove virtual print method. Define the PrintImplUses
target-specific flag bit.
X86InstrInfo.def: Add the PrintImplUses flag to all the instructions
which implicitly use CL, because the assembler needs to see the CL in
order to generate the right instruction.
Printer.cpp: Ditch fnIndex at Chris's request. Now we use CurrentFnName
to name constants in the constant pool for each function instead. This
avoids keeping state between runOnMachineFunction() invocations, which
is a no-no. Having MangledGlobals be global is a bogon I'd like to get
rid of too, but making it a static member of Printer causes link errors
(why???).
Make NumberForBB into a member of Printer instead of a global, too.
Make printOp and printMemReference into methods of Printer.
X86InstrInfo::print is now Printer::printMachineInstruction, because
TargetInstrInfo::print is history. (Because of this, we have to qualify
the names of some TargetInstrInfo methods we call.)
Print out the ImplicitUses field of any instruction we print that has
the PrintImplUses bit set.
llvm-svn: 6924
2003-06-27 00:00:48 +00:00
Chris Lattner
e3d0b99978
Add argument to DAE to allow operation on non-internal functions
...
llvm-svn: 6895
2003-06-25 04:12:49 +00:00
Chris Lattner
6c260f1c5c
Add prototype for tail-dup pass
...
llvm-svn: 6847
2003-06-22 20:10:42 +00:00
Chris Lattner
3f347a99a0
Get rid of WORDSIZE macro which can pollute untold numbers of translation units
...
llvm-svn: 6843
2003-06-22 03:09:10 +00:00
Chris Lattner
6c12776232
Remove a ton of extraneous #includes
...
llvm-svn: 6842
2003-06-22 03:08:05 +00:00
Chris Lattner
7a098ad5dc
Whoops, accidentally lost a #include
...
llvm-svn: 6841
2003-06-22 03:04:58 +00:00
Chris Lattner
ddfeef3d7a
Remove support for the MultiObject flag, which was just fundamentally broken
...
llvm-svn: 6839
2003-06-22 03:03:24 +00:00
Chris Lattner
d07e211972
Lots of changes to make the NodeType field private to DSNode.
...
Add new MultiObject flag
llvm-svn: 6793
2003-06-19 21:14:22 +00:00
Chris Lattner
b03ec62b2b
Update comments
...
llvm-svn: 6785
2003-06-19 17:03:00 +00:00
Chris Lattner
75e1e892a6
Detemplatize the PATypeHandle class, which was only really instantiated on 'Type'.
...
llvm-svn: 6774
2003-06-18 19:22:36 +00:00
Chris Lattner
67594b9975
* Add new CallSite::get factory method
...
* add new setCalledFunction method
* FIX arg_end method which was horribly broken!
llvm-svn: 6758
2003-06-17 22:16:59 +00:00
Chris Lattner
8903500053
Add new op_erase method
...
llvm-svn: 6757
2003-06-17 22:15:55 +00:00
Chris Lattner
5615d77ee1
Make sure accessor is properly doxygenized. It wants two lines
...
llvm-svn: 6756
2003-06-17 21:44:51 +00:00
Chris Lattner
260440f727
Add accessor
...
llvm-svn: 6755
2003-06-17 21:44:31 +00:00
Chris Lattner
8b6107ebf2
Make CallSite's default constructable, copyable, and assignable (explicitly)
...
llvm-svn: 6749
2003-06-17 19:50:28 +00:00
Brian Gaeke
e231d9ad37
Regularize the names of #include-guards.
...
llvm-svn: 6732
2003-06-17 00:35:55 +00:00
Brian Gaeke
4681b27a92
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.
llvm-svn: 6723
2003-06-16 21:54:01 +00:00
Brian Gaeke
2bbe853b9c
Whoops. I didn't mean to step on John's changes.
...
llvm-svn: 6722
2003-06-16 21:18:20 +00:00
Brian Gaeke
3576ca2d21
This version supports FreeBSD.
...
llvm-svn: 6721
2003-06-16 21:14:57 +00:00
Chris Lattner
f6973b0f28
Add prototype for the new DAE pass
...
llvm-svn: 6703
2003-06-16 12:16:52 +00:00
John Criswell
7e0327045f
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.
llvm-svn: 6684
2003-06-11 19:44:51 +00:00
John Criswell
4781723de6
Included assert.h so that the code compiles under newer versions of GCC.
...
llvm-svn: 6682
2003-06-11 14:01:36 +00:00
Sumant Kowshik
a961b3c083
Made changes suggested by Chris
...
llvm-svn: 6606
2003-06-04 08:03:57 +00:00
Sumant Kowshik
9336b0901b
Made changes suggested by Chris; Renamed 'union' function to unionSetsWith
...
llvm-svn: 6605
2003-06-04 08:00:05 +00:00
Chris Lattner
9bd4cfa823
Add new setCondition member
...
llvm-svn: 6603
2003-06-04 05:08:31 +00:00
Chris Lattner
7aaea42f1e
Minor cleanups:
...
* Document the MOTy namespace correctly for doxygen
* Eliminate usage of the MachineOpCode typedef, which should eventually
be eliminated entirely.
llvm-svn: 6584
2003-06-03 15:42:53 +00:00
Chris Lattner
846c593142
Remove use of enum
...
llvm-svn: 6582
2003-06-03 15:41:45 +00:00
Chris Lattner
b91ad88918
There are now no uses of NonCopyableV
...
llvm-svn: 6580
2003-06-03 15:30:48 +00:00
Chris Lattner
775ec2f5fe
Add doxygen comment for namespace
...
llvm-svn: 6579
2003-06-03 15:30:37 +00:00
Chris Lattner
b563188e45
Add comment for doxygen for namespace
...
llvm-svn: 6578
2003-06-03 15:30:13 +00:00
Chris Lattner
506de1c176
Minor cleanups:
...
* LLVM #include should use "", not <>
* Fix line wrapping
* Remove noncopyable base class to improve doxygen output
llvm-svn: 6577
2003-06-03 15:30:01 +00:00
Chris Lattner
b1c22980b1
Remove noncopyable base class as it was making the doxygen docs harder to read
...
llvm-svn: 6576
2003-06-03 15:29:12 +00:00
Chris Lattner
347bd5fb6f
Remove noncopyableV base classes, as they were confusing the doxygen documentation,
...
making it harder to read.
llvm-svn: 6575
2003-06-03 15:28:40 +00:00
Chris Lattner
68f1b02a60
Remove NonCopyable base class to clean up doxygen output
...
llvm-svn: 6551
2003-06-02 22:07:37 +00:00
Chris Lattner
d94534c537
Hack up MachineCodeEmitter to actually be target independent.
...
llvm-svn: 6514
2003-06-01 23:20:02 +00:00
Tanya Lattner
eaa01f0821
Fixed comment width, changed arg to be const, fixed indentation, removed unnecessary includes.
...
llvm-svn: 6476
2003-05-31 20:01:37 +00:00
Vikram S. Adve
9625e27034
Made a single common InvalidRegNum = -1.
...
llvm-svn: 6473
2003-05-31 07:44:07 +00:00
Vikram S. Adve
2c9fc5ded3
Renamed a variable.
...
llvm-svn: 6472
2003-05-31 07:43:41 +00:00
Vikram S. Adve
c40874054e
Support for annul/pred and other future flags on op codes.
...
Support for recording the physical register for implcit references.
llvm-svn: 6471
2003-05-31 07:43:01 +00:00
Vikram S. Adve
d43c10b583
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.
llvm-svn: 6469
2003-05-31 07:41:24 +00:00
Misha Brukman
c5a1e94883
Added saveBBreferences() for BasicBlock resolution.
...
llvm-svn: 6451
2003-05-30 20:32:45 +00:00
Tanya Lattner
ceefb5002a
Sorry, correcting small typo.
...
llvm-svn: 6433
2003-05-30 15:53:50 +00:00
Tanya Lattner
117f7c0082
Added support for cloning a trace.
...
llvm-svn: 6430
2003-05-30 15:48:23 +00:00
Sumant Kowshik
d26d2d9d2b
Implementation of Equivalence Classes
...
llvm-svn: 6422
2003-05-29 22:44:25 +00:00
Sumant Kowshik
f022bd6bf3
Changes to support function pointers
...
llvm-svn: 6421
2003-05-29 22:43:46 +00:00
Chris Lattner
d3eae6379d
Don't require the user to do something like isa<foo>(II->get()). The ->get
...
should be implicit.
llvm-svn: 6395
2003-05-29 15:08:33 +00:00
Chris Lattner
12d13d5751
dyn_cast_or_null should work just the same as dyn_cast does
...
llvm-svn: 6394
2003-05-29 15:07:48 +00:00
Chris Lattner
47842943a5
Doxygenify comments
...
llvm-svn: 6393
2003-05-29 15:06:40 +00:00
Misha Brukman
ef428e8dca
Fixed misspelling and broke a line that was wrapping.
...
llvm-svn: 6391
2003-05-29 05:00:14 +00:00
Misha Brukman
6e0ae68c05
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).
llvm-svn: 6365
2003-05-27 21:46:56 +00:00