- Dec 08, 2010
-
-
Jakob Stoklund Olesen authored
This speeds up RegAllocBasic by 20%, not counting releaseMemory which becomes way faster. llvm-svn: 121201
-
- Dec 07, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 121162
-
Jay Foad authored
zextOrTrunc(), and APSInt methods extend(), extOrTrunc() and new method trunc(), to be const and to return a new value instead of modifying the object in place. llvm-svn: 121120
-
Jakob Stoklund Olesen authored
llvm-svn: 121098
-
- Dec 06, 2010
-
-
Devang Patel authored
This will be used to truncate live range of DBG_VALUE instruction by register allocator and friends. llvm-svn: 121061
-
Devang Patel authored
If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. llvm-svn: 121059
-
Rafael Espindola authored
as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc bootstrap on darwin10 using darwin9's assembler and linker. llvm-svn: 121006
-
Rafael Espindola authored
linux and darwin assemblers happy :-( llvm-svn: 121004
-
Rafael Espindola authored
that no relocations are used (on MochO). Fixes llc producing different output from llc + llvm-mc. llvm-svn: 121000
-
- Dec 05, 2010
-
-
Cameron Zwarich authored
StrongPHIElimination. llvm-svn: 120961
-
Cameron Zwarich authored
llvm-svn: 120959
-
Cameron Zwarich authored
PHIElimination.h. llvm-svn: 120953
-
Cameron Zwarich authored
time, this method existed, but now PHIElimination uses the method of the same name on MachineBasicBlock. llvm-svn: 120952
-
Cameron Zwarich authored
function so that it can be shared with StrongPHIElimination. llvm-svn: 120951
-
- Dec 04, 2010
-
-
Cameron Zwarich authored
llvm-svn: 120918
-
Benjamin Kramer authored
llvm-svn: 120910
-
- Dec 03, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 120846
-
Jakob Stoklund Olesen authored
be emitted. llvm-svn: 120845
-
Jakob Stoklund Olesen authored
llvm-svn: 120842
-
Jakob Stoklund Olesen authored
llvm-svn: 120841
-
Jakob Stoklund Olesen authored
The StrongPHIElimination pass did not work, and nobody has worked on it for two years. A rewrite is underway, so I am leaving this shell pass instead of deleting it completely. llvm-svn: 120830
-
- Dec 02, 2010
-
-
Jakob Stoklund Olesen authored
llvm-svn: 120720
-
Jakob Stoklund Olesen authored
Scan the MachineFunction for DBG_VALUE instructions, and replace them with a data structure similar to LiveIntervals. The live range of a DBG_VALUE is determined by propagating it down the dominator tree until a new DBG_VALUE is found. When a DBG_VALUE lives in a register, its live range is confined to the live range of the register's value. LiveDebugVariables runs before coalescing, so DBG_VALUEs are not artificially extended when registers are joined. The missing half will recreate DBG_VALUE instructions from the intervals when register allocation is complete. The pass is disabled by default. It can be enabled with the temporary command line option -live-debug-variables. llvm-svn: 120636
-
- Dec 01, 2010
-
-
Jay Foad authored
setAllBits(), setBit(unsigned), etc. llvm-svn: 120564
-
Andrew Trick authored
llvm-svn: 120504
-
Evan Cheng authored
legalization time. Since at legalization time there is no mapping from SDNode back to the corresponding LLVM instruction and the return SDNode is target specific, this requires a target hook to check for eligibility. Only x86 and ARM support this form of sibcall optimization right now. rdar://8707777 llvm-svn: 120501
-
Andrew Trick authored
in favor of the widespread llvm style. Capitalize variables and add newlines for visual parsing. Rename variables for readability. And other cleanup. llvm-svn: 120490
-
- Nov 30, 2010
-
-
Chris Lattner authored
and use this to disable a specific optimization. Patch by Micah Villmow! llvm-svn: 120435
-
Jay Foad authored
llvm-svn: 120413
-
Jakob Stoklund Olesen authored
This analysis is going to run immediately after LiveIntervals. It will stay alive during register allocation and keep track of user variables mentioned in DBG_VALUE instructions. When the register allocator is moving values between registers and the stack, it is very hard to keep track of DBG_VALUE instructions. We usually get it wrong. This analysis maintains a data structure that makes it easy to update DBG_VALUE instructions. llvm-svn: 120385
-
- Nov 29, 2010
-
-
Michael J. Spencer authored
llvm-svn: 120298
-
- Nov 28, 2010
-
-
Bob Wilson authored
llvm-svn: 120235
-
Anton Korobeynikov authored
llvm-svn: 120229
-
Anton Korobeynikov authored
llvm-svn: 120228
-
- Nov 25, 2010
-
-
Benjamin Kramer authored
llvm-svn: 120146
-
- Nov 23, 2010
-
-
Wesley Peck authored
llvm-svn: 119990
-
- Nov 22, 2010
-
-
Benjamin Kramer authored
This currently only catches the most basic case, a two-case switch, but can be extended later. llvm-svn: 119964
-
- Nov 20, 2010
-
-
Anton Korobeynikov authored
llvm-svn: 119904
-
Benjamin Kramer authored
llvm-svn: 119903
-
Duncan Sands authored
so don't claim they are. They are allocated using DAG.getNode, so attempts to access MemSDNode fields results in reading off the end of the allocated memory. This fixes crashes with "llc -debug" due to debug code trying to print MemSDNode fields for these barrier nodes (since the crashes are not deterministic, use valgrind to see this). Add some nasty checking to try to catch this kind of thing in the future. llvm-svn: 119901
-