summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/InstrSelection
Commit message (Collapse)AuthorAgeFilesLines
* Move InstrSelection into lib/Target/Sparc, as it's sparc specificChris Lattner2004-01-094-1036/+0
| | | | llvm-svn: 10730
* Clean up a lot of the code I added yesterday by exposing the IntrinsicLoweringChris Lattner2003-12-281-8/+4
| | | | | | implementation from the TargetMachine directly. llvm-svn: 10636
* Whoops, don't try to lower non intrinsic callsChris Lattner2003-12-281-0/+1
| | | | llvm-svn: 10632
* Use the intrinsic lowering functionalityChris Lattner2003-12-281-15/+44
| | | | llvm-svn: 10626
* Change interface of MachineOperand as follows:Alkis Evlogimenos2003-12-141-2/+2
| | | | | | | | | | | | | | | a) remove opIsUse(), opIsDefOnly(), opIsDefAndUse() b) add isUse(), isDef() c) rename opHiBits32() to isHiBits32(), opLoBits32() to isLoBits32(), opHiBits64() to isHiBits64(), opLoBits64() to isLoBits64(). This results to much more readable code, for example compare "op.opIsDef() || op.opIsDefAndUse()" to "op.isDef()" a pattern used very often in the code. llvm-svn: 10461
* This appears to fix Bug 172 and does not break any other feature tests orJohn Criswell2003-12-101-0/+6
| | | | | | regression tests. llvm-svn: 10388
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-113-1/+14
| | | | llvm-svn: 9903
* Make code layout more consistent.Misha Brukman2003-10-233-318/+259
| | | | llvm-svn: 9426
* Added LLVM copyright notice to Makefiles.John Criswell2003-10-201-0/+8
| | | | llvm-svn: 9312
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-203-0/+21
| | | | | | Header files will be on the way. llvm-svn: 9298
* Change the Opcode enum for PHI nodes from "Instruction::PHINode" to ↵Chris Lattner2003-10-191-2/+2
| | | | | | "Instruction::PHI" to be more consistent with the other instructions. llvm-svn: 9269
* Decrease usage of use_size()Chris Lattner2003-10-151-1/+1
| | | | llvm-svn: 9135
* Fixed spelling.Misha Brukman2003-09-172-4/+4
| | | | llvm-svn: 8588
* The word `dependent' has no `a'.Misha Brukman2003-08-211-1/+1
| | | | llvm-svn: 8030
* Factory methods for function passes now return type FunctionPass *.Brian Gaeke2003-08-141-5/+2
| | | | | | Get rid of RegisterLLC, which can't handle FunctionPasses anyway. llvm-svn: 7836
* All constant-evaluation code now unified intoVikram S. Adve2003-07-291-31/+8
| | | | | | TargetInstrInfo::ConvertConstantToIntType(). llvm-svn: 7390
* Making this code const-correct would be a pain, so I'll hack it.Chris Lattner2003-07-261-4/+5
| | | | llvm-svn: 7350
* Remove unnecessary castsChris Lattner2003-07-231-2/+2
| | | | llvm-svn: 7250
* Remove using declChris Lattner2003-07-231-7/+4
| | | | llvm-svn: 7246
* Choose register instead of immediate for ConstantExpr in ChooseRegOrImmed.Vikram S. Adve2003-07-061-3/+4
| | | | llvm-svn: 7112
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-301-0/+1
| | | | | | system. llvm-svn: 7014
* Actually, change it to use explicit new/delete, which is more likely to beChris Lattner2003-06-161-2/+3
| | | | | | optimized INTO an alloca llvm-svn: 6727
* Remove two using declsChris Lattner2003-06-161-18/+14
| | | | | | Remove usage of alloca llvm-svn: 6725
* Isolate machine-dependent use of <alloca.h> in "Support/Alloca.h",Brian Gaeke2003-06-161-1/+1
| | | | | | | so that we can easily change its use to be conditional on the result of an autoconf test later. llvm-svn: 6723
* Do not hastily change the Opcode from 'r' to 'i' type if we're not actuallyMisha Brukman2003-06-071-7/+6
| | | | | | | | SETTING the operand to be an immediate or have verified that one of the operands is really a SignExtended or Unextended immediate value already, which warrants an 'i' opcode. llvm-svn: 6662
* I have finally seen the light. The code to change the opcode must live higher inMisha Brukman2003-06-041-4/+13
| | | | | | | | | | | the loop, and in both cases. In the first case, it is a VReg that is a constant so it may be actually converted to a constant. In the second case, it is already a constant, but then if it doesn't change its type (e.g. to become a register and have the value loaded from memory if it is too large to live in its instruction field), we must change the opcode BEFORE the 'continue', otherwise we miss the opportunity. llvm-svn: 6602
* Moved code to modify the opcode from 'reg' to 'imm' form to a more logical ↵Misha Brukman2003-06-031-15/+6
| | | | | | place. llvm-svn: 6563
* Added MachineCodeForInstruction object as an argument toVikram S. Adve2003-05-312-6/+13
| | | | | | | | TmpInstruction constructors because every TmpInstruction object has to be registered with a MachineCodeForInstruction to prevent leaks. This simplifies the user's code. llvm-svn: 6469
* When converting virtual registers to immediate constants, change the opcode.Misha Brukman2003-05-301-0/+14
| | | | llvm-svn: 6452
* Remove unneccesary &*Chris Lattner2003-04-231-1/+1
| | | | llvm-svn: 5871
* Move sparc specific code into the Sparc backendChris Lattner2003-01-151-256/+2
| | | | llvm-svn: 5317
* Fix bug in previous checkinChris Lattner2003-01-151-1/+2
| | | | llvm-svn: 5310
* Minor changesChris Lattner2003-01-152-30/+27
| | | | llvm-svn: 5302
* Remove dead codeChris Lattner2003-01-151-67/+0
| | | | llvm-svn: 5298
* Rename MachineInstrInfo -> TargetInstrInfoChris Lattner2003-01-141-2/+2
| | | | llvm-svn: 5272
* More renamings of Target/Machine*Info to Target/Target*InfoChris Lattner2002-12-292-2/+2
| | | | llvm-svn: 5204
* Fix warningChris Lattner2002-11-091-2/+2
| | | | llvm-svn: 4649
* Use higher level methodChris Lattner2002-10-291-2/+2
| | | | llvm-svn: 4386
* MachineInstrInfo no longer #includes this header, so we mustChris Lattner2002-10-281-1/+1
| | | | llvm-svn: 4366
* Remove usage of MachineBasicBlock::getChris Lattner2002-10-281-14/+18
| | | | llvm-svn: 4342
* Change MachineBasicBlock's to not be Annotations, instead they are kept asChris Lattner2002-10-281-4/+10
| | | | | | | part of a linked list tracked by MachineFunction. MachineBasicBlock::get is now linear time instead of constant time, and thus is deprecated! llvm-svn: 4337
* Rename the redundant MachineOperand::getOperandType() to ↵Chris Lattner2002-10-281-8/+8
| | | | | | MachineOperand::getType() llvm-svn: 4331
* Add #includes now that MachineInstr.h doesn't include ↵Chris Lattner2002-10-281-0/+1
| | | | | | llvm/Target/MachineInstrInfo.h llvm-svn: 4327
* *** empty log message ***Chris Lattner2002-10-281-1/+0
| | | | llvm-svn: 4323
* Rename MachineCodeForBasicBlock to MachineBasicBlockChris Lattner2002-10-281-5/+5
| | | | llvm-svn: 4318
* Changed `MachineCodeForMethod' to `MachineFunction'.Misha Brukman2002-10-282-3/+3
| | | | llvm-svn: 4301
* Tell PassManager that this pass does not invalidate the CFG so that dominatorChris Lattner2002-10-231-0/+4
| | | | | | information and Loop info will not have to be recomputed after this runs. llvm-svn: 4269
* Significant improvement: GEP used by a load or store no longer generatesVikram S. Adve2002-10-141-36/+74
| | | | | | | | | a separate ADD; instead just use the indexed load/store instruction! Also, a bug fix: folding a GEP with a leading non-zero index with its predecessor was incorrect: now it only happens if the predecessor is pointing to an indexable type (aka SequentialType). llvm-svn: 4168
* Bug fix in folding getElementPtr instructions: don't fold one intoVikram S. Adve2002-09-291-27/+45
| | | | | | | a predecessor if it has a non-zero first index and the predecessor ends with a struct index. llvm-svn: 3982
* Sign-extend integer constants from original type size to 64 bits!Vikram S. Adve2002-09-271-5/+9
| | | | llvm-svn: 3958
OpenPOWER on IntegriCloud