summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
Commit message (Collapse)AuthorAgeFilesLines
* Constify some methods. Patch provided by Anton Vayvod, thanks!Chris Lattner2006-08-171-2/+2
| | | | llvm-svn: 29756
* SelectNodeTo() may return a SDOperand that is different from the input.Evan Cheng2006-08-161-3/+3
| | | | llvm-svn: 29726
* Match tablegen changes.Evan Cheng2006-08-111-6/+6
| | | | llvm-svn: 29604
* CALLSEQ_* produces chain even if that's not needed.Evan Cheng2006-08-111-2/+4
| | | | llvm-svn: 29603
* Start eliminating temporary vectors used to create DAG nodes. Instead, passChris Lattner2006-08-081-24/+14
| | | | | | | | | | | | | | | | | | | in the start of an array and a count of operands where applicable. In many cases, the number of operands is known, so this static array can be allocated on the stack, avoiding the heap. In many other cases, a SmallVector can be used, which has the same benefit in the common cases. I updated a lot of code calling getNode that takes a vector, but ran out of time. The rest of the code should be updated, and these methods should be removed. We should also do the same thing to eliminate the methods that take a vector of MVT::ValueTypes. It would be extra nice to convert the dagiselemitter to avoid creating vectors for operands when calling getTargetNode. llvm-svn: 29566
* Match tablegen isel changes.Evan Cheng2006-08-071-14/+5
| | | | llvm-svn: 29549
* Remove InFlightSet hack. No longer needed.Evan Cheng2006-07-281-1/+0
| | | | llvm-svn: 29373
* Don't pass target name into TargetData anymore, it is never used or needed.Chris Lattner2006-06-161-2/+1
| | | | | | | Remove explicit casts to std::string now that there is no overload resolution issues in the TargetData ctors. llvm-svn: 28830
* Type of extract_element index operand should be iPTR.Evan Cheng2006-06-151-2/+2
| | | | llvm-svn: 28797
* Change RET node to include signness information of the return values. i.e.Evan Cheng2006-05-261-3/+3
| | | | | | RET chain, value1, sign1, value2, sign2, ... llvm-svn: 28510
* Add support for the missing FP condition codesChris Lattner2006-05-251-6/+12
| | | | llvm-svn: 28482
* Assert if InflightSet is not cleared after instruction selecting a BB.Evan Cheng2006-05-251-0/+1
| | | | llvm-svn: 28459
* Clear HandleMap and ReplaceMap after instruction selection. Or it may causeEvan Cheng2006-05-241-0/+2
| | | | | | non-deterministic behavior. llvm-svn: 28454
* Patches to make the LLVM sources more -pedantic clean. Patch providedChris Lattner2006-05-244-4/+4
| | | | | | by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447
* Sparc is big-endian.Owen Anderson2006-05-201-1/+1
| | | | llvm-svn: 28415
* Make all of the TargetMachine subclasses use the new string TargetData methods.Owen Anderson2006-05-201-1/+1
| | | | | | This is part of the on-going work on PR 761. llvm-svn: 28414
* getCalleeSaveRegs and getCalleeSaveRegClasses are no long TableGen'd.Evan Cheng2006-05-183-3/+16
| | | | llvm-svn: 28378
* Remove PointerType from class TargetEvan Cheng2006-05-171-3/+0
| | | | llvm-svn: 28368
* Remove dead variable.Chris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28247
* Refactor a bunch of includes so that TargetMachine.h doesn't have to includeOwen Anderson2006-05-122-0/+2
| | | | | | | TargetData.h. This should make recompiles a bit faster with my current TargetData tinkering. llvm-svn: 28238
* Split SwitchSection into SwitchTo{Text|Data}Section methods.Chris Lattner2006-05-091-6/+6
| | | | llvm-svn: 28184
* Some notes and thoughts to myselfChris Lattner2006-05-091-7/+7
| | | | llvm-svn: 28182
* Rename MO_VirtualRegister -> MO_Register. Clean up immediate handling.Chris Lattner2006-05-041-5/+5
| | | | llvm-svn: 28104
* Move some methods out of MachineInstr into MachineOperandChris Lattner2006-05-042-7/+6
| | | | llvm-svn: 28102
* There shalt be only one "immediate" operand type!Chris Lattner2006-05-042-7/+5
| | | | llvm-svn: 28099
* Remove a bunch more SparcV9 specific stuffChris Lattner2006-05-041-8/+1
| | | | llvm-svn: 28093
* Remove some more unused stuff from MachineInstr that was leftover from V9.Chris Lattner2006-05-041-4/+0
| | | | llvm-svn: 28091
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-033-7/+9
| | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
* Extend printBasicBlockLabel a bit so that it can be used to print allNate Begeman2006-05-021-4/+4
| | | | | | | basic block labels, consolidating the code to do so in one place for each target. llvm-svn: 28050
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-222-6/+3
| | | | | | | | x86 and ppc for 100% dense switch statements when relocations are non-PIC. This support will be extended and enhanced in the coming days to support PIC, and less dense forms of jump tables. llvm-svn: 27947
* Add the README files to the distribution.Reid Spencer2006-04-131-0/+1
| | | | llvm-svn: 27651
* Disable switch lowering for targets based on the selection dag isel,Nate Begeman2006-04-081-3/+0
| | | | | | letting the code generator handle them directly. llvm-svn: 27539
* Foundation for call frame information.Jim Laskey2006-04-072-1/+8
| | | | llvm-svn: 27491
* Expose base register for DwarfWriter. Refactor code accordingly.Jim Laskey2006-03-282-11/+4
| | | | llvm-svn: 27225
* Translate llvm target registers to dwarf register numbers properly.Jim Laskey2006-03-271-1/+1
| | | | llvm-svn: 27180
* SelectionDAGISel can now natively handle Switch instructions, in the sameNate Begeman2006-03-271-1/+9
| | | | | | | | | | | | | | manner that the LowerSwitch LLVM to LLVM pass does: emitting a binary search tree of basic blocks. The new approach has several advantages: it is faster, it generates significantly smaller code in many cases, and it paves the way for implementing dense switch tables as a jump table by handling switches directly in the instruction selector. This functionality is currently only enabled on x86, but should be safe for every target. In anticipation of making it the default, the cfg is now properly updated in the x86, ppc, and sparc select lowering code. llvm-svn: 27156
* #include Intrinsics.h into all dag iselsChris Lattner2006-03-251-0/+1
| | | | llvm-svn: 27109
* D'oh - should be even numbered.Jim Laskey2006-03-241-15/+15
| | | | llvm-svn: 27088
* Add dwarf register numbering to register data.Jim Laskey2006-03-241-31/+80
| | | | llvm-svn: 27081
* Add support to locate local variables in frames (early version.)Jim Laskey2006-03-232-0/+15
| | | | llvm-svn: 26994
* Eliminate IntrinsicLowering from TargetMachine.Chris Lattner2006-03-232-6/+3
| | | | | | Make the CBE and V9 backends create their own, since they're the only ones that use it. llvm-svn: 26974
* Remove BRTWOWAY*Nate Begeman2006-03-171-2/+0
| | | | | | | | Make the PPC backend not dependent on BRTWOWAY_CC and make the branch selector smarter about the code it generates, fixing a case in the readme. llvm-svn: 26814
* Add support for 'special' llvm globals like debug info and static ctors/dtors.Chris Lattner2006-03-091-1/+6
| | | | llvm-svn: 26628
* Copysign needs to be expanded everywhere. Note that Alpha and IA64 shouldChris Lattner2006-03-051-0/+2
| | | | | | implement copysign as a native op if they have it. llvm-svn: 26541
* Don't print constant initializers, they may span lines now.Chris Lattner2006-02-271-2/+0
| | | | llvm-svn: 26403
* The HasNoV9 hack isn't needed here, now that tblgen knows that ↵Chris Lattner2006-02-211-3/+2
| | | | | | | | CustomDAGSchedInserter instructions are expensive. llvm-svn: 26298
* kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBCNate Begeman2006-02-172-41/+18
| | | | | | | and SUBE nodes that actually expose what's going on and allow for significant simplifications in the targets. llvm-svn: 26255
* Rework the SelectionDAG-based implementations of SimplifyDemandedBitsNate Begeman2006-02-161-13/+26
| | | | | | | and ComputeMaskedBits to match the new improved versions in instcombine. Tested against all of multisource/benchmarks on ppc. llvm-svn: 26238
* Sparc actually *DOES* have a directive for emitting zeros. In fact, it requiresChris Lattner2006-02-151-1/+1
| | | | | | | | | | | | it, because this: .bss X: .byte 0 results in the assembler warning: "initialization in bss segment". Annoying. llvm-svn: 26204
* Fix SingleSource/Regression/C/2004-08-12-InlinerAndAllocas.c on Sparc.Chris Lattner2006-02-151-1/+22
| | | | | | | | The ABI specifies that there is a register save area at the bottom of the stack, which means the actual used pointer needs to be an offset from the subtracted value. llvm-svn: 26202
OpenPOWER on IntegriCloud