Gitiles
Code Review
Sign In
gerrit-public.fairphone.software
/
fp2-dev
/
platform
/
external
/
llvm
/
cc87bfb59b34a0543b48d93f661f2abaee6b4cee
/
lib
/
CodeGen
/
MachineCSE.cpp
273f7e4
Detect and handle COPY in many places.
by Jakob Stoklund Olesen
· 15 years ago
2b4e727
Re-apply 105308 with fix.
by Evan Cheng
· 15 years ago
3844173
Revert 105308.
by Bob Wilson
· 15 years ago
9d709a8
Enable machine cse of instructions which define physical registers.
by Evan Cheng
· 15 years ago
e81d010
Make this LookAheadLimit, not the uninitialized LookAheadLeft.
by Eric Christopher
· 15 years ago
835810b
Allow machine cse to cse instructions which define physical registers. Controlled by option -machine-cse-phys-defs.
by Evan Cheng
· 15 years ago
49b4589
Add a utility function for conservatively clearing kill flags, and make
by Dan Gohman
· 15 years ago
3115698
Rewrite machine cse to avoid recursion.
by Evan Cheng
· 15 years ago
d6060a4
Typo.
by Evan Cheng
· 15 years ago
db8771a
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.
by Evan Cheng
· 15 years ago
2250425
dbg_value may end a block.
by Evan Cheng
· 15 years ago
112e5e7
Code clean up.
by Evan Cheng
· 15 years ago
e68ea06
Fix debug_value handling.
by Dale Johannesen
· 15 years ago
2938a00
Add a couple more heuristics to neuter machine cse some more.
by Evan Cheng
· 15 years ago
bfc9999
Allow more cross-rc coalescing.
by Evan Cheng
· 15 years ago
1552ccc
Don't do illegal cross-class coalescing.
by Jakob Stoklund Olesen
· 15 years ago
31f94c7
- Make the machine cse dumb coalescer (as opposed to the more awesome simple
by Evan Cheng
· 15 years ago
5196018
Don't waste time trying to CSE labels, phis, inline asm. Definitely avoid cse implicit-def for obvious performance reason.
by Evan Cheng
· 15 years ago
6c3b8ac
Restrict machine cse to really trivial coalescing. Leave the heavy lifting to a real coalescer.
by Evan Cheng
· 15 years ago
6cc1aea
Don't update physical register def.
by Evan Cheng
· 15 years ago
a5f32cb
Avoid cse load instructions unless they are known to be invariant loads.
by Evan Cheng
· 15 years ago
b3958e8
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.
by Evan Cheng
· 15 years ago
67bda72
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.
by Evan Cheng
· 15 years ago
05bdcbb
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.
by Evan Cheng
· 15 years ago
319dfa3
Revert 97667. It broke a bunch of tests.
by Dan Gohman
· 15 years ago
a054ae0
Move DenseMapInfo for MachineInstr* to MachineInstr.h
by Evan Cheng
· 15 years ago
16b48b8
Machine CSE work in progress. It's doing some CSE now. But implicit def of physical registers are getting in the way.
by Evan Cheng
· 15 years ago
6ba9554
Work in progress. Finding some cse now.
by Evan Cheng
· 15 years ago
c5bbba1
Fix typo.
by Evan Cheng
· 15 years ago
c6fe333
Add skeleton of a machine level cse pass.
by Evan Cheng
· 15 years ago