Commit Graph

151 Commits

Author SHA1 Message Date
Chris Lattner
53c9460cde Use new macro
llvm-svn: 14865
2004-07-16 00:04:54 +00:00
Chris Lattner
47c6a06211 Fix for PR341
llvm-svn: 14845
2004-07-15 02:40:04 +00:00
Reid Spencer
50ec3f9325 Add #include <iostream> since Value.h does not #include it any more.
llvm-svn: 14622
2004-07-04 12:19:56 +00:00
Chris Lattner
ee2687a351 Adjust to the new TargetMachine interface
llvm-svn: 13957
2004-06-02 06:06:20 +00:00
Brian Gaeke
1b07a2282a Include SparcV9RegInfo.h instead of TargetRegInfo.h. This serves as a bit of
documentation that this module needs to be made independent of the
register file description of the current target.

llvm-svn: 13125
2004-04-23 18:15:46 +00:00
Chris Lattner
bfe4dd0f90 MBB::remove should not modify the iterator passed in
llvm-svn: 12572
2004-03-31 21:59:59 +00:00
Chris Lattner
b5f0e162c7 Eliminate the distinction between "real" and "unreal" instructions
llvm-svn: 11986
2004-02-29 06:31:16 +00:00
Brian Gaeke
4f0a829a68 Great sparc renaming fallout IV: Sparc --> SparcV9.
llvm-svn: 11844
2004-02-25 22:09:36 +00:00
Brian Gaeke
eae0364189 FunctionLiveVarInfo.h moved: include/llvm/CodeGen -> lib/Target/Sparc/LiveVar
llvm-svn: 11804
2004-02-24 19:46:00 +00:00
Chris Lattner
e672426e5d Eliminate operator[] is deprecated warnings
llvm-svn: 11578
2004-02-18 16:43:51 +00:00
Chris Lattner
8acab89631 Fix deprecated operator[] warnings
llvm-svn: 11577
2004-02-18 16:38:18 +00:00
Alkis Evlogimenos
6d6ab846af Remove getAllocatedRegNum(). Use getReg() instead.
llvm-svn: 11393
2004-02-13 21:01:20 +00:00
Alkis Evlogimenos
b755d35fd2 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.

llvm-svn: 11340
2004-02-12 02:27:10 +00:00
Brian Gaeke
4d67c9770d getOpCode() --> getOpcode().
llvm-svn: 11339
2004-02-12 01:34:05 +00:00
Brian Gaeke
c86ce8b134 Move InstrSchedule's iterator begin/end methods inline.
llvm-svn: 11239
2004-02-09 18:42:46 +00:00
Brian Gaeke
60268b265f Make SchedGraph::dump() use SchedGraphNodeCommon's const_iterator
instead of randomly groping about inside its outEdges array.
Make SchedGraph::addDummyEdges() use getNumOutEdges() instead of
outEdges.size().
Get rid of ifdefed-out code in SchedGraph::buildGraph().

llvm-svn: 11238
2004-02-09 18:42:05 +00:00
Tanya Lattner
291f28ee4e Moved iterators around.
llvm-svn: 10926
2004-01-20 17:51:13 +00:00
Tanya Lattner
33079fad04 Moved iterators to common file.
llvm-svn: 10925
2004-01-20 17:49:42 +00:00
Alkis Evlogimenos
29127b8825 Change interface of MachineOperand as follows:
a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse()
    b) add isUse(), isDef()
    c) rename opHiBits32() to isHiBits32(),
              opLoBits32() to isLoBits32(),
              opHiBits64() to isHiBits64(),
              opLoBits64() to isLoBits64().

This results to much more readable code, for example compare
"op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used
very often in the code.

llvm-svn: 10461
2003-12-14 13:24:17 +00:00
Brian Gaeke
d25f86d683 Put all LLVM code into the llvm namespace, as per bug 109.
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
Misha Brukman
6667a74caf Let's not forget about our friends -- Constant Pool indices.
llvm-svn: 9750
2003-11-06 00:04:11 +00:00
Chris Lattner
1370c57a42 Do not use a class before it is defined.
Be gcc 3.4 clean

llvm-svn: 9727
2003-11-05 06:25:06 +00:00
Misha Brukman
2c119cec9b * Eliminate `using' directive
* Make code layout more consistent

llvm-svn: 9427
2003-10-23 17:43:17 +00:00
John Criswell
de34542f41 Added LLVM copyright header.
llvm-svn: 9321
2003-10-21 15:17:13 +00:00
John Criswell
71d2894956 Added LLVM copyright notice to Makefiles.
llvm-svn: 9312
2003-10-20 22:26:57 +00:00
John Criswell
b402729b30 Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.

llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Chris Lattner
b6c8569f05 Regularize header file comments
llvm-svn: 9071
2003-10-13 03:32:08 +00:00
Misha Brukman
9708959677 Fixed spelling.
llvm-svn: 8588
2003-09-17 21:34:23 +00:00
Vikram S. Adve
724b2d6f36 Add flag to control whether or not delay slots are filled during
instruction scheduling (this is off by default).

llvm-svn: 8553
2003-09-16 05:55:15 +00:00
John Criswell
588d65ae68 Fixed two double free bugs that caused llc to segfault or run forever.
llvm-svn: 8191
2003-08-28 21:43:17 +00:00
Tanya Lattner
7ce05c067d Moved index into BB to common graph class because its needed by ModuloSchedGraph.
llvm-svn: 8174
2003-08-28 15:30:40 +00:00
Tanya Lattner
2c6c16288a Added/removed header file
llvm-svn: 8160
2003-08-27 15:12:24 +00:00
Tanya Lattner
78d4730ae6 *** empty log message ***
llvm-svn: 8153
2003-08-27 02:42:58 +00:00
Tanya Lattner
f172cf418d First version of SchedGraph common class and refactoring of SchedGraph.
llvm-svn: 8148
2003-08-25 22:42:20 +00:00
Chris Lattner
b2ff3ba7df Remove uses of the NonCopyable class, to make the doxygen output look better
llvm-svn: 7880
2003-08-15 05:20:06 +00:00
Brian Gaeke
4651096037 Factory methods for function passes now return type FunctionPass *.
llvm-svn: 7839
2003-08-14 06:09:32 +00:00
Chris Lattner
e39696972d Be const correct
llvm-svn: 7348
2003-07-26 23:23:41 +00:00
Chris Lattner
792286a084 Hrm, another necesary one :(
llvm-svn: 7347
2003-07-26 23:22:19 +00:00
Chris Lattner
9224631d6b Remove extraneous #includes
llvm-svn: 7341
2003-07-26 23:00:29 +00:00
Vikram S. Adve
daa346c89a A def. operand of a machine instruction may be an ordinary Value*,
not just an Instruction*, at least in one unfortunate case:
the first operand to the va_arg instruction.
Modify ValueToDefVecMap to map from Value*, not Instruction*.

llvm-svn: 7052
2003-07-02 01:16:01 +00:00
Chris Lattner
46e24d4492 Remove usage of noncopyable classes to clean up doxygen output.
In particular these classes are the last that link the noncopyable classes
with the hash_map, vector, and list classes.

llvm-svn: 6552
2003-06-02 22:45:07 +00:00
Chris Lattner
322afbda9d Add #include
llvm-svn: 6550
2003-06-02 22:05:13 +00:00
Vikram S. Adve
2d906f4550 Changes to allow explicit physical register arguments that have been
preallocated.  While reg-to-reg dependences were already handled, this
change required new code for adding edges to/from call instructions.
This was part of the extensive changes to the way code generation occurs
for function call arguments and return values.
See log for CodeGen/PhyRegAlloc.cpp.

llvm-svn: 6467
2003-05-31 07:37:05 +00:00
Vikram S. Adve
681b3c77fa (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.

(3) Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly()
    and related functions and flags.  Fixed several bugs where only
    "isDef" was being checked, not "isDefAndUse".

llvm-svn: 6341
2003-05-27 00:05:23 +00:00
Misha Brukman
daf2cc3c48 Cleaned up code layout. No functional changes.
llvm-svn: 6304
2003-05-22 21:49:18 +00:00
Misha Brukman
7d91017b21 Kill `using' directives.
llvm-svn: 6301
2003-05-22 21:24:35 +00:00
Chris Lattner
07b0e49989 Rename llvm/Analysis/LiveVar/FunctionLiveVarInfo.h -> llvm/CodeGen/FunctionLiveVarInfo.h
llvm-svn: 5284
2003-01-14 23:05:08 +00:00
Chris Lattner
b27d60ccf1 Rename MachineInstrInfo -> TargetInstrInfo
llvm-svn: 5272
2003-01-14 22:00:31 +00:00
Chris Lattner
dfa3c21f1c More renamings of Target/Machine*Info to Target/Target*Info
llvm-svn: 5204
2002-12-29 03:13:05 +00:00
Chris Lattner
0478222ec2 Move function to cpp file from header
llvm-svn: 4510
2002-11-02 22:07:51 +00:00