summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Order #includes alphabetically, local .h files first.Misha Brukman2004-09-031-3/+2
| | | | llvm-svn: 16153
* Fixes to make LLVM compile with vc7.1.Alkis Evlogimenos2004-09-032-2/+3
| | | | | | Patch contributed by Paolo Invernizzi! llvm-svn: 16152
* Change the way we choose a free register: instead of picking the firstAlkis Evlogimenos2004-09-021-4/+15
| | | | | | | free allocatable register, we prefer the a free one with the most uses of inactive intervals. llvm-svn: 16148
* Change the way we choose a free register: instead of picking the firstAlkis Evlogimenos2004-09-021-3/+14
| | | | | | | | | | | | | | | | | | | | | | free allocatable register, we prefer the a free one with the most uses of inactive intervals. This causes less spills and performes a bit better compared to gcc: Program | GCC/LLC (Before)| GCC/LLC (After) 164.gzip/164.gzip | 0.59 | 0.60 175.vpr/175.vpr | 0.57 | 0.58 176.gcc/176.gcc | 0.59 | 0.61 181.mcf/181.mcf | 0.94 | 0.95 186.crafty/186.crafty | 0.62 | 0.62 197.parser/197.parser | 0.89 | 0.88 252.eon/252.eon | 0.61 | 0.66 253.perlbmk/253.perlbmk | 0.79 | 0.84 254.gap/254.gap | 0.81 | 0.81 255.vortex/255.vortex | 0.92 | 0.93 256.bzip2/256.bzip2 | 0.69 | 0.69 300.twolf/300.twolf | 0.91 | 0.90 llvm-svn: 16147
* We don't need to sort the added vector as unhandled intervals areAlkis Evlogimenos2004-09-021-1/+0
| | | | | | stored in a binary heap. llvm-svn: 16143
* Changes For Bug 352Reid Spencer2004-09-0127-53/+53
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Be a bit more efficient when processing the active and inactiveAlkis Evlogimenos2004-09-012-52/+62
| | | | | | | | | lists. Instead of scanning the vector backwards, scan it forward and swap each element we want to erase. Then at the end erase all removed intervals at once. This doesn't save much: 0.08s out of 4s when compiling 176.gcc. llvm-svn: 16136
* Give a better assertion if we see a use before a def.Alkis Evlogimenos2004-09-011-0/+2
| | | | llvm-svn: 16135
* Minor code clarity changes.Alkis Evlogimenos2004-08-311-4/+6
| | | | llvm-svn: 16123
* Put this change back in after testing from Reid proved its innocence. ↵Nate Begeman2004-08-291-2/+2
| | | | | | getSpillSize now returns value in bits llvm-svn: 16102
* Remove dead code.Alkis Evlogimenos2004-08-281-1/+0
| | | | llvm-svn: 16077
* Now that LiveIntervals::addIntervalsForSpills is fixed, do not requireAlkis Evlogimenos2004-08-272-4/+0
| | | | | | LiveVariables. llvm-svn: 16076
* Only update LiveVariables if it is available. addIntervalsForSpillsAlkis Evlogimenos2004-08-271-9/+12
| | | | | | runs after the initial run of the live interval analysis. llvm-svn: 16075
* Back out this change as it broke the build last night. This should beAlkis Evlogimenos2004-08-272-0/+4
| | | | | | | investicated further as the linearscan variants don't really need LiveVariables... llvm-svn: 16074
* Back out change to divide getSpillSize by 8 until I figure out why it breaks ↵Nate Begeman2004-08-271-2/+2
| | | | | | x86, which has register sizes in bits. llvm-svn: 16073
* The linear scan variants do not require the LiveVariables analysis.Alkis Evlogimenos2004-08-272-4/+0
| | | | llvm-svn: 16071
* Register sizes are in bits, not bytesNate Begeman2004-08-271-2/+2
| | | | llvm-svn: 16070
* Use newly added API in MRegisterInfo and don't expose the allocatableAlkis Evlogimenos2004-08-261-13/+1
| | | | | | register set anymore. Its users now use the MRegisterInfo API. llvm-svn: 16061
* Use newly added API in MRegisterInfo.Alkis Evlogimenos2004-08-262-5/+6
| | | | llvm-svn: 16060
* Fix a bug in a previous checkin of mine, correctingChris Lattner2004-08-241-1/+1
| | | | | | | | | Regression.CodeGen.Generic.2004-04-09-SameValueCoalescing.llx and the code size problem. This bug prevented us from doing most register coallesces. llvm-svn: 16031
* Do not use .xword and friends to emit zeros on V9. Apparently there are issuesChris Lattner2004-08-241-6/+0
| | | | | | | | with emitting .xwords when not on an 8-byte boundary (.xword 0 is not the same as 8 .byte 0's). Because we do not know when or when we are not aligned, just emit bytes like the old V9 asmprinter did. llvm-svn: 16006
* Register info alignment is in bits, frame object alignment is (currently) inChris Lattner2004-08-211-1/+1
| | | | | | bytes. llvm-svn: 15970
* Now that we have per-register spill size/alignment info, remove more usesChris Lattner2004-08-211-4/+5
| | | | | | of getRegClass llvm-svn: 15967
* Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.Brian Gaeke2004-08-182-5/+4
| | | | llvm-svn: 15906
* Instead of using isDummyPhiInstr, we just compare the opcode with V9::PHI.Brian Gaeke2004-08-181-3/+3
| | | | | | Also, squash a use of TargetInstrInfo::isNop(). llvm-svn: 15905
* Rename varChris Lattner2004-08-181-10/+10
| | | | llvm-svn: 15897
* Add support for targets without a .zero directiveChris Lattner2004-08-171-4/+23
| | | | llvm-svn: 15894
* Add support for alignmentChris Lattner2004-08-171-0/+6
| | | | llvm-svn: 15888
* Use a designated comment character when printing comments.Chris Lattner2004-08-171-9/+18
| | | | llvm-svn: 15880
* Add support for targets that have .quad, drop extra tab insertedChris Lattner2004-08-171-6/+6
| | | | llvm-svn: 15870
* Implement emitGlobalConstantChris Lattner2004-08-171-0/+161
| | | | llvm-svn: 15868
* We now allow targets to use any prefix they want for global symbols. LetsChris Lattner2004-08-171-1/+1
| | | | | | hear it for ".". llvm-svn: 15863
* Some asmwriters want an _ prefixChris Lattner2004-08-171-1/+1
| | | | llvm-svn: 15845
* Initial implementation of the asmprinter base classChris Lattner2004-08-161-0/+110
| | | | llvm-svn: 15838
* Move this code to lib/Target/SparcV9/MachineFunctionInfo.cppChris Lattner2004-08-161-158/+1
| | | | llvm-svn: 15834
* This file is moving to lib/Target/SparcV9Chris Lattner2004-08-161-119/+0
| | | | llvm-svn: 15833
* Move MachineCodeForInstruction.h and MachineFunctionInfo.h into ↵Chris Lattner2004-08-165-9/+8
| | | | | | lib/Target/SparcV9 llvm-svn: 15830
* Nuke this fileChris Lattner2004-08-161-72/+0
| | | | llvm-svn: 15829
* Fold MachineInstrAnnot.cpp into this fileChris Lattner2004-08-161-0/+56
| | | | llvm-svn: 15828
* Add a note that people shouldn't use MachineFunctionInfo.Brian Gaeke2004-08-161-0/+2
| | | | llvm-svn: 15823
* Reduce usage of MRegisterInfo::getRegClassChris Lattner2004-08-152-3/+3
| | | | llvm-svn: 15784
* The insertion method returns void nowChris Lattner2004-08-151-5/+1
| | | | llvm-svn: 15779
* Nuke ifdef'd out codeChris Lattner2004-08-151-33/+0
| | | | llvm-svn: 15777
* Stop using CreateStackObject(RegClass*)Chris Lattner2004-08-155-9/+8
| | | | llvm-svn: 15775
* These methods no longer take a TargetRegisterClass* operand.Chris Lattner2004-08-154-18/+11
| | | | llvm-svn: 15774
* Make this compile on gc 3.4.1 (static_cast to non-const type was notAlkis Evlogimenos2004-08-151-2/+2
| | | | | | allowed). llvm-svn: 15766
* Elminiate MachineFunction& argument from eliminateFrameIndexNate Begeman2004-08-141-1/+1
| | | | llvm-svn: 15736
* Split saveCallerSavedRegisters into two methods for clarity, and add comments.Chris Lattner2004-08-121-9/+52
| | | | | | | | Add support for targets that must spill certain physregs at certain locations. Patch contributed by Nate Begeman, slightly hacked by me. llvm-svn: 15701
* Forward substitute some constants into their usersChris Lattner2004-08-121-5/+2
| | | | llvm-svn: 15693
* The only target that uses this code (v9) always has argsOnStackHaveFixedSizeChris Lattner2004-08-121-16/+1
| | | | | | set to true (obviously) llvm-svn: 15692
OpenPOWER on IntegriCloud