aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target
Commit message (Collapse)AuthorAgeFilesLines
* InstSelectSimple.cpp: (visitReturnInst) Add return instructions with returnBrian Gaeke2002-11-113-18/+129
| | | | | | | | values. X86InstrInfo.def: add LEAVE instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4691 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix warningChris Lattner2002-11-091-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4649 91177308-0d34-0410-b5e6-96231b3b80d8
* _REALLY_ fix the float constant problemChris Lattner2002-11-072-6/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4609 91177308-0d34-0410-b5e6-96231b3b80d8
* Print out 'float' constants correctlyChris Lattner2002-11-072-6/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4607 91177308-0d34-0410-b5e6-96231b3b80d8
* Add instruction selection code and tests for setcc instructionsBrian Gaeke2002-11-073-3/+336
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4603 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes escapeing bug in strings. Fixes test case ↵Nick Hildenbrandt2002-11-062-4/+4
| | | | | | test/Regression/CBackend/2002-11-06-PrintEscaped.c git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4583 91177308-0d34-0410-b5e6-96231b3b80d8
* Loads and stores can't be inlined. This fixes test/Singlesource/matrixTransposeNick Hildenbrandt2002-11-062-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4579 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a nasty little semi-colon someone introduced whichVikram S. Adve2002-11-061-1/+1
| | | | | | | prevented any machine instrs from being printed! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4557 91177308-0d34-0410-b5e6-96231b3b80d8
* Move function to cpp file from headerChris Lattner2002-11-022-5/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4510 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement signed and unsigned division and remainderChris Lattner2002-11-023-12/+128
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4508 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement multiply operatorChris Lattner2002-11-023-2/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4506 91177308-0d34-0410-b5e6-96231b3b80d8
* * Implement subtractChris Lattner2002-11-023-58/+37
| | | | | | | * Merge add code into logical code git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4503 91177308-0d34-0410-b5e6-96231b3b80d8
* shuffle code around a bit, implement and, or, xorChris Lattner2002-11-023-65/+148
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4502 91177308-0d34-0410-b5e6-96231b3b80d8
* Add PHI node support, add comment for branch functionChris Lattner2002-11-022-0/+42
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4500 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement unconditional branching supportChris Lattner2002-11-023-1/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4498 91177308-0d34-0410-b5e6-96231b3b80d8
* * Fix nonconstant shift caseChris Lattner2002-11-022-108/+38
| | | | | | | * Turn table into 2d table git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4496 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a more table driven approach to handling types. Seems to simplify theChris Lattner2002-11-022-394/+224
| | | | | | | code a bit git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4493 91177308-0d34-0410-b5e6-96231b3b80d8
* Make switch statements denser, but only because of the follow-on patchChris Lattner2002-11-022-64/+92
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4492 91177308-0d34-0410-b5e6-96231b3b80d8
* * Remove dead variableChris Lattner2002-11-022-8/+12
| | | | | | | * Shift amount is always guaranteed to be 8 bits git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4491 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed bug in Regression/CBackend/2002-10-30-FunctionPointerAlloca.llNick Hildenbrandt2002-11-012-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4486 91177308-0d34-0410-b5e6-96231b3b80d8
* New iostream definitionsChris Lattner2002-11-011-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4482 91177308-0d34-0410-b5e6-96231b3b80d8
* InstSelectSimple.cpp: Include llvm/iOther.h for ShiftInst.Brian Gaeke2002-10-313-5/+401
| | | | | | | | | | Add ISel::visitShiftInst() to instruction select shift instructions. Add a comment in visitAdd about how to do 64 bit adds. X86InstrInfo.def: Add register-to-register move opcodes and shift opcodes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4477 91177308-0d34-0410-b5e6-96231b3b80d8
* Reassociate pass now worksChris Lattner2002-10-311-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4473 91177308-0d34-0410-b5e6-96231b3b80d8
* Bug fix: need to initialize new CallArgsDescriptor pointer.Vikram S. Adve2002-10-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4453 91177308-0d34-0410-b5e6-96231b3b80d8
* In getID(), don't call getValidSymbolName to mangle external names!Vikram S. Adve2002-10-301-4/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4451 91177308-0d34-0410-b5e6-96231b3b80d8
* Add lots more infoChris Lattner2002-10-301-35/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4450 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to set the destination register correctlyChris Lattner2002-10-302-20/+18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4444 91177308-0d34-0410-b5e6-96231b3b80d8
* Set the destination register field based on the target specific flagsChris Lattner2002-10-302-2/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4442 91177308-0d34-0410-b5e6-96231b3b80d8
* Add flag to specify when no value is produced by an instructionChris Lattner2002-10-302-12/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4441 91177308-0d34-0410-b5e6-96231b3b80d8
* Sparc backend doesn't use target specific flags yetChris Lattner2002-10-301-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4440 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the new optional getRegisterInfoChris Lattner2002-10-301-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4437 91177308-0d34-0410-b5e6-96231b3b80d8
* Print machine code after instruction selectionChris Lattner2002-10-301-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4434 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure to pass the LLVM basic block inChris Lattner2002-10-302-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4433 91177308-0d34-0410-b5e6-96231b3b80d8
* Construct annotation, to make sure it's attached to functionChris Lattner2002-10-292-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4429 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix spelling of `propagate'.Misha Brukman2002-10-292-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4423 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert backend to use passes, implement X86TargetMachineChris Lattner2002-10-297-56/+171
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4421 91177308-0d34-0410-b5e6-96231b3b80d8
* These are no longer virtual methodsChris Lattner2002-10-291-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4420 91177308-0d34-0410-b5e6-96231b3b80d8
* * Privatize the TargetNameChris Lattner2002-10-292-7/+4
| | | | | | | | * Move optSizeForSubWordData to TargetData * Remove unused fields git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4417 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement findOptimalStorageSize a bit more generallyChris Lattner2002-10-291-15/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4416 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow TargetMachine to refuse static code genChris Lattner2002-10-292-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4415 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename X86InstructionInfo to X86InstrInfoChris Lattner2002-10-295-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4413 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor renamingChris Lattner2002-10-295-10/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4410 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove unneccesary #includesChris Lattner2002-10-292-2/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4408 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename Sparc.h to TargetMachineImpls.hChris Lattner2002-10-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4407 91177308-0d34-0410-b5e6-96231b3b80d8
* Reenable X86 backend, even though it doesn't do much, at least it compilesChris Lattner2002-10-291-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4404 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove separate vector of implicit refs from MachineInstr, andVikram S. Adve2002-10-291-9/+6
| | | | | | | | | instead record them as extra operands in the operands[] vector. Also, move CallArgsDescriptor into this class instead of making it an annotation on the machine instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4399 91177308-0d34-0410-b5e6-96231b3b80d8
* Move CallArgsDescriptor into this class instead of making it anVikram S. Adve2002-10-291-2/+7
| | | | | | | annotation on the machine instruction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4398 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4397 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to generating machineinstr's instead of MInstructionsChris Lattner2002-10-292-38/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4396 91177308-0d34-0410-b5e6-96231b3b80d8
* Be compatible with sparc backendChris Lattner2002-10-291-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4395 91177308-0d34-0410-b5e6-96231b3b80d8