summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Allow explicit physical registers for implicit operands.Vikram S. Adve2003-05-311-1/+11
| | | | llvm-svn: 6468
* Changes to allow explicit physical register arguments that have beenVikram S. Adve2003-05-312-42/+96
| | | | | | | | | | preallocated. While reg-to-reg dependences were already handled, this change required new code for adding edges to/from call instructions. This was part of the extensive changes to the way code generation occurs for function call arguments and return values. See log for CodeGen/PhyRegAlloc.cpp. llvm-svn: 6467
* Extensive changes to the way code generation occurs for functionVikram S. Adve2003-05-312-157/+261
| | | | | | | | | | | | | | call arguments and return values: Now all copy operations before and after a call are generated during selection instead of during register allocation. The values are copied to virtual registers (or to the stack), but in the former case these operands are marked with the correct physical registers according to the calling convention. Although this complicates scheduling and does not work well with live range analysis, it simplifies the machine-dependent part of register allocation. llvm-svn: 6465
* When converting virtual registers to immediate constants, change the opcode.Misha Brukman2003-05-301-0/+14
| | | | llvm-svn: 6452
* Added saveBBreferences() for BasicBlock resolution.Misha Brukman2003-05-301-4/+8
| | | | llvm-svn: 6451
* so far everything compilesGuochun Shi2003-05-302-23/+39
| | | | llvm-svn: 6423
* Correctly write out binary data as chars, before they're cast to ints.Misha Brukman2003-05-281-2/+1
| | | | llvm-svn: 6385
* Added a debugging code emitter that prints code to a file, debug to std::cerr,Misha Brukman2003-05-271-0/+121
| | | | | | | and passes the real code to a memory-outputting code emitter. This may be removed at a later point in development. llvm-svn: 6379
* (1) Added special register class containing (for now) %fsr.Vikram S. Adve2003-05-279-51/+54
| | | | | | | | | | | | | Fixed spilling of %fcc[0-3] which are part of %fsr. (2) Moved some machine-independent reg-class code to class TargetRegInfo from SparcReg{Class,}Info. (3) Renamed MachienOperand::opIsDef to MachineOperand::opIsDefOnly() and related functions and flags. Fixed several bugs where only "isDef" was being checked, not "isDefAndUse". llvm-svn: 6341
* Cleaned up code layout. No functional changes.Misha Brukman2003-05-222-678/+622
| | | | llvm-svn: 6304
* Kill `using' directives.Misha Brukman2003-05-222-51/+47
| | | | llvm-svn: 6301
* Use a kill, not a dead definition, update commentChris Lattner2003-05-121-5/+4
| | | | llvm-svn: 6131
* * Keep LiveVariable information more up-to-date and consistentChris Lattner2003-05-121-7/+87
| | | | | | | | | * *** Finally mark values that are inputs to PHIs as killed when appropriate. This should make the generated code quite a bit better. For example, the local-ra will not have to spill PHI inputs at the end of predecessor BB's anymore. llvm-svn: 6117
* Fix bug where we could iterate off the end of a basic blockChris Lattner2003-05-121-2/+3
| | | | llvm-svn: 6116
* * Keep the BBMap around as long as the pass is liveChris Lattner2003-05-121-8/+23
| | | | | | | * Change getVarInfo to take real virtual register numbers and offset them itself. This has caused me so much grief, it's not even funny. llvm-svn: 6115
* Fix N^2 algorithmChris Lattner2003-05-121-25/+34
| | | | llvm-svn: 6112
* * Fix several commentsChris Lattner2003-05-121-6/+37
| | | | | | * Update LiveVar info better, fixing bug: Jello/2003-05-11-PHIRegAllocBug.ll llvm-svn: 6110
* Fix tab infestation!Chris Lattner2003-05-121-45/+45
| | | | llvm-svn: 6109
* Allow const functionsChris Lattner2003-05-091-2/+3
| | | | llvm-svn: 6056
* Add methods for stub function generationChris Lattner2003-05-081-0/+7
| | | | llvm-svn: 6054
* Add a vector to keep track of which registers are allocatable. Remove FIXMEsChris Lattner2003-05-071-14/+38
| | | | llvm-svn: 6015
* Re-add gross hack, it's still necessary. :(Chris Lattner2003-05-061-2/+12
| | | | llvm-svn: 6012
* Remove hideously nasty hackChris Lattner2003-05-061-12/+2
| | | | llvm-svn: 6011
* Debug output should go to cerr, not cout, because that's where bytecode goes.Misha Brukman2003-05-041-2/+2
| | | | llvm-svn: 6002
* Fix a bug which occurred with empty basic blocksChris Lattner2003-05-021-1/+1
| | | | llvm-svn: 5982
* Minor cleanupChris Lattner2003-05-011-4/+6
| | | | llvm-svn: 5976
* Remove unneccesary &*Chris Lattner2003-04-232-2/+2
| | | | llvm-svn: 5871
* Just some code beautification changes I had sitting around in my tree.Misha Brukman2003-04-222-22/+15
| | | | llvm-svn: 5859
* Fixed compilation errors, command-line argument declarations, cleaned up code toMisha Brukman2003-04-104-267/+257
| | | | | | | | | | | | look nicer and removed useless stuff. Also renamed a few variables, moved them into namespaces, converted outputting to a file into a print to std::cerr with a DEBUG() guard, as all passes should do anyway. No functional changes have been made. However, this code now compiles. llvm-svn: 5769
* Made the code readable:Misha Brukman2003-04-094-1884/+1977
| | | | | | | | | * Lines must be wrapped at 80 chars. This is a hard limit. * Consistent style on functions, braces, if, for, etc. Code must be readable. No functional changes have been made, even though I added a new typedef. llvm-svn: 5768
* change the include file names and some class names to make it compileGuochun Shi2003-04-064-24/+30
| | | | llvm-svn: 5764
* *** empty log message ***Guochun Shi2003-03-275-0/+2726
| | | | llvm-svn: 5755
* Print machine frame objects with the frame offset intrinsic to the machineChris Lattner2003-01-161-7/+12
| | | | llvm-svn: 5329
* Fix problems with empty basic blocksChris Lattner2003-01-163-12/+16
| | | | llvm-svn: 5326
* Arg, fix bugs in previous checkin...Chris Lattner2003-01-161-2/+2
| | | | llvm-svn: 5322
* Add assertionChris Lattner2003-01-161-2/+5
| | | | llvm-svn: 5321
* * Insert prolog/epilog code before rewriting indexesChris Lattner2003-01-151-23/+23
| | | | | | * Fix calculation of frame offsets when there is an offset. llvm-svn: 5318
* Move sparc specific code into the Sparc backendChris Lattner2003-01-151-256/+2
| | | | llvm-svn: 5317
* Adjust to new interfacesChris Lattner2003-01-152-6/+8
| | | | llvm-svn: 5314
* Move headers aroundChris Lattner2003-01-152-2/+2
| | | | llvm-svn: 5312
* Header is moved into local directoryChris Lattner2003-01-151-3/+2
| | | | llvm-svn: 5311
* Fix bug in previous checkinChris Lattner2003-01-151-1/+2
| | | | llvm-svn: 5310
* Add new methodChris Lattner2003-01-151-0/+1
| | | | llvm-svn: 5309
* #include RegClass.h explicitlyChris Lattner2003-01-154-4/+5
| | | | llvm-svn: 5307
* Remvoe dependency on RegClass.hChris Lattner2003-01-151-3/+4
| | | | llvm-svn: 5306
* Prune #includesChris Lattner2003-01-151-1/+0
| | | | llvm-svn: 5303
* Minor changesChris Lattner2003-01-152-30/+27
| | | | llvm-svn: 5302
* Remove obsolete ctorChris Lattner2003-01-151-9/+0
| | | | llvm-svn: 5301
* Remove dead codeChris Lattner2003-01-151-67/+0
| | | | llvm-svn: 5298
* Use buildmi not MI ctor directlyChris Lattner2003-01-151-3/+2
| | | | llvm-svn: 5293
OpenPOWER on IntegriCloud