summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Moved code here to extract memory instruction indices and to checkVikram S. Adve2002-08-241-17/+96
| | | | | | | whether FoldGetElemNodes should be called. This is machine-independent but was in the Sparc directory. This is in a new function: GetMemInstArgs. llvm-svn: 3500
* Added #include <alloca.h>Anand Shukla2002-08-231-0/+1
| | | | llvm-svn: 3491
* Eliminated the MemAccessInst class, folding contents into GEP class.Chris Lattner2002-08-222-9/+8
| | | | llvm-svn: 3487
* dumpNode() does not need to print MachineInstrs.Vikram S. Adve2002-08-221-15/+2
| | | | llvm-svn: 3444
* Unary Not (boolean and bitwise) is no longer a separate LLVM instructionVikram S. Adve2002-08-151-2/+7
| | | | | | | | | but is instead implemented with XOR. Note that the InstrForest opLabels for Not and BNot remain the same, i.e., the XOR is recognized and represented as a (boolean or bitwise) Not when building the instruction trees. But these tree nodes are now binary, not unary. llvm-svn: 3343
* Add method MachineInstr::substituteValue() which substitutesVikram S. Adve2002-08-141-0/+29
| | | | | | | one Value with another one in all operands and implicit references of the machine instruction. llvm-svn: 3306
* * Removed extraneous #includesChris Lattner2002-08-094-51/+16
| | | | | | | * Fixed file headers to be consistent with the rest of LLVM * Other minor fixes llvm-svn: 3278
* * Removed extraneous #includesChris Lattner2002-08-095-50/+23
| | | | | | | * Fixed file headers to be consistent with the rest of LLVM * Other minor fixes llvm-svn: 3277
* We are using std::vector, so remove extraneous namespace prefixesChris Lattner2002-08-091-8/+7
| | | | llvm-svn: 3275
* Very minor cleanupsChris Lattner2002-08-091-23/+15
| | | | llvm-svn: 3271
* - Cleaned up the interface to AnalysisUsage to take analysis class namesChris Lattner2002-08-081-1/+1
| | | | | | | instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument llvm-svn: 3265
* - Cleaned up the interface to AnalysisUsage to take analysis class namesChris Lattner2002-08-081-2/+2
| | | | | | | instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument llvm-svn: 3264
* Add function GetConstantValueAsUnsignedInt.Vikram S. Adve2002-08-041-52/+49
| | | | | | | | Fix 2 bugs in FoldGetElemChain so index vector is not modified when no GEPs are folded in, and so a hasLeadingZero is computed only for the last folded GEP, not the one after that if any. llvm-svn: 3244
* * Move InstructionSelection Pass here instead of living in Sparc.cpp. ItChris Lattner2002-07-301-169/+146
| | | | | | | | | is platform independant afterall. * Object orientize the functions, cleanup code a bit. Instead of static global functions, the helpers for instruction selection are now part of the InstructionSelection Pass class. llvm-svn: 3147
* Remove unused vectorChris Lattner2002-07-301-3/+0
| | | | llvm-svn: 3143
* Refix stuff for GCC 2.95, 3.0.4 & 3.1Chris Lattner2002-07-251-6/+6
| | | | llvm-svn: 3094
* now removes deleted nops from MachineCodeForInstructionMehwish Nagda2002-07-251-8/+20
| | | | llvm-svn: 3090
* *** empty log message ***Chris Lattner2002-07-255-12/+12
| | | | llvm-svn: 3075
* *** empty log message ***Chris Lattner2002-07-241-2/+2
| | | | llvm-svn: 3058
* Non-standard hash classes are not in the std:: namespaceChris Lattner2002-07-241-1/+1
| | | | llvm-svn: 3057
* *** empty log message ***Chris Lattner2002-07-246-11/+10
| | | | llvm-svn: 3056
* moving to the Reoptimizer/Mapping dirMehwish Nagda2002-07-221-279/+0
| | | | llvm-svn: 2993
* *** empty log message ***Chris Lattner2002-07-223-18/+25
| | | | llvm-svn: 2985
* changed size computationMehwish Nagda2002-07-191-35/+57
| | | | llvm-svn: 2974
* added check for Function with 0 BBMehwish Nagda2002-07-171-18/+28
| | | | llvm-svn: 2942
* Now will profile all Basic BlocksMehwish Nagda2002-07-161-22/+22
| | | | llvm-svn: 2922
* Initial checking : Writes LLVM - MI mappiing to the .s fileMehwish Nagda2002-07-151-0/+247
| | | | llvm-svn: 2911
* added std:: to endlAnand Shukla2002-07-111-1/+1
| | | | llvm-svn: 2875
* Fix print of BB name in dump().Vikram S. Adve2002-07-101-2/+1
| | | | llvm-svn: 2861
* Add support for marking each operand as a %hh, %hm, %lm or %lo.Vikram S. Adve2002-07-101-34/+38
| | | | | | | Represent previous bools and these ones with flags in a single byte per operand. llvm-svn: 2860
* changed mem_fun to std::mem_funAnand Shukla2002-07-091-2/+2
| | | | llvm-svn: 2847
* Significant changes to correctly spill CC registers and to correctlyVikram S. Adve2002-07-081-239/+164
| | | | | | | | | | | | | | | | | handle conditional move instructions: -- cpMem<->Reg functions now support CC registers (int and FP) correctly. -- Scratch registers must be explicitly provided to cpMem<->Reg when needed, since CC regs need one to be copied to/from memory. -- CC regs are saved to a scratch register instead of stack. -- All regs used by a instruction are now recorded in MachineInstr::regsUsed, since regs used to save values *across* an instruction are not obvious either from the operands or from the LiveVar sets. -- An (explicit or implicit) operand may now be both a def and a use. This is needed for conditional move operations. So an operand may need spill code both before and after the instruction. -- class MachineCodeForBasicBlock is now an annotation on BasicBlock. llvm-svn: 2833
* MachineInstr* in vector are not const (and never really were)Vikram S. Adve2002-07-081-9/+10
| | | | | | | because operands may be modified directly to set register. Also, class MachineCodeForBasicBlock is now an annotation on BasicBlock. llvm-svn: 2832
* Rename static struct Initializer to avoid name conflict with BB.Vikram S. Adve2002-07-081-3/+3
| | | | llvm-svn: 2831
* Fix printing of BB in dump.Vikram S. Adve2002-07-081-2/+3
| | | | llvm-svn: 2830
* Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.h.Vikram S. Adve2002-07-081-3/+4
| | | | | | This class is now an annotation on BasicBlock. llvm-svn: 2829
* MachineInstr::dump() now takes no arguments.Vikram S. Adve2002-07-081-1/+1
| | | | llvm-svn: 2828
* Implementation of class MachineCodeForBasicBlock.Vikram S. Adve2002-07-081-0/+28
| | | | | | Moved here from MachineInstr.cpp to make it an annotation on BasicBlock. llvm-svn: 2827
* A single MachineInstr operand may now be both a def and a use,Vikram S. Adve2002-07-085-102/+91
| | | | | | | | | so additional dep. edges have to be added. This was needed to correctly handle conditional move instructions! MachineCodeForBasicBlock is now an annotation on BasicBlock. Renamed "earliestForNode" to "earliestReadyTimeForNode". llvm-svn: 2826
* getUsableUniRegAtMI interface simplified slightly.Vikram S. Adve2002-07-081-6/+7
| | | | llvm-svn: 2822
* Moved class MachineCodeForBasicBlock to MachineCodeForBasicBlock.{cpp,h}.Vikram S. Adve2002-07-081-11/+25
| | | | | | | | An (explicit or implicit) operand may now be both a def and a use. Also add a set of regs used by each instruction. dump() no longer takes an optional argument, which doesn't work in gdb. llvm-svn: 2821
* MachineInstr* in vector are not const (and never really were)Vikram S. Adve2002-07-081-1/+1
| | | | | | because operands may be modified directly to set register. llvm-svn: 2820
* Remove tag that just clutters diffsChris Lattner2002-06-301-1/+0
| | | | llvm-svn: 2807
* changes to make it compatible with 64bit gccAnand Shukla2002-06-252-2/+4
| | | | llvm-svn: 2791
* MEGAPATCH checkin.Chris Lattner2002-06-254-152/+133
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2779
* MEGAPATCH checkin.Chris Lattner2002-06-253-92/+71
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2778
* Convert RegClass::IsColorUsedArr from a dynamically allocated array toChris Lattner2002-05-233-39/+30
| | | | | | a vector. This makes asserting on array bounds easier. llvm-svn: 2731
* Move debug options out of header files so that the header does not haveChris Lattner2002-05-223-9/+8
| | | | | | to #include CommandLine.h. llvm-svn: 2712
* Avoid #including CommandLine.hChris Lattner2002-05-221-4/+2
| | | | llvm-svn: 2710
* Hide debugging optionsChris Lattner2002-05-203-3/+3
| | | | llvm-svn: 2676
OpenPOWER on IntegriCloud