summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove unneccesary #includesChris Lattner2002-10-292-2/+0
| | | | llvm-svn: 4408
* Rename Sparc.h to TargetMachineImpls.hChris Lattner2002-10-291-1/+1
| | | | llvm-svn: 4407
* Bug fix: align size for dynamic allocas according to stack pointerVikram S. Adve2002-10-291-19/+47
| | | | | | alignment restrictions. This is incomplete for one case. llvm-svn: 4397
* *** empty log message ***Chris Lattner2002-10-291-2/+2
| | | | llvm-svn: 4390
* MachineInstrInfo doesn't need a TargetMachineChris Lattner2002-10-293-4/+3
| | | | llvm-svn: 4372
* Use BuildMI instead of explicit code.Chris Lattner2002-10-281-34/+15
| | | | llvm-svn: 4362
* Remove all traces of the "Opcode Mask" field in the MachineInstr classChris Lattner2002-10-282-15/+0
| | | | llvm-svn: 4359
* Fix minor bugChris Lattner2002-10-281-3/+3
| | | | llvm-svn: 4355
* Don't pass default argsChris Lattner2002-10-281-8/+7
| | | | llvm-svn: 4354
* Rewrote uses of deprecated `MachineFunction::get(BasicBlock *BB)'.Misha Brukman2002-10-282-17/+17
| | | | llvm-svn: 4352
* Replaced uses of deprecated `MachineFunction::get(BasicBlock *BB)'.Misha Brukman2002-10-282-20/+31
| | | | llvm-svn: 4351
* Don't bother passing in default valueChris Lattner2002-10-281-13/+13
| | | | llvm-svn: 4347
* Fixes to work with updated RegAllocChris Lattner2002-10-281-10/+10
| | | | llvm-svn: 4345
* Rename the redundant MachineOperand::getOperandType() to ↵Chris Lattner2002-10-283-10/+9
| | | | | | MachineOperand::getType() llvm-svn: 4331
* *** empty log message ***Chris Lattner2002-10-282-2/+0
| | | | llvm-svn: 4323
* Rename MachineCodeForBasicBlock to MachineBasicBlockChris Lattner2002-10-284-37/+29
| | | | llvm-svn: 4318
* Move machine code generation/destruction passes out of Sparc.cpp becauseChris Lattner2002-10-281-44/+2
| | | | | | they are generic llvm-svn: 4310
* Move addPassesToEmitAssembly from TargetMachine to UltraSparc because itChris Lattner2002-10-282-1/+121
| | | | | | really is sparc specific. llvm-svn: 4308
* Changed `MachineCodeForMethod' to `MachineFunction'.Misha Brukman2002-10-288-36/+36
| | | | llvm-svn: 4301
* change ++ to +1 when using random access iteratorsChris Lattner2002-10-271-4/+2
| | | | llvm-svn: 4292
* Prune #includesChris Lattner2002-10-251-2/+0
| | | | llvm-svn: 4277
* Fix misspellingChris Lattner2002-10-251-1/+1
| | | | llvm-svn: 4276
* Minor cleanupsChris Lattner2002-10-231-19/+22
| | | | | | Make sure to have a pass name llvm-svn: 4268
* - Two minor improvements to the MachineInstr class to reduce footprint andChris Lattner2002-10-221-5/+5
| | | | | | | overhead: Merge 3 parallel vectors into 1, change regsUsed hash_set to be a bitvector. Sped up LLC a little less than 10% in a debug build! llvm-svn: 4261
* Make sure to escape \'s when they are outputChris Lattner2002-10-151-0/+2
| | | | llvm-svn: 4179
* Print "circular" warning message only in debug mode.Vikram S. Adve2002-10-141-2/+1
| | | | llvm-svn: 4170
* Removed misleading const keyword.Vikram S. Adve2002-10-141-1/+1
| | | | llvm-svn: 4169
* Allow emission of names that start with an underscore. This is needed toChris Lattner2002-10-141-14/+10
| | | | | | | | | interface with code that uses symbols in the ansi-c protected namespace. In most cases this comes from system header files, such as stdio.h. In particular, without this change, a reference to the __iob symbol is mangled into ll_iob, which is not resolved by libc. llvm-svn: 4165
* - Rename Instruction::First*Op to *OpsBegin, and Num*Ops to *OpsEnd toChris Lattner2002-10-132-10/+10
| | | | | | reflect the fact that it's a range being defined. llvm-svn: 4147
* Several major fixes, particularly in emitting constant aggregates:Vikram S. Adve2002-10-131-59/+104
| | | | | | | | | | | | (1) Padding bytes between structure fields (for alignment) were never being emitted into the constant pool so the layout did not match! (2) In printing constants, structures containing structures or arrays were never handled. (3) Support new model for external/uninitialized/initialized globals. Uninitialized globals are no longer emitted since they are external. Initialized globals may go either in .bss or in .data. llvm-svn: 4134
* Don't use %l0 for large operands to a SAVE since it is needed *before* SAVE!Vikram S. Adve2002-10-131-7/+7
| | | | | | We now use %g1 instead since that is shared and volatile. llvm-svn: 4133
* Don't mark JMPLCALL and JMPLRET as branches.Vikram S. Adve2002-10-131-4/+4
| | | | llvm-svn: 4132
* (1) Try to evaluate constant when multiplying 2 constants.Vikram S. Adve2002-10-131-29/+19
| | | | | | | | | (2) Use intelligent multiply selection code for array allocas. (3) Don't use cache padding for alloca'd stack slots! (4) Bug fix in handling call arguments: was not copying sixth FP arg to int reg. when calling a function with no prototype. llvm-svn: 4130
* Eliminate duplicate target pointer in SparcRegInfo.Vikram S. Adve2002-10-131-11/+0
| | | | llvm-svn: 4129
* Eliminate duplicate target pointer. Also add a few assertions.Vikram S. Adve2002-10-131-6/+14
| | | | llvm-svn: 4128
* Make sure to handle small negative values hiding as large unsigned longs --Vikram S. Adve2002-10-131-4/+10
| | | | | | this is a common case created by the front-end. llvm-svn: 4127
* Major fix: extract ConstantExpr nodes and decompose them into symbolicVikram S. Adve2002-10-131-22/+90
| | | | | | | | | instructions so that (a) constant folding is done automatically before code generation, and (b) selection does not have to deal with them. Also, check for ConstantPointerRefs in additional to GlobalValues when creating a GEP to load a global address. llvm-svn: 4126
* Return address register should be marked as "result" for the JMPL instructionVikram S. Adve2002-09-281-3/+4
| | | | | | since it is defined by the instruction. llvm-svn: 3966
* Live ranges for Return value and return address of a Call are no longerVikram S. Adve2002-09-281-49/+26
| | | | | | | created here. Instead they are created in LiveRangeInfo.cpp. This simplifies the code here quite a bit. llvm-svn: 3965
* Simplified code that handles call args and rets, so it no longerVikram S. Adve2002-09-281-4/+2
| | | | | | needs the RegClass list to be passed in. llvm-svn: 3964
* Simplify Call translation slightly.Vikram S. Adve2002-09-281-25/+13
| | | | llvm-svn: 3963
* Overhaul integer conversions to match C++ ISO standard.Vikram S. Adve2002-09-271-95/+85
| | | | | | | Don't allow direct FP-to-uint conversion (must be eliminated by preselection). Address arithmetic for arrays is now entirely 64-bit so no sign-ext needed. llvm-svn: 3961
* Modify operand order for Create{Sign,Zero}ExtensionInstructions.Vikram S. Adve2002-09-272-21/+21
| | | | llvm-svn: 3960
* Bug fix: some redundant copies were not being deleted after detection :-|.Vikram S. Adve2002-09-271-7/+9
| | | | llvm-svn: 3959
* Decompose FP-to-UInt casts into FP-to-ULong-toUInt.Vikram S. Adve2002-09-271-0/+28
| | | | llvm-svn: 3957
* Put intermediate source files in a subdirectory here instead of withVikram S. Adve2002-09-231-5/+18
| | | | | | object files. Also, llvm-svn: 3884
* Initial version: it adds 2 empty slots at the top of stackAnand Shukla2002-09-211-0/+41
| | | | llvm-svn: 3872
* Added class MachineOptInfo as interface to target-specificVikram S. Adve2002-09-202-3/+27
| | | | | | | routines supporting machine code optimization. Also added method MachineInstrInfo::getNOPOpCode(). llvm-svn: 3845
* Peephole optimization pass on final machine code.Vikram S. Adve2002-09-201-0/+136
| | | | llvm-svn: 3840
* Moving these files from Code/PreSelection to here.Vikram S. Adve2002-09-201-0/+286
| | | | | | | | | | | | | | | | Original logs for PreSelection.cpp: revision 1.2 date: 2002/09/17 23:50:32; author: lattner; state: Exp; lines: +1 -3 Don't put default parameter values into .cpp files, it breaks 3.x compilers revision 1.1 date: 2002/09/16 15:31:13; author: vadve; state: Exp; New preselection pass that specializes LLVM code for a target machine, while remaining in legal portable LLVM form and preserving type information and type safety. llvm-svn: 3838
OpenPOWER on IntegriCloud