- Jul 16, 2010
-
-
Jakob Stoklund Olesen authored
TII::isMoveInstr is going tobe completely removed. llvm-svn: 108507
-
- Jul 08, 2010
-
-
Jakob Stoklund Olesen authored
EXTRACT_SUBREG no longer appears as a machine instruction. Use COPY instead. Add isCopy() checks in many places using isMoveInstr() and isExtractSubreg(). The isMoveInstr hook will be removed later. llvm-svn: 107879
-
- Jul 03, 2010
-
-
Jakob Stoklund Olesen authored
This code is transitional, it will soon be possible to eliminate isExtractSubreg, isInsertSubreg, and isMoveInstr in most places. llvm-svn: 107547
-
- Jun 05, 2010
-
-
Evan Cheng authored
llvm-svn: 105502
-
- Jun 03, 2010
-
-
Bob Wilson authored
llvm-svn: 105399
-
- Jun 02, 2010
-
-
Evan Cheng authored
llvm-svn: 105308
-
- May 22, 2010
-
-
Eric Christopher authored
Evan please verify! llvm-svn: 104408
-
- May 21, 2010
-
-
Evan Cheng authored
Allow machine cse to cse instructions which define physical registers. Controlled by option -machine-cse-phys-defs. llvm-svn: 104385
-
- May 13, 2010
-
-
Dan Gohman authored
use of it in MachineCSE. llvm-svn: 103726
-
- Apr 21, 2010
-
-
Evan Cheng authored
llvm-svn: 101964
-
- Apr 20, 2010
-
-
Evan Cheng authored
llvm-svn: 101914
-
- Apr 02, 2010
-
-
Evan Cheng authored
After trivial coalescing, the MI being visited may have become a copy. Avoid adding it to CSE hash table since copies aren't being considered for CSE and they may be deleted. rdar://7819990 llvm-svn: 100170
-
- Mar 24, 2010
-
-
Evan Cheng authored
llvm-svn: 99378
-
- Mar 23, 2010
-
-
Evan Cheng authored
llvm-svn: 99319
-
- Mar 11, 2010
-
-
Dale Johannesen authored
llvm-svn: 98224
-
- Mar 10, 2010
-
-
Evan Cheng authored
1. Be careful with cse "cheap" expressions. e.g. constant materialization. Only cse them when the common expression is local or in a direct predecessor. We don't want cse of cheap instruction causing other expressions to be spilled. 2. Watch out for the case where the expression doesn't itself uses a virtual register. e.g. lea of frame object. If the common expression itself is used by copies (common for passing addresses to function calls), don't perform the cse. Since these expressions do not use a register, it creates a live range but doesn't close any, we want to be very careful with increasing register pressure. Note these are heuristics so machine cse doesn't make register allocator unhappy. Once we have proper live range splitting and re-materialization support in place, these should be evaluated again. Now machine cse is almost always a win on llvm nightly tests on x86 and x86_64. llvm-svn: 98121
-
- Mar 09, 2010
-
-
Evan Cheng authored
llvm-svn: 98048
-
Jakob Stoklund Olesen authored
llvm-svn: 98044
-
Evan Cheng authored
coalescer) handle sub-register classes. - Add heuristics to avoid non-profitable cse. Given the current lack of live range splitting, avoid cse when an expression has PHI use and the would be new use is in a BB where the expression wasn't already being used. llvm-svn: 98043
-
Evan Cheng authored
Don't waste time trying to CSE labels, phis, inline asm. Definitely avoid cse implicit-def for obvious performance reason. llvm-svn: 98009
-
Evan Cheng authored
llvm-svn: 98007
-
- Mar 06, 2010
-
-
Evan Cheng authored
llvm-svn: 97861
-
- Mar 04, 2010
-
-
Evan Cheng authored
llvm-svn: 97747
-
Evan Cheng authored
Look ahead a bit to determine if a physical register def that is not marked dead is really alive. This is necessary to catch a lot of common cse opportunities for targets like x86. llvm-svn: 97706
-
Evan Cheng authored
Fix a logic error. An instruction that has a live physical register def cannot be CSE'ed, but it *can* be used to replace a common subexpression. llvm-svn: 97688
-
Evan Cheng authored
Re-apply r97667 but with a little bit of thought put into the patch. This implements a special DenseMapInfo trait for DenseMap<MachineInstr*> that compare the value of the MachineInstr rather than the pointer value. Since the hashing and equality test functions ignore defs it's useful for doing CSE kind optimization. llvm-svn: 97678
-
- Mar 03, 2010
-
-
Dan Gohman authored
llvm-svn: 97673
-
Evan Cheng authored
llvm-svn: 97667
-
Evan Cheng authored
Machine CSE work in progress. It's doing some CSE now. But implicit def of physical registers are getting in the way. llvm-svn: 97664
-
Evan Cheng authored
llvm-svn: 97635
-
- Mar 02, 2010
-
-
Evan Cheng authored
llvm-svn: 97577
-
Evan Cheng authored
llvm-svn: 97543
-