summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Grab bag of minor cleanups. Export some statistics about the number ofChris Lattner2002-12-151-46/+56
| | | | | | spills and reloads emitted llvm-svn: 5054
* Implement printing of MBB argumentsChris Lattner2002-12-152-19/+29
| | | | llvm-svn: 5053
* Simplify interfaces used by regalloc to insert codeChris Lattner2002-12-153-53/+38
| | | | llvm-svn: 5052
* * Simplify code a bit by breaking the PHI node handling stuff out into a ↵Chris Lattner2002-12-151-152/+161
| | | | | | | | | | seperate function from normal regalloc code * Make the regalloc for a block a function instead of part of runOnMachineBB, which makes it easier to see what's going on in runOnMBB. llvm-svn: 5051
* Changes to make new TargetRegisterClass interface.Chris Lattner2002-12-151-61/+32
| | | | llvm-svn: 5050
* * Remove some unneccesary instance variablesChris Lattner2002-12-151-19/+16
| | | | | | * Make allocateStackSpaceFor only allocate the right amount of space llvm-svn: 5048
* * Simplify TargetRegisterClass implementationsChris Lattner2002-12-152-26/+9
| | | | | | * Change regclass iterators to use an extra level of pointers llvm-svn: 5047
* pull inverse reg class mapping into a class that is sharable and out of theChris Lattner2002-12-151-6/+28
| | | | | | target register description classes. llvm-svn: 5045
* Prune #includesChris Lattner2002-12-151-8/+2
| | | | llvm-svn: 5044
* Remove extraneous #includes, perform FIXMEChris Lattner2002-12-151-10/+6
| | | | llvm-svn: 5043
* Fix bug: Assembler/2002-12-15-GlobalResolve.llChris Lattner2002-12-151-11/+16
| | | | llvm-svn: 5039
* planes is not spelled with an OChris Lattner2002-12-151-1/+1
| | | | llvm-svn: 5037
* Fix borkness with not using MachineBasicBlocks in PHI nodesChris Lattner2002-12-151-12/+1
| | | | llvm-svn: 5035
* Add support to cast from a bool typeChris Lattner2002-12-151-6/+12
| | | | | | | Add support for boolean constants add getClassB method llvm-svn: 5034
* Use MachineOperand::isFoo methods instead of our own global functionsChris Lattner2002-12-153-50/+22
| | | | llvm-svn: 5033
* Fix a huge performance problem in reassociate by introducing aChris Lattner2002-12-151-1/+7
| | | | | | rank map cache for instruction ranks llvm-svn: 5030
* Minor changes:Chris Lattner2002-12-151-19/+13
| | | | | | | | * Reword comment to make more clear * Don't print out BB's after modification made * Don't delete and new an instruction when we need to move something, just move it. llvm-svn: 5029
* Implement indirect function callsChris Lattner2002-12-132-2/+12
| | | | llvm-svn: 5024
* Make function code generation printing debug-only.Misha Brukman2002-12-131-4/+3
| | | | llvm-svn: 5023
* Fix bork in doMultiplyChris Lattner2002-12-131-3/+4
| | | | llvm-svn: 5021
* Add sanity checksChris Lattner2002-12-131-0/+2
| | | | llvm-svn: 5020
* Fixed a bug where moves due to phis were being neglected.Misha Brukman2002-12-131-23/+19
| | | | llvm-svn: 5019
* Cleaned up the code: factored out switch/case into a separate function, putMisha Brukman2002-12-131-43/+22
| | | | | | | constants in an array for quick lookup. Stole the idea from elsewhere in Jello. llvm-svn: 5017
* Need to insert all moves due to PHI nodes before *ALL* jumps in a predecessorMisha Brukman2002-12-131-15/+10
| | | | | | basic block, as there could be multiple. llvm-svn: 5016
* Insert phi code at top of blockChris Lattner2002-12-131-2/+5
| | | | llvm-svn: 5015
* lib/Target/X86/InstSelectSimple.cpp:Brian Gaeke2002-12-131-1/+1
| | | | | | | | The MachineBasicBlock variable name patrol hereby fines Chris Lattner one bag of nachos, for shadowing global names while his license to do so was under suspension. llvm-svn: 5014
* This should be more correct: invalidates physical registers that are used inMisha Brukman2002-12-131-4/+41
| | | | | | an instruction to avoid using them to allocate to other virtual registers. llvm-svn: 5013
* Implement cast bool to XChris Lattner2002-12-131-3/+4
| | | | llvm-svn: 5012
* Rename all BMI MachineBasicBlock operands to MBB.Brian Gaeke2002-12-131-21/+22
| | | | | | | Try to mess around with emitGEPOperation's elementSizeReg to make it work, again. llvm-svn: 5011
* Finish up iterator stuphChris Lattner2002-12-131-32/+49
| | | | llvm-svn: 5009
* Treat longs as ints => pretend they're all 32-bit values and squeeze them intoMisha Brukman2002-12-131-0/+6
| | | | | | 32-bit registers. llvm-svn: 5008
* Fixed bug with running out of registers. Also, reinstated namespace whichMisha Brukman2002-12-131-2/+5
| | | | | | disappeared during the last checkin. llvm-svn: 5007
* Code gen phi's correctlyChris Lattner2002-12-131-39/+109
| | | | llvm-svn: 5004
* Print X86 PHI nodes in a sane mannerChris Lattner2002-12-131-0/+16
| | | | llvm-svn: 5003
* This should handle register allocating PHI nodes.Misha Brukman2002-12-131-23/+97
| | | | llvm-svn: 5002
* Added moveReg2Reg() and moveImm2Reg() to accomodate moving data around due toMisha Brukman2002-12-132-0/+46
| | | | | | PHI nodes. llvm-svn: 5001
* lib/Target/X86/InstSelectSimple.cpp: Start counting arguments with 2,Brian Gaeke2002-12-132-14/+19
| | | | | | | | | | | | | | | | because arguments start two stack slots off of EBP. Break out of the for loop once the argument is found. Increment the counter at the end of the loop instead of the beginning. Use addRegOffset and compute the scale * index part at compile time instead of using the fancy load instruction. Just because an instruction set has wacky addressing modes doesn't mean we ought to use them (at least, if you believe Dave Patterson). lib/Target/X86/X86InstrBuilder.h: Add some comments. test/Regression/Jello/test-loadstore.ll: Let main return int 0. llvm-svn: 4999
* InstSelectSimple.cpp: Give promote32 a comment. Add initialBrian Gaeke2002-12-134-10/+33
| | | | | | | | | | | implementation of getReg() for arguments. MachineCodeEmitter.cpp: Fix using EBP with index, scale and no displacement (whew!) due to Chris. Printer.cpp: Fix printing out index and scale in memory references. llvm-svn: 4998
* Implement getelementptr constant exprsChris Lattner2002-12-132-33/+45
| | | | | | | Implement ConstantPointerRefs Treat long/ulongs as if they were integers. A hack, but an effective one llvm-svn: 4995
* brgBrian Gaeke2002-12-132-1/+33
| | | | | | | | | | | | | InstSelectSimple.cpp: Add stub implementation of visitFreeInst. Add comments that mention how we are failing to implement malloc/free. Add initial implementation of visitAllocaInst. X86TargetMachine.cpp: Include llvm/Transforms/Scalar.h. Add LowerAllocations pass before instruction selection. jello/Makefile: Add scalaropts.a. llvm-svn: 4994
* Emit the right form of mod/rm mod fieldChris Lattner2002-12-132-2/+2
| | | | llvm-svn: 4986
* Nicify a bitChris Lattner2002-12-131-2/+1
| | | | llvm-svn: 4985
* Fix encoding of CBW instructionChris Lattner2002-12-131-1/+1
| | | | llvm-svn: 4983
* Start allocating stack space at [ebp-4] to not overwrite the return address.Misha Brukman2002-12-131-2/+9
| | | | | | Also make all loads & stores 4-byte aligned for performance. ;) llvm-svn: 4982
* Moves now select correct opcode based on the data size.Misha Brukman2002-12-131-3/+18
| | | | llvm-svn: 4981
* Remove extranous #includeChris Lattner2002-12-131-1/+0
| | | | llvm-svn: 4980
* Rename MemArg* to Arg*Chris Lattner2002-12-135-49/+49
| | | | llvm-svn: 4979
* Make mem size an assertChris Lattner2002-12-133-27/+17
| | | | | | Add mem size flags to all instructions using an imm llvm-svn: 4978
* This is supposed to provide correct size for datatypes. Supposedly.Misha Brukman2002-12-132-4/+40
| | | | llvm-svn: 4977
* Take advantage of our knowledge of 2-address X86 instructions andMisha Brukman2002-12-121-7/+24
| | | | | | register-allocated them appropriately. llvm-svn: 4976
OpenPOWER on IntegriCloud