summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
...
* *** empty log message ***Chris Lattner2002-07-231-0/+1
| | | | llvm-svn: 3002
* moved from CodeGen to this dirMehwish Nagda2002-07-221-0/+11
| | | | llvm-svn: 2992
* Adding code for outputing length in .sAnand Shukla2002-07-211-2/+20
| | | | llvm-svn: 2979
* * Make global variables with external linkage get emitted correctlyChris Lattner2002-07-161-13/+14
| | | | | | | * Do NOT add a prefix to global variables that are external * Add newline after emitting a constpointerref llvm-svn: 2925
* Added the Mapping Pass to out put Mapping Info to .s fileMehwish Nagda2002-07-151-3/+6
| | | | llvm-svn: 2913
* added std:: to vectorAnand Shukla2002-07-111-2/+2
| | | | llvm-svn: 2874
* Changed interface to insertCallerSavingCode().Vikram S. Adve2002-07-101-1/+3
| | | | llvm-svn: 2859
* Stop using pseudo-instructions (SETX, SETUW, SETSW)Vikram S. Adve2002-07-101-10/+28
| | | | | | and generate actual machine instruction sequences directly. llvm-svn: 2858
* Add support to print %hh, %hm, %lm, or %lo in an operand field.Vikram S. Adve2002-07-101-14/+30
| | | | llvm-svn: 2857
* Major overhaul to stop using pseudo-instructions (SETX, SETUW, SETSW)Vikram S. Adve2002-07-101-110/+207
| | | | | | | | | | | and generate actual machine instruction sequences directly. Also a couple of bug fixes in code for putting constants into registers: -- Do *not* sign-extend unsigned constant that is shorter than int reg size -- Fix handling of address constant (a GlobalValue) vs. constant that must be loaded. llvm-svn: 2856
* More important fixes:Vikram S. Adve2002-07-101-40/+53
| | | | | | | | | | -- FP argument to a function with no prototype going on stack was not being copied to the stack in colorCallArgs(). -- Put caller-saving code *before* argument copying code so that we don't trash a register before saving it! -- Two other minor fixes. llvm-svn: 2855
* Added std:: to mem_fun for 64-bit gccAnand Shukla2002-07-091-2/+2
| | | | llvm-svn: 2845
* Added support for printing constant global references toVikram S. Adve2002-07-091-4/+10
| | | | | | assembly. llvm-svn: 2842
* Numerous changes in interface to class SparcRegInfo corresponding toVikram S. Adve2002-07-081-75/+78
| | | | | | | | changes in class MachineRegInfo (see MachineRegInfo.h for details). Added {LD,ST}[X]FSR instructions. llvm-svn: 2839
* class MachineCodeForBasicBlock is now an annotation on BasicBlock.Vikram S. Adve2002-07-081-2/+3
| | | | llvm-svn: 2838
* BA no longer has the unused CC operand.Vikram S. Adve2002-07-081-2/+3
| | | | llvm-svn: 2837
* Have to save a boolean (setCC) value whenever use is outside the currentVikram S. Adve2002-07-081-20/+16
| | | | | | | | | | basic block. Mark setCCInstr used as dest. of conditional-move as both a def and a use. BA instruction no longer has the unused CC argument. llvm-svn: 2836
* BA has only one argument.Vikram S. Adve2002-07-081-8/+12
| | | | | | | Added LDFSR, LDXFSR, STFSR and STXFSR. Fixed operands info for RDCCR, WRCCR. llvm-svn: 2835
* Significant changes to correctly spill CC registers and to correctlyVikram S. Adve2002-07-081-214/+273
| | | | | | | | | | | | | | | | | | | | | | | | | | handle conditional move instructions: -- cpMem<->Reg functions now support CC registers (int and FP) correctly. Also, cpMem<->Reg functions now return a vector of machine instructions. -- 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. Other changes: -- Added several get{Class,Type} functions. -- Added unified-to-local register number conversion. -- class MachineCodeForBasicBlock is now an annotation on BasicBlock. -- Suggest/Color methods may modify the MachineInstr (and always did), so don't make that argument const! -- Caller-saving code doesn't need its special purpose code for handling CC registers since cpMem<->Reg handle those correctly now. llvm-svn: 2834
* Remove diff-cluttering tagsChris Lattner2002-06-302-2/+0
| | | | llvm-svn: 2808
* changes to make it compatible with 64bit gccAnand Shukla2002-06-255-6/+8
| | | | llvm-svn: 2791
* MEGAPATCH checkin.Chris Lattner2002-06-255-110/+97
| | | | | | For details, See: docs/2002-06-25-MegaPatchInfo.txt llvm-svn: 2778
* Fix constnessChris Lattner2002-06-051-1/+1
| | | | llvm-svn: 2762
* Fix Constness problemsChris Lattner2002-06-051-13/+13
| | | | llvm-svn: 2761
* Disable debugging outputChris Lattner2002-06-041-1/+1
| | | | llvm-svn: 2756
* Convert RegClass::IsColorUsedArr from a dynamically allocated array toChris Lattner2002-05-232-17/+19
| | | | | | a vector. This makes asserting on array bounds easier. llvm-svn: 2731
* Fixed the makefile to not die when compiling a new, empty, source directoryMehwish Nagda2002-05-211-0/+3
| | | | llvm-svn: 2688
* Rename IsPowerOf2 to isPowerOf2Chris Lattner2002-05-191-2/+2
| | | | llvm-svn: 2663
* Add integer register size field.Vikram S. Adve2002-05-191-27/+37
| | | | | | | Make all sizes and offsets uint64_t instead of uint. Fixed GetIndexedOffset to handle mixed array and struct indices. llvm-svn: 2641
* Numerous bug fixes:Vikram S. Adve2002-05-198-887/+1004
| | | | | | | | | | | | | | | | | | | | | | | | -- correct sign extensions for integer casts and for shift-by-constant instructions generated for integer multiply -- 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 stack frame size when padding a section -- folding getelementptr operations with mixed array and struct indexes -- use uint64_t instead of uint for constant offsets in mem operands -- 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: 2640
* Extend TargetData::getIndexedOffset to support arrays and pointers!Chris Lattner2002-05-071-10/+13
| | | | llvm-svn: 2535
* Replace all usages of Type::isPointerType with isa<PointerType>Chris Lattner2002-05-063-44/+32
| | | | llvm-svn: 2486
* Eliminate duplicate or unneccesary #include'sChris Lattner2002-04-295-5/+2
| | | | llvm-svn: 2397
* Add new optional getPassName() virtual function that a Pass can overrideChris Lattner2002-04-294-0/+20
| | | | | | to make debugging output a lot nicer. llvm-svn: 2395
* Tighten up the AnalysisUsage of lots of passes, primarily to correctly ↵Chris Lattner2002-04-281-1/+9
| | | | | | indicate whether or not they invalidate the CFGA llvm-svn: 2386
* Add #include that was removed from TargetMachine.hChris Lattner2002-04-282-0/+2
| | | | llvm-svn: 2381
* Split ConstantVals.h into Constant.h and Constants.hChris Lattner2002-04-284-8/+8
| | | | llvm-svn: 2378
* Simplify codeChris Lattner2002-04-281-15/+5
| | | | | | Remove unneccesary getID variant for module's llvm-svn: 2353
* s/Method/FunctionChris Lattner2002-04-271-1/+1
| | | | llvm-svn: 2336
* * Rename MethodPass class to FunctionPassChris Lattner2002-04-274-33/+33
| | | | | | | | | | | | | | | - 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
* Use the cast<> operator in favor of C style castsChris Lattner2002-04-271-3/+3
| | | | llvm-svn: 2331
* Change Constant::getNullConstant to Constant::getNullValueChris Lattner2002-04-271-3/+2
| | | | llvm-svn: 2323
* Simplify code a bitChris Lattner2002-04-271-6/+5
| | | | llvm-svn: 2322
* Don't pad spills and temp. stack areas for alignment.Vikram S. Adve2002-04-251-4/+5
| | | | | | | Freeze auto vars and spill areas when their sizes are used for computing other offsets. llvm-svn: 2317
* Major changes to how int and FP arguments are handled. VarargsVikram S. Adve2002-04-251-189/+254
| | | | | | | function calls were simply wrong; other functions were just not using all available registers. llvm-svn: 2316
* Added functions to compute which register, if any, to useVikram S. Adve2002-04-251-15/+20
| | | | | | for a particular argument in a list of arguments. llvm-svn: 2315
* Insert copy operations for FP arguments to a varargs function,Vikram S. Adve2002-04-251-31/+69
| | | | | | | | to copy the FP arg. to an integer. Necessary so that the register allocator has two different live ranges for the FP value and the int. argument. llvm-svn: 2314
* Implementation of class MachineFrameInfo.Vikram S. Adve2002-04-251-0/+50
| | | | llvm-svn: 2313
* * getAsString requires that the input array is string compatible, soChris Lattner2002-04-181-33/+32
| | | | | | | assert it. * Use WriteAsOperand instead of getStringValue for constants llvm-svn: 2296
* Only print debug message if DEBUG_RA is onChris Lattner2002-04-151-8/+6
| | | | llvm-svn: 2254
OpenPOWER on IntegriCloud