| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix debug info for merged global. | Devang Patel | 2011-01-20 | 2 | -0/+166 |
| | | | | | llvm-svn: 123862 | ||||
| * | Divert Hopfield network debug output. It is very noisy. | Jakob Stoklund Olesen | 2011-01-19 | 1 | -1/+1 |
| | | | | | llvm-svn: 123859 | ||||
| * | Don't accidentally leave small gaps in the live ranges when leaving the active | Jakob Stoklund Olesen | 2011-01-19 | 1 | -2/+3 |
| | | | | | | | | | | | interval after an instruction. The leaveIntvAfter() method only adds liveness from the instruction's boundary index to the inserted copy. Ideally, SplitKit should be smarter about this, perhaps by combining useIntv() and leaveIntvAfter() into one method that guarantees continuity. llvm-svn: 123858 | ||||
| * | Make sure to propogate the error code when we fail to parse a modifier. | Jim Grosbach | 2011-01-19 | 1 | -1/+1 |
| | | | | | llvm-svn: 123857 | ||||
| * | Fix register address expression. Patch by Ken Dyck. | Devang Patel | 2011-01-19 | 1 | -4/+2 |
| | | | | | llvm-svn: 123856 | ||||
| * | Implement RAGreedy::splitAroundRegion and remove loop splitting. | Jakob Stoklund Olesen | 2011-01-19 | 3 | -102/+296 |
| | | | | | | | | | | | | | | | Region splitting includes loop splitting as a subset, and it is more generic. The splitting heuristics for variables that are live in more than one block are now: 1. Try to create a region that covers multiple basic blocks. 2. Try to create a new live range for each block with multiple uses. 3. Spill. Steps 2 and 3 are similar to what the standard spiller is doing. llvm-svn: 123853 | ||||
| * | Similarly, analyze truncate through multiply. | Nick Lewycky | 2011-01-19 | 2 | -0/+22 |
| | | | | | llvm-svn: 123842 | ||||
| * | Add a missed SCEV fold that is required to continue analyzing the IR produced | Nick Lewycky | 2011-01-19 | 2 | -1/+23 |
| | | | | | | | | | | | | by indvars through the scev expander. trunc(add x, y) --> add(trunc x, y). Currently SCEV largely folds the other way which is probably wrong, but preserved to minimize churn. Instcombine doesn't do this fold either, demonstrating a missed optz'n opportunity on code doing add+trunc+add. llvm-svn: 123838 | ||||
| * | Fix the encoding of mrrc and mcrr family of instructions. Also add testcases ↵ | Bruno Cardoso Lopes | 2011-01-19 | 2 | -16/+35 |
| | | | | | | | for mcr and mrc llvm-svn: 123837 | ||||
| * | Add unnamed_addr when we can show that address of a global is not used. | Rafael Espindola | 2011-01-19 | 7 | -20/+103 |
| | | | | | llvm-svn: 123834 | ||||
| * | Fix comment for gen-clang-decl-nodes tblgen backend, from Michael Han | Douglas Gregor | 2011-01-19 | 1 | -1/+1 |
| | | | | | llvm-svn: 123833 | ||||
| * | Add a missing SCEV simplification sext(zext x) --> zext x. | Nick Lewycky | 2011-01-19 | 2 | -0/+12 |
| | | | | | llvm-svn: 123832 | ||||
| * | ARM/ISel: Factor out isScaledConstantInRange() helper. | Daniel Dunbar | 2011-01-19 | 1 | -122/+110 |
| | | | | | llvm-svn: 123823 | ||||
| * | For ARM subtargets with useNEONForSinglePrecisionFP, double count uses | Andrew Trick | 2011-01-19 | 1 | -0/+16 |
| | | | | | | | | | of the floating point types less than 64-bits. It's somewhat of a temporary hack but forces more accurate modeling of register pressure and results in fewer spills. llvm-svn: 123811 | ||||
| * | whitespace | Andrew Trick | 2011-01-19 | 1 | -16/+16 |
| | | | | | llvm-svn: 123810 | ||||
| * | Don't forget to emit the load from indirect symbol when using movw + movt to ↵ | Evan Cheng | 2011-01-19 | 4 | -6/+14 |
| | | | | | | | materialize GA indirect symbols. llvm-svn: 123809 | ||||
| * | When matching asm operands, always try to match the most restricted type first. | Owen Anderson | 2011-01-18 | 2 | -3/+37 |
| | | | | | | | | | | | | | Unfortunately, while this is the "right" thing to do, it breaks some ARM asm parsing tests because MemMode5 and ThumbMemModeReg are ambiguous. This is tricky to resolve since neither is a subset of the other. XFAIL the test for now. The old way was broken in other ways, just ways we didn't happen to be testing, and our ARM asm parsing is going to require significant revisiting at a later point anyways. llvm-svn: 123786 | ||||
| * | Create two new generic classes to represent the following VMRS/VMSR variations: | Bruno Cardoso Lopes | 2011-01-18 | 4 | -30/+76 |
| | | | | | | | | | | vmrs reg, fpexc vmrs reg, fpsid vmsr fpexc, reg vmsr fpsid, reg llvm-svn: 123783 | ||||
| * | Fix MRS encoding for arm and thumb. | Bruno Cardoso Lopes | 2011-01-18 | 4 | -5/+13 |
| | | | | | llvm-svn: 123778 | ||||
| * | Fix the encoding of t2ISB by using the right class and also parse it correctly | Bruno Cardoso Lopes | 2011-01-18 | 4 | -2/+7 |
| | | | | | llvm-svn: 123776 | ||||
| * | Teach BasicAA to return PartialAlias in cases where both pointers | Dan Gohman | 2011-01-18 | 2 | -12/+68 |
| | | | | | | | | | are pointing to the same object, one pointer is accessing the entire object, and the other is access has a non-zero size. This prevents TBAA from kicking in and saying NoAlias in such cases. llvm-svn: 123775 | ||||
| * | Add RAGreedy methods for splitting live ranges around regions. | Jakob Stoklund Olesen | 2011-01-18 | 5 | -1/+356 |
| | | | | | | | | | | | Analyze the live range's behavior entering and leaving basic blocks. Compute an interference pattern for each allocation candidate, and use SpillPlacement to find an optimal region where that register can be live. This code is still not enabled. llvm-svn: 123774 | ||||
| * | Follow the current hack set and enable the correct parsing of bkpt while in ↵ | Bruno Cardoso Lopes | 2011-01-18 | 3 | -3/+15 |
| | | | | | | | thumb mode. llvm-svn: 123772 | ||||
| * | fix rdar://8878965, a regression I introduced with the recent | Chris Lattner | 2011-01-18 | 2 | -1/+35 |
| | | | | | | | llvm.objectsize changes. llvm-svn: 123771 | ||||
| * | Add support for parsing and encoding ARM's official syntax for the BFI ↵ | Bruno Cardoso Lopes | 2011-01-18 | 8 | -13/+91 |
| | | | | | | | instruction llvm-svn: 123770 | ||||
| * | Add a FIXME. | Jim Grosbach | 2011-01-18 | 1 | -0/+1 |
| | | | | | llvm-svn: 123769 | ||||
| * | Ensure Mips::GP is properly reloaded after a function call. Patch by Sasa ↵ | Bruno Cardoso Lopes | 2011-01-18 | 2 | -0/+9 |
| | | | | | | | Stankovic llvm-svn: 123768 | ||||
| * | Negative zero is not legal on mips. Patch by Sasa Stankovic | Bruno Cardoso Lopes | 2011-01-18 | 1 | -0/+2 |
| | | | | | llvm-svn: 123766 | ||||
| * | Handle (i32,i32) => f64 in a cleaner way. Patch by Sasa Stankovic | Bruno Cardoso Lopes | 2011-01-18 | 1 | -3/+2 |
| | | | | | llvm-svn: 123763 | ||||
| * | Add support for mips32 madd and msub instructions. Patch by Akira Hatanaka | Bruno Cardoso Lopes | 2011-01-18 | 4 | -10/+294 |
| | | | | | llvm-svn: 123760 | ||||
| * | For completeness, generalize the (X + Y) - Y -> X transform and add X - (X + ↵ | Duncan Sands | 2011-01-18 | 2 | -15/+77 |
| | | | | | | | | | | | 1) -> -1. These were not recommended by my auto-simplifier since they don't fire often enough. However they do fire from time to time, for example they remove one subtraction from the final bitcode for 483.xalancbmk. llvm-svn: 123755 | ||||
| * | Simplify (X<<1)-X into X. According to my auto-simplier this is the most ↵ | Duncan Sands | 2011-01-18 | 2 | -0/+26 |
| | | | | | | | | | | | | | | common missed simplification in fully optimized code. It occurs sporadically in the testsuite, and many times in 403.gcc: the final bitcode has 131 fewer subtractions after this change. The reason that the multiplies are not eliminated is the same reason that instcombine did not catch this: they are used by other instructions (instcombine catches this with a more general transform which in general is only profitable if the operands have only one use). llvm-svn: 123754 | ||||
| * | add a note | Chris Lattner | 2011-01-18 | 1 | -0/+20 |
| | | | | | llvm-svn: 123752 | ||||
| * | finish a sentence. | Chris Lattner | 2011-01-18 | 1 | -1/+1 |
| | | | | | llvm-svn: 123750 | ||||
| * | SPARC backend: Modified LowerCall and LowerFormalArguments so that they use ↵ | Venkatraman Govindaraju | 2011-01-18 | 2 | -272/+221 |
| | | | | | | | CallingConv assignments. llvm-svn: 123749 | ||||
| * | Remove an unnecessary #include. | Cameron Zwarich | 2011-01-18 | 1 | -1/+0 |
| | | | | | llvm-svn: 123748 | ||||
| * | Move DominanceFrontier from VMCore to Analysis. | Cameron Zwarich | 2011-01-18 | 5 | -130/+140 |
| | | | | | llvm-svn: 123747 | ||||
| * | McARM: Use accessors where appropriate. | Daniel Dunbar | 2011-01-18 | 1 | -13/+13 |
| | | | | | llvm-svn: 123746 | ||||
| * | McARM: Fill in ASMOperand::dump() for memory operands. | Daniel Dunbar | 2011-01-18 | 1 | -1/+56 |
| | | | | | llvm-svn: 123745 | ||||
| * | McARM: Make ARMOperand use a union where appropriate. | Daniel Dunbar | 2011-01-18 | 1 | -9/+13 |
| | | | | | llvm-svn: 123744 | ||||
| * | There is no point in verifying an analysis that is never updated. | Cameron Zwarich | 2011-01-18 | 2 | -13/+0 |
| | | | | | llvm-svn: 123743 | ||||
| * | McARM: Unify ParseMemory() successfull return. | Daniel Dunbar | 2011-01-18 | 1 | -40/+22 |
| | | | | | llvm-svn: 123740 | ||||
| * | McARM: Early exit on failure (NEFC). | Daniel Dunbar | 2011-01-18 | 1 | -7/+8 |
| | | | | | llvm-svn: 123739 | ||||
| * | McARM: Always keep an offset expression, if used (instead of assuming == 0 ↵ | Daniel Dunbar | 2011-01-18 | 1 | -24/+29 |
| | | | | | | | | | if used but not present), and simplify logic. Also, clean up various non-sensicalisms in isMemModeRegThumb() and isMemModeImmThumb(). llvm-svn: 123738 | ||||
| * | McARM: Add a variety of asserts on the sanity of memory operands. | Daniel Dunbar | 2011-01-18 | 1 | -1/+10 |
| | | | | | llvm-svn: 123737 | ||||
| * | McARM: Use a consistent marker for not-set OffsetRegNum. | Daniel Dunbar | 2011-01-18 | 1 | -1/+1 |
| | | | | | llvm-svn: 123736 | ||||
| * | Convert a std::map to a DenseMap for another 1.7% speedup on -scalarrepl. | Cameron Zwarich | 2011-01-18 | 1 | -3/+3 |
| | | | | | llvm-svn: 123732 | ||||
| * | Make a std::vector a SmallVector<*, 32> like the other vectors in the same | Cameron Zwarich | 2011-01-18 | 1 | -1/+1 |
| | | | | | | | | function. This seems to be about a 1.5% speedup of -scalarrepl on test-suite with SPEC2000 and SPEC2006. llvm-svn: 123731 | ||||
| * | Reduce indentation and remove commented out code. | Rafael Espindola | 2011-01-18 | 1 | -122/+101 |
| | | | | | llvm-svn: 123729 | ||||
| * | Remove some now-unused DominanceFrontier methods. | Cameron Zwarich | 2011-01-18 | 2 | -151/+0 |
| | | | | | llvm-svn: 123726 | ||||

