summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/SparcISelDAGToDAG.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Assert when TLS is not implemented.Lauro Ramos Venancio2007-07-111-0/+3
| | | | llvm-svn: 39737
* Move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits fromDan Gohman2007-06-221-2/+6
| | | | | | | | | TargetLowering to SelectionDAG so that they have more convenient access to the current DAG, in preparation for the ValueType routines being changed from standalone functions to members of SelectionDAG for the pre-legalize vector type changes. llvm-svn: 37704
* Refactoring of formal parameter flags. Enable properly use ofAnton Korobeynikov2007-03-071-2/+4
| | | | | | zext/sext/aext stuff. llvm-svn: 35008
* Simplify lowering and selection of exception ops.Jim Laskey2007-02-221-3/+0
| | | | llvm-svn: 34488
* Support to provide exception and selector registers.Jim Laskey2007-02-211-0/+3
| | | | llvm-svn: 34482
* Finish off bug 680, allowing targets to custom lower frame and returnNate Begeman2007-01-291-0/+4
| | | | | | address nodes. llvm-svn: 33636
* Make LABEL a builtin opcode.Jim Laskey2007-01-261-1/+1
| | | | llvm-svn: 33537
* For PR950:Reid Spencer2006-12-311-19/+21
| | | | | | | | | | | | | | | | | | Three changes: 1. Convert signed integer types to signless versions. 2. Implement the @sext and @zext parameter attributes. Previously the type of an function parameter was used to determine whether it should be sign extended or zero extended before the call. This information is now communicated via the function type's parameter attributes. 3. The interface to LowerCallTo had to be changed in order to accommodate the parameter attribute information. Although it would have been convenient to pass in the FunctionType itself, there isn't always one present in the caller. Consequently, a signedness indication for the result type and for each parameter was provided for in the interface to this method. All implementations were changed to make the adjustment necessary. llvm-svn: 32788
* What should be the last unnecessary <iostream>s in the library.Bill Wendling2006-12-071-1/+0
| | | | llvm-svn: 32333
* Change MachineInstr ctor's to take a TargetInstrDescriptor reference insteadEvan Cheng2006-11-271-2/+3
| | | | | | of opcode and number of operands. llvm-svn: 31947
* Match tblegen changes.Evan Cheng2006-11-081-6/+7
| | | | llvm-svn: 31571
* All targets expand BR_JT for now.Evan Cheng2006-10-301-1/+2
| | | | llvm-svn: 31294
* Merge ISD::TRUNCSTORE to ISD::STORE. Switch to using StoreSDNode.Evan Cheng2006-10-131-7/+6
| | | | llvm-svn: 30945
* Reflects ISD::LOAD / ISD::LOADX / LoadSDNode changes.Evan Cheng2006-10-091-10/+10
| | | | llvm-svn: 30844
* Make use of getStore().Evan Cheng2006-10-051-8/+7
| | | | llvm-svn: 30759
* Combine ISD::EXTLOAD, ISD::SEXTLOAD, ISD::ZEXTLOAD into ISD::LOADX. Add anEvan Cheng2006-10-041-4/+4
| | | | | | extra operand to LOADX to specify the exact value extension type. llvm-svn: 30714
* Reflects MachineConstantPoolEntry changes.Evan Cheng2006-09-121-1/+1
| | | | llvm-svn: 30279
* SelectNodeTo now returns a SDNode*.Evan Cheng2006-08-261-2/+2
| | | | llvm-svn: 29901
* Select() no longer require Result operand by reference.Evan Cheng2006-08-261-6/+4
| | | | llvm-svn: 29898
* Match tblgen changes.Evan Cheng2006-08-261-6/+8
| | | | llvm-svn: 29895
* 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
* 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
* 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-241-1/+1
| | | | | | by Anton Korobeynikov! This is a step towards closing PR786. llvm-svn: 28447
* Remove dead variable.Chris Lattner2006-05-121-1/+0
| | | | llvm-svn: 28247
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-221-0/+1
| | | | | | | | 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
* 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
* 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
* 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
* kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBCNate Begeman2006-02-171-35/+0
| | | | | | | 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
* 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
* Switch targets over to using SelectionDAG::getCALLSEQ_START to createChris Lattner2006-02-131-2/+1
| | | | | | CALLSEQ_START nodes. llvm-svn: 26143
* Use the auto-generated call matcher. Remove a broken impl of the ↵Chris Lattner2006-02-101-55/+12
| | | | | | | | | | frameaddr/returnaddr intrinsics. Autogen frameindex matcher llvm-svn: 26107
* Match getTargetNode() changes (now return SDNode* instead of SDOperand).Evan Cheng2006-02-091-24/+29
| | | | llvm-svn: 26085
* Adjust to MachineConstantPool interface change: instead of keeping aChris Lattner2006-02-091-1/+1
| | | | | | value/alignment pair for each constant, keep a value/offset pair. llvm-svn: 26078
* Change Select() fromEvan Cheng2006-02-091-32/+49
| | | | | | | | SDOperand Select(SDOperand N); to void Select(SDOperand &Result, SDOperand N); llvm-svn: 26067
* Fix the Sparc backend with Evan's recent tblgen changesChris Lattner2006-02-051-7/+7
| | | | llvm-svn: 26009
* Use SelectRoot() as the entry to any tblgen based isel.Evan Cheng2006-02-051-1/+2
| | | | llvm-svn: 25998
* Rename SPARC V8 target to be the LLVM SPARC target.Chris Lattner2006-02-051-0/+1147
llvm-svn: 25985
OpenPOWER on IntegriCloud