summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Don't lose namespace qualifications on previous patch.Chris Lattner2002-05-201-2/+2
| | | | llvm-svn: 2664
* InstrnsBefore and InstrnsAfter are now vectors instead of deques.Vikram S. Adve2002-05-191-3/+3
| | | | | | | May be slightly less efficient but significantly reduces special cases interfaces in code generation. llvm-svn: 2649
* Better folding getelementptr operations with mixedVikram S. Adve2002-05-191-41/+61
| | | | | | | | array and struct indexes. Update operand values in CallArgsDescriptor (a new class) when replacing constant values with immediates. llvm-svn: 2645
* cpValue2Value now needs a vector of MachineInstr to store return values.Vikram S. Adve2002-05-191-16/+20
| | | | llvm-svn: 2644
* Annotation class for MachineInstr.Vikram S. Adve2002-05-191-0/+39
| | | | llvm-svn: 2643
* Numerous bug fixes:Vikram S. Adve2002-05-192-27/+58
| | | | | | | | | | | | | | | | | | | -- passing FP arguments to functions with more than 6 arguments -- passing FP arguments to varargs functions -- passing FP arguments to functions with no prototypes -- incorrect coloring for CC registers (both int and FP): interferences were being completely ignored for int CC and were considered but no spills were marked for fp CC! Also some code improvements: -- better interface to generating machine instr for common cases (many places still need to be updated to use this interface) -- annotations on MachineInstr to communicate information from one codegen phase to another (now used to pass information about CALL/JMPLCALL operands from selection to register allocation) -- all sizes and offests in class TargetData are uint64_t instead of uint llvm-svn: 2642
* Replace all usages of Type::isPointerType with isa<PointerType>Chris Lattner2002-05-061-2/+2
| | | | llvm-svn: 2486
* Add neccesary #includeChris Lattner2002-04-291-0/+1
| | | | llvm-svn: 2406
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-2913-18/+5
| | | | llvm-svn: 2397
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-292-0/+4
| | | | | | to make debugging output a lot nicer. llvm-svn: 2395
* Include appropriate fileChris Lattner2002-04-281-0/+2
| | | | llvm-svn: 2379
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-282-2/+2
| | | | llvm-svn: 2378
* Eliminate the cfg namespace, moving LoopInfo, Dominators, Interval* classesChris Lattner2002-04-281-6/+4
| | | | | | to the global namespace llvm-svn: 2370
* Remove all contents of the cfg namespace to the global namespaceChris Lattner2002-04-281-4/+4
| | | | llvm-svn: 2369
* s/Method/FunctionChris Lattner2002-04-275-20/+20
| | | | llvm-svn: 2336
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-272-22/+14
| | | | | | | | | | | | | | | - Rename runOnMethod to runOnFunction * Transform getAnalysisUsageInfo into getAnalysisUsage - Method is now const - It now takes one AnalysisUsage object to fill in instead of 3 vectors to fill in - Pass's now specify which other passes they _preserve_ not which ones they modify (be conservative!) - A pass can specify that it preserves all analyses (because it never modifies the underlying program) * s/Method/Function/g in other random places as well llvm-svn: 2333
* Don't record instructions for copying method arguments in theVikram S. Adve2002-04-251-0/+1
| | | | | | | | AddedInstrns sets for the first machine instruction. It is hard to ensure that the right order is preserved, and sure enough, the order was broken. Instead, use a separate set for the function entry. llvm-svn: 2318
* Don't record instructions for copying method arguments in theVikram S. Adve2002-04-251-66/+78
| | | | | | | | AddedInstrns sets for the first machine instruction. It is hard to ensure that the right order is preserved, and sure enough, the order was broken. Instead, use a separate set for the function entry. llvm-svn: 2312
* Improve printing during dumps.Vikram S. Adve2002-04-251-28/+16
| | | | llvm-svn: 2311
* Optional args are no longer allocated as they are discovered.Vikram S. Adve2002-04-251-51/+22
| | | | | | | | (This can be improved to avoid making the initial pass over the method.) Also, ensure automatic vars and reg. spills areas are not extended if their sizes are used for computing some other offset. llvm-svn: 2310
* Only emit message if DEBUG_RA is onChris Lattner2002-04-151-6/+6
| | | | llvm-svn: 2252
* Move FunctionArgument out of iOther.h into Argument.h and rename class toChris Lattner2002-04-091-1/+1
| | | | | | be 'Argument' instead of FunctionArgument. llvm-svn: 2216
* No need to reserve space, erasing does not change the size of the container.Chris Lattner2002-04-091-1/+0
| | | | llvm-svn: 2201
* * Add a file header with some informationChris Lattner2002-04-091-35/+25
| | | | | | | | | | * Delete the DelaySlotInfo objects created by the SchedulingManager class. These leaked objects were accounting for 3/4 of the memory leaked by the backend, so this is a relatively major win. * Reorganize SchedulingManager::getDelaySlotInfoForInstr so that it has better code locality (making it easier to read). llvm-svn: 2197
* Clean up the ownership model a bit so that nodes actually get deleted moreChris Lattner2002-04-091-12/+8
| | | | | | | frequently. This still leaks edges quite a bit, but it leaks no nodes (I think). llvm-svn: 2190
* Convert AddedInstrMapType to contain AddedInstrns by value instead of byChris Lattner2002-04-092-57/+31
| | | | | | pointer so that they do not all get leaked! llvm-svn: 2188
* GCC3.0 is reported to die without an alloca definition.Chris Lattner2002-04-091-0/+1
| | | | llvm-svn: 2186
* Don't leak memory like a seiveChris Lattner2002-04-081-18/+5
| | | | llvm-svn: 2185
* Value cannot be directly instantiated. I think that this code was TRYING toChris Lattner2002-04-081-5/+3
| | | | | | | make a PHI node, although it was badly broken. This keeps tests passing, so we'll go with it. llvm-svn: 2184
* s/Method/FunctionChris Lattner2002-04-084-14/+13
| | | | llvm-svn: 2180
* s/method/functionChris Lattner2002-04-082-4/+4
| | | | llvm-svn: 2177
* Change references to the Method class to be references to the FunctionChris Lattner2002-04-076-124/+102
| | | | | | | class. The Method class is obsolete (renamed) and all references to it are being converted over to Function. llvm-svn: 2144
* Add method clearCallInterference().Vikram S. Adve2002-03-311-0/+3
| | | | llvm-svn: 2071
* Include temp. values when computing max. size of stack frame!Vikram S. Adve2002-03-311-3/+3
| | | | llvm-svn: 2070
* Fix a bug in previous bug fix.Vikram S. Adve2002-03-311-6/+14
| | | | llvm-svn: 2069
* Bug fix: address used by indirect call instruction should alsoVikram S. Adve2002-03-311-16/+21
| | | | | | | be marked as having a Call Interference, even though it may not be live after the call. llvm-svn: 2068
* Change references from Method to FunctionChris Lattner2002-03-261-6/+6
| | | | | | change references from MethodARgument to FunctionArgument llvm-svn: 1991
* Destroy MethodLiveVarInfo after register allocation.Vikram S. Adve2002-03-241-0/+1
| | | | llvm-svn: 1976
OpenPOWER on IntegriCloud