Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Major bug fix: spill code for an instruction in a delay slot was | Vikram S. Adve | 2002-10-11 | 1 | -11/+73 | |
| | | | | | | merrily being inserted before/after the instruction! llvm-svn: 4116 | |||||
* | Don't pad variables in stack slots for performance! | Vikram S. Adve | 2002-10-11 | 1 | -2/+2 | |
| | | | | llvm-svn: 4115 | |||||
* | Bug fix in folding getElementPtr instructions: don't fold one into | Vikram S. Adve | 2002-09-29 | 1 | -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. Adve | 2002-09-29 | 1 | -1/+1 | |
| | | | | llvm-svn: 3972 | |||||
* | Added a couple of helper methods for live range construction. | Vikram S. Adve | 2002-09-28 | 1 | -13/+12 | |
| | | | | llvm-svn: 3970 | |||||
* | Live ranges for Return value and return address of a Call are now | Vikram S. Adve | 2002-09-28 | 1 | -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 the | Vikram S. Adve | 2002-09-28 | 1 | -0/+7 | |
| | | | | | | callee does not return a value. llvm-svn: 3968 | |||||
* | Fixed incorrect assertion: spill code for function ptr should be | Vikram S. Adve | 2002-09-28 | 1 | -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. Adve | 2002-09-27 | 1 | -5/+9 | |
| | | | | llvm-svn: 3958 | |||||
* | Add method IGNode::getCombinedDegree to count the sum of the degrees | Vikram S. Adve | 2002-09-20 | 1 | -0/+3 | |
| | | | | | | of two nodes, excluding duplicates. llvm-svn: 3848 | |||||
* | Add PostOpts/ and rename PreSelection/ to PreOpts/. | Vikram S. Adve | 2002-09-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 3847 | |||||
* | Add method MachineInstr::replace to rewrite a machine instruction in place. | Vikram S. Adve | 2002-09-20 | 1 | -0/+16 | |
| | | | | llvm-svn: 3843 | |||||
* | Allow copy coalescing in more cases: if sum of node degrees is more than | Vikram S. Adve | 2002-09-20 | 2 | -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. Adve | 2002-09-20 | 1 | -0/+9 | |
| | | | | llvm-svn: 3840 | |||||
* | Files moved to CodeGen/PreOpts. | Vikram S. Adve | 2002-09-20 | 2 | -294/+0 | |
| | | | | llvm-svn: 3839 | |||||
* | Moving these files from Code/PreSelection to here. | Vikram S. Adve | 2002-09-20 | 1 | -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 compilers | Chris Lattner | 2002-09-17 | 1 | -3/+1 | |
| | | | | llvm-svn: 3799 | |||||
* | Add support for GCC 2.96 | Chris Lattner | 2002-09-17 | 1 | -2/+2 | |
| | | | | llvm-svn: 3777 | |||||
* | Add subdirectory PreSelection. | Vikram S. Adve | 2002-09-16 | 1 | -1/+1 | |
| | | | | llvm-svn: 3739 | |||||
* | New preselection pass that specializes LLVM code for a target machine, | Vikram S. Adve | 2002-09-16 | 2 | -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. Adve | 2002-09-16 | 1 | -4/+13 | |
| | | | | llvm-svn: 3737 | |||||
* | Improve and fix error in allocating stack slots: adjust alignment after adding | Vikram S. Adve | 2002-09-16 | 1 | -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 constants | Vikram S. Adve | 2002-09-16 | 1 | -83/+118 | |
| | | | | | | introduced by InstrSelection. llvm-svn: 3735 | |||||
* | Add an assertion. | Vikram S. Adve | 2002-09-16 | 1 | -0/+1 | |
| | | | | llvm-svn: 3734 | |||||
* | Fix typos in previous checkin. | Vikram S. Adve | 2002-09-15 | 1 | -2/+2 | |
| | | | | llvm-svn: 3726 | |||||
* | RegAllocCommon no longer includes CommandLine.h so we have to include it | Chris Lattner | 2002-09-15 | 1 | -0/+1 | |
| | | | | | | here. llvm-svn: 3725 | |||||
* | Break RA_DEBUG option into several levels to get better control over | Vikram S. Adve | 2002-09-14 | 6 | -104/+117 | |
| | | | | | | debug output. llvm-svn: 3724 | |||||
* | Remove unnecessary include. | Vikram S. Adve | 2002-09-14 | 1 | -2/+0 | |
| | | | | llvm-svn: 3723 | |||||
* | Break RA_DEBUG option into several levels to get better output. | Vikram S. Adve | 2002-09-14 | 1 | -0/+23 | |
| | | | | llvm-svn: 3722 | |||||
* | Moving to lib/CodeGen/RegAlloc. | Vikram S. Adve | 2002-09-14 | 1 | -18/+0 | |
| | | | | llvm-svn: 3718 | |||||
* | Fix a bug I introduced into the code generator. :( | Chris Lattner | 2002-09-12 | 1 | -1/+1 | |
| | | | | llvm-svn: 3694 | |||||
* | - Change getelementptr instruction to use long indexes instead of uint | Chris Lattner | 2002-09-11 | 1 | -8/+8 | |
| | | | | | | indexes for sequential types. llvm-svn: 3681 | |||||
* | Make sure the leakdetector is told about temporary Phi nodes also, so it doesn't | Chris Lattner | 2002-09-08 | 1 | -1/+6 | |
| | | | | | | erroneously report them as leaks llvm-svn: 3624 | |||||
* | Inform the memory leak detector that TmpInstruction objects should not be | Chris Lattner | 2002-09-08 | 1 | -0/+24 | |
| | | | | | | subject to memory leak checking. llvm-svn: 3623 | |||||
* | - Renamed Type::isIntegral() to Type::isInteger() | Chris Lattner | 2002-09-03 | 1 | -7/+7 | |
| | | | | | | | - Added new method Type::isIntegral() that is the same as isInteger, but also accepts bool. llvm-svn: 3574 | |||||
* | moved this file from lib/Reoptimizer/Mapping | Anand Shukla | 2002-08-27 | 1 | -0/+75 | |
| | | | | llvm-svn: 3519 | |||||
* | Makefile for new sub directory | Anand Shukla | 2002-08-27 | 1 | -0/+4 | |
| | | | | llvm-svn: 3518 | |||||
* | Added Mapping subdir | Anand Shukla | 2002-08-27 | 1 | -1/+1 | |
| | | | | llvm-svn: 3517 | |||||
* | Use newly-added type inspection support in InstTreeNode subclasses. | Vikram S. Adve | 2002-08-24 | 1 | -5/+4 | |
| | | | | llvm-svn: 3501 | |||||
* | Moved code here to extract memory instruction indices and to check | Vikram S. Adve | 2002-08-24 | 1 | -17/+96 | |
| | | | | | | | whether FoldGetElemNodes should be called. This is machine-independent but was in the Sparc directory. This is in a new function: GetMemInstArgs. llvm-svn: 3500 | |||||
* | Added #include <alloca.h> | Anand Shukla | 2002-08-23 | 1 | -0/+1 | |
| | | | | llvm-svn: 3491 | |||||
* | Eliminated the MemAccessInst class, folding contents into GEP class. | Chris Lattner | 2002-08-22 | 2 | -9/+8 | |
| | | | | llvm-svn: 3487 | |||||
* | dumpNode() does not need to print MachineInstrs. | Vikram S. Adve | 2002-08-22 | 1 | -15/+2 | |
| | | | | llvm-svn: 3444 | |||||
* | Unary Not (boolean and bitwise) is no longer a separate LLVM instruction | Vikram S. Adve | 2002-08-15 | 1 | -2/+7 | |
| | | | | | | | | | but is instead implemented with XOR. Note that the InstrForest opLabels for Not and BNot remain the same, i.e., the XOR is recognized and represented as a (boolean or bitwise) Not when building the instruction trees. But these tree nodes are now binary, not unary. llvm-svn: 3343 | |||||
* | Add method MachineInstr::substituteValue() which substitutes | Vikram S. Adve | 2002-08-14 | 1 | -0/+29 | |
| | | | | | | | one Value with another one in all operands and implicit references of the machine instruction. llvm-svn: 3306 | |||||
* | * Removed extraneous #includes | Chris Lattner | 2002-08-09 | 4 | -51/+16 | |
| | | | | | | | * Fixed file headers to be consistent with the rest of LLVM * Other minor fixes llvm-svn: 3278 | |||||
* | * Removed extraneous #includes | Chris Lattner | 2002-08-09 | 5 | -50/+23 | |
| | | | | | | | * Fixed file headers to be consistent with the rest of LLVM * Other minor fixes llvm-svn: 3277 | |||||
* | We are using std::vector, so remove extraneous namespace prefixes | Chris Lattner | 2002-08-09 | 1 | -8/+7 | |
| | | | | llvm-svn: 3275 | |||||
* | Very minor cleanups | Chris Lattner | 2002-08-09 | 1 | -23/+15 | |
| | | | | llvm-svn: 3271 | |||||
* | - Cleaned up the interface to AnalysisUsage to take analysis class names | Chris Lattner | 2002-08-08 | 1 | -1/+1 | |
| | | | | | | | instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument llvm-svn: 3265 |