summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
...
* Change MachineBasicBlock's to not be Annotations, instead they are kept asChris Lattner2002-10-283-27/+25
| | | | | | | 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
* Make Scheduling Class variables be 'unsigned' instead of 'int'Chris Lattner2002-10-281-3/+3
| | | | llvm-svn: 4333
* Rename the redundant MachineOperand::getOperandType() to ↵Chris Lattner2002-10-284-46/+45
| | | | | | MachineOperand::getType() llvm-svn: 4331
* Fairly major overhaul of MachineInstr & Operand classesChris Lattner2002-10-281-6/+21
| | | | | | | | - Inline methods that are mostly a single line anyway - Eliminate several methods that were never called - Group methods a bit more consistently llvm-svn: 4329
* Add #includes now that MachineInstr.h doesn't include ↵Chris Lattner2002-10-286-0/+6
| | | | | | llvm/Target/MachineInstrInfo.h llvm-svn: 4327
* Don't #include <Support/*>, #include "Support/*"Chris Lattner2002-10-281-1/+1
| | | | llvm-svn: 4325
* *** empty log message ***Chris Lattner2002-10-284-4/+0
| | | | llvm-svn: 4323
* MachineFunction now includes MachineBasicBlock so there is no need toChris Lattner2002-10-281-1/+0
| | | | | | reinclude it llvm-svn: 4322
* Rename MachineCodeForBasicBlock to MachineBasicBlockChris Lattner2002-10-285-22/+22
| | | | llvm-svn: 4318
* *** empty log message ***Chris Lattner2002-10-282-26/+25
| | | | llvm-svn: 4317
* Inline some methods from .cpp files into .h files, minor cleanupsChris Lattner2002-10-282-39/+15
| | | | llvm-svn: 4313
* Minor cleanupsChris Lattner2002-10-281-11/+11
| | | | llvm-svn: 4312
* Move machine code generation/destruction passes out of Sparc.cpp becauseChris Lattner2002-10-281-0/+56
| | | | | | they are generic llvm-svn: 4310
* Prune #includesChris Lattner2002-10-281-2/+0
| | | | llvm-svn: 4307
* Updates to match misha's changesChris Lattner2002-10-281-3/+3
| | | | llvm-svn: 4302
* Changed `MachineCodeForMethod' to `MachineFunction'.Misha Brukman2002-10-287-28/+28
| | | | llvm-svn: 4301
* Initial checkin of codegen infrastructure for LLVM-JITChris Lattner2002-10-253-1/+109
| | | | llvm-svn: 4282
* Tell PassManager that this pass does not invalidate the CFG so that dominatorChris Lattner2002-10-232-0/+5
| | | | | | information and Loop info will not have to be recomputed after this runs. llvm-svn: 4269
* Ensure definate initializationChris Lattner2002-10-221-1/+1
| | | | llvm-svn: 4263
* - Two minor improvements to the MachineInstr class to reduce footprint andChris Lattner2002-10-222-13/+12
| | | | | | | overhead: Merge 3 parallel vectors into 1, change regsUsed hash_set to be a bitvector. Sped up LLC a little less than 10% in a debug build! llvm-svn: 4261
* 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
* Use vectors instead of hash_maps for issueGaps and conflictLists.Vikram S. Adve2002-10-131-15/+9
| | | | | | | These hash lookups were a major sink of time because they happen so often! Also, add option to disable scheduling. llvm-svn: 4138
* Major bug fix: was not adding CD edges for RETURNs!Vikram S. Adve2002-10-131-8/+10
| | | | llvm-svn: 4137
* Major bug fix: spill code for an instruction in a delay slot wasVikram S. Adve2002-10-111-11/+73
| | | | | | merrily being inserted before/after the instruction! llvm-svn: 4116
* Don't pad variables in stack slots for performance!Vikram S. Adve2002-10-111-2/+2
| | | | llvm-svn: 4115
* 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
* Convert DIRS to PARALLEL_DIRS. They can be built independently.Vikram S. Adve2002-09-291-1/+1
| | | | llvm-svn: 3972
* Added a couple of helper methods for live range construction.Vikram S. Adve2002-09-281-13/+12
| | | | llvm-svn: 3970
* Live ranges for Return value and return address of a Call are nowVikram S. Adve2002-09-281-91/+71
| | | | | | | created here, simply by handling all implicit operands (which should have been done anyway). llvm-svn: 3969
* Fixed method getReturnValue(): it should return NULL if theVikram S. Adve2002-09-281-0/+7
| | | | | | callee does not return a value. llvm-svn: 3968
* Fixed incorrect assertion: spill code for function ptr should beVikram S. Adve2002-09-281-3/+4
| | | | | | handled like normal operands, not like other call arguments. llvm-svn: 3967
* Sign-extend integer constants from original type size to 64 bits!Vikram S. Adve2002-09-271-5/+9
| | | | llvm-svn: 3958
* Add method IGNode::getCombinedDegree to count the sum of the degreesVikram S. Adve2002-09-201-0/+3
| | | | | | of two nodes, excluding duplicates. llvm-svn: 3848
* Add PostOpts/ and rename PreSelection/ to PreOpts/.Vikram S. Adve2002-09-201-1/+1
| | | | llvm-svn: 3847
* Add method MachineInstr::replace to rewrite a machine instruction in place.Vikram S. Adve2002-09-201-0/+16
| | | | llvm-svn: 3843
* Allow copy coalescing in more cases: if sum of node degrees is more thanVikram S. Adve2002-09-202-1/+26
| | | | | | | | than #available regs, compute the sum excluding duplicates and if that is less than #regs, go ahead and coalesce. Add method IGNode::getCombinedDegree to count excluding duplicates. llvm-svn: 3842
* Peephole optimization pass on final machine code.Vikram S. Adve2002-09-201-0/+9
| | | | llvm-svn: 3840
* Files moved to CodeGen/PreOpts.Vikram S. Adve2002-09-202-294/+0
| | | | llvm-svn: 3839
* Moving these files from Code/PreSelection to here.Vikram S. Adve2002-09-201-0/+8
| | | | | | | | | | | | | | | | Original logs for PreSelection.cpp: revision 1.2 date: 2002/09/17 23:50:32; author: lattner; state: Exp; lines: +1 -3 Don't put default parameter values into .cpp files, it breaks 3.x compilers revision 1.1 date: 2002/09/16 15:31:13; author: vadve; state: Exp; New preselection pass that specializes LLVM code for a target machine, while remaining in legal portable LLVM form and preserving type information and type safety. llvm-svn: 3838
* Don't put default parameter values into .cpp files, it breaks 3.x compilersChris Lattner2002-09-171-3/+1
| | | | llvm-svn: 3799
* Add support for GCC 2.96Chris Lattner2002-09-171-2/+2
| | | | llvm-svn: 3777
* Add subdirectory PreSelection.Vikram S. Adve2002-09-161-1/+1
| | | | llvm-svn: 3739
* New preselection pass that specializes LLVM code for a target machine,Vikram S. Adve2002-09-162-0/+296
| | | | | | | while remaining in legal portable LLVM form and preserving type information and type safety. llvm-svn: 3738
* Dump routine now writes out allocated register numbers if available.Vikram S. Adve2002-09-161-4/+13
| | | | llvm-svn: 3737
* Improve and fix error in allocating stack slots: adjust alignment after addingVikram S. Adve2002-09-161-73/+43
| | | | | | | base address of the relevant region (instead of assuming that each region is maximally aligned). llvm-svn: 3736
* Add a version of ChooseRegOrImmed to handle numerical constantsVikram S. Adve2002-09-161-83/+118
| | | | | | introduced by InstrSelection. llvm-svn: 3735
* Add an assertion.Vikram S. Adve2002-09-161-0/+1
| | | | llvm-svn: 3734
* Fix typos in previous checkin.Vikram S. Adve2002-09-151-2/+2
| | | | llvm-svn: 3726
* RegAllocCommon no longer includes CommandLine.h so we have to include itChris Lattner2002-09-151-0/+1
| | | | | | here. llvm-svn: 3725
* Break RA_DEBUG option into several levels to get better control overVikram S. Adve2002-09-146-104/+117
| | | | | | debug output. llvm-svn: 3724
OpenPOWER on IntegriCloud