summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAge
...
* added std:: to vectorAnand Shukla2002-07-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2916 91177308-0d34-0410-b5e6-96231b3b80d8
* added std:: to stringAnand Shukla2002-07-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2915 91177308-0d34-0410-b5e6-96231b3b80d8
* added std:: to cerr and endlAnand Shukla2002-07-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2914 91177308-0d34-0410-b5e6-96231b3b80d8
* Added the Mapping Pass to out put Mapping Info to .s fileMehwish Nagda2002-07-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2913 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checking : Writes LLVM - MI mappiing to the .s fileMehwish Nagda2002-07-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2911 91177308-0d34-0410-b5e6-96231b3b80d8
* Ensure ConstExpr constants are unique using aVikram S. Adve2002-07-15
| | | | | | | map of <opcode, operands> to ConstExpr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2909 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix bug: test/Regression/Assembler/2002-07-14-InternalLossage.llxChris Lattner2002-07-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2907 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support to write out ConstantExpr nodes.Vikram S. Adve2002-07-14
| | | | | | | | Also, avoid asserting out when writing out an invalid tree since the assembly writer is used when debugging. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2902 91177308-0d34-0410-b5e6-96231b3b80d8
* Added subclass ConstantExpr to represent expressions consructed fromVikram S. Adve2002-07-14
| | | | | | | | | | constants using operators such as cast, getelementptr, add, shl, etc. Note that a ConstantExpr can be of any type, so classof() in most other subclasses (that discriminate by type) have to check that it is also not a ConstantExpr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2901 91177308-0d34-0410-b5e6-96231b3b80d8
* Create a static version of Instruction::getOpcodeName(opCode) thatVikram S. Adve2002-07-14
| | | | | | | | can be invoked with only an opcode (i.e., without an instruction). Move all opCode->opCodeName translations there. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2900 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for writing ConstantExpr nodes.Vikram S. Adve2002-07-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2899 91177308-0d34-0410-b5e6-96231b3b80d8
* Write out the plane for types first, since values of primitive typesVikram S. Adve2002-07-14
| | | | | | | | | | may be constructed by expressions of other types (and so the contents of the primitive type planes must come after all types). Use a helper function outputConstantsInPlane in outputConstants to do this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2898 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a helper function outputConstantsInPlane in outputConstants.Vikram S. Adve2002-07-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2897 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for reading ConstantExpr nodes.Vikram S. Adve2002-07-14
| | | | | | | | Add class ConstantFwdRefs to resolve forward references to constants and to globals. (Hmm... this class could be renamed I guess.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2896 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for reading ConstantExpr nodes.Vikram S. Adve2002-07-14
| | | | | | | | Add class ConstantFwdRefs to resolve forward references to constants and to globals (unified old code for globals into this). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2895 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support for parsing expressions constructed from constant values.Vikram S. Adve2002-07-14
| | | | | | | | | (Major new non-terminal is ConstExpr.) Add YYERROR_VERBOSE and print additional information on errors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2894 91177308-0d34-0410-b5e6-96231b3b80d8
* Declare globals llvmAsmtext and llvmAsmleng for use in the parser.Vikram S. Adve2002-07-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2893 91177308-0d34-0410-b5e6-96231b3b80d8
* Added EmitFunctions directoryAnand Shukla2002-07-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2883 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial makefileAnand Shukla2002-07-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2882 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial version: adds a function table to output codeAnand Shukla2002-07-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2881 91177308-0d34-0410-b5e6-96231b3b80d8
* * Pass the DSGraph around instead of the Function to printing fnsChris Lattner2002-07-11
| | | | | | | | | | * Print the globals list in the node * Print the scalars in the scalar node * Eliminate Scalar "label" edges in the graph * Print fake edges lighter instead of dotted git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2880 91177308-0d34-0410-b5e6-96231b3b80d8
* * Nodes now keep track of any global variables in themChris Lattner2002-07-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2879 91177308-0d34-0410-b5e6-96231b3b80d8
* * Nodes now keep track of any global variables in themChris Lattner2002-07-11
| | | | | | | | * Only dead-node-eliminate nodes with no flags * Don't merge scalars, only merge what they point to. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2878 91177308-0d34-0410-b5e6-96231b3b80d8
* added std:: to endlAnand Shukla2002-07-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2875 91177308-0d34-0410-b5e6-96231b3b80d8
* added std:: to vectorAnand Shukla2002-07-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2874 91177308-0d34-0410-b5e6-96231b3b80d8
* New implementation of data structure analysis. Only local analysis has beenChris Lattner2002-07-10
| | | | | | | implemented so far. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2871 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable folding g-e-p instructions into loads and stores.Chris Lattner2002-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2870 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable pool allocation stuff until data structure analysis is sorted back outChris Lattner2002-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2869 91177308-0d34-0410-b5e6-96231b3b80d8
* Reimplement data structure analysisChris Lattner2002-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2868 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix: cast (bool) has higher precedence than %... who knew!Vikram S. Adve2002-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2864 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix print of BB name in dump().Vikram S. Adve2002-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2861 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for marking each operand as a %hh, %hm, %lm or %lo.Vikram S. Adve2002-07-10
| | | | | | | | Represent previous bools and these ones with flags in a single byte per operand. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2860 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed interface to insertCallerSavingCode().Vikram S. Adve2002-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2859 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop using pseudo-instructions (SETX, SETUW, SETSW)Vikram S. Adve2002-07-10
| | | | | | | and generate actual machine instruction sequences directly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2858 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to print %hh, %hm, %lm, or %lo in an operand field.Vikram S. Adve2002-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2857 91177308-0d34-0410-b5e6-96231b3b80d8
* Major overhaul to stop using pseudo-instructions (SETX, SETUW, SETSW)Vikram S. Adve2002-07-10
| | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2856 91177308-0d34-0410-b5e6-96231b3b80d8
* More important fixes:Vikram S. Adve2002-07-10
| | | | | | | | | | | -- 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2855 91177308-0d34-0410-b5e6-96231b3b80d8
* *** empty log message ***Chris Lattner2002-07-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2852 91177308-0d34-0410-b5e6-96231b3b80d8
* changed mem_fun to std::mem_funAnand Shukla2002-07-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2847 91177308-0d34-0410-b5e6-96231b3b80d8
* Added std:: to mem_fun for 64-bit gccAnand Shukla2002-07-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2845 91177308-0d34-0410-b5e6-96231b3b80d8
* Implementing shift left & shift right on pointersChris Lattner2002-07-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2844 91177308-0d34-0410-b5e6-96231b3b80d8
* Added support for printing constant global references toVikram S. Adve2002-07-09
| | | | | | | assembly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2842 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix iteration and InsertPos bugs introduced when Chris changed over to ilist.Vikram S. Adve2002-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2840 91177308-0d34-0410-b5e6-96231b3b80d8
* Numerous changes in interface to class SparcRegInfo corresponding toVikram S. Adve2002-07-08
| | | | | | | | | changes in class MachineRegInfo (see MachineRegInfo.h for details). Added {LD,ST}[X]FSR instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2839 91177308-0d34-0410-b5e6-96231b3b80d8
* class MachineCodeForBasicBlock is now an annotation on BasicBlock.Vikram S. Adve2002-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2838 91177308-0d34-0410-b5e6-96231b3b80d8
* BA no longer has the unused CC operand.Vikram S. Adve2002-07-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2837 91177308-0d34-0410-b5e6-96231b3b80d8
* Have to save a boolean (setCC) value whenever use is outside the currentVikram S. Adve2002-07-08
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2836 91177308-0d34-0410-b5e6-96231b3b80d8
* BA has only one argument.Vikram S. Adve2002-07-08
| | | | | | | | Added LDFSR, LDXFSR, STFSR and STXFSR. Fixed operands info for RDCCR, WRCCR. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2835 91177308-0d34-0410-b5e6-96231b3b80d8
* Significant changes to correctly spill CC registers and to correctlyVikram S. Adve2002-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2834 91177308-0d34-0410-b5e6-96231b3b80d8
* Significant changes to correctly spill CC registers and to correctlyVikram S. Adve2002-07-08
| | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2833 91177308-0d34-0410-b5e6-96231b3b80d8