Andrew Trick
|
1df91b0e54
whitespace
|
13 ani în urmă |
Jakob Stoklund Olesen
|
c035c940a6
Extract method for detecting constant unallocatable physregs.
|
13 ani în urmă |
Devang Patel
|
5211134fbd
Do not sink instruction, if it is not profitable.
|
13 ani în urmă |
Devang Patel
|
f5b9a74f0a
Fix comment.
|
13 ani în urmă |
Devang Patel
|
2b1d77355b
Update stale comment.
|
13 ani în urmă |
Devang Patel
|
7f7f0902a6
Revert r146184. I am seeing performance regression cause by this patch in one test case.
|
13 ani în urmă |
Devang Patel
|
e265bcf1a6
Refactor. No intentional functionality change.
|
13 ani în urmă |
Devang Patel
|
cf405ba7a6
Filter "sink to" candidate blocks sooner. This avoids unnecessary computation to determine whether the block dominates all uses or not.
|
13 ani în urmă |
Evan Cheng
|
5a96b3dad2
Add bundle aware API for querying instruction properties and switch the code
|
13 ani în urmă |
Devang Patel
|
541a81cc2b
While sinking machine instructions, sink matching DBG_VALUEs also otherwise live debug variable pass will drop DBG_VALUEs on the floor.
|
14 ani în urmă |
Evan Cheng
|
cfea985f53
Fix a couple of places where changes are made but not tracked.
|
14 ani în urmă |
Owen Anderson
|
081c34b725
Get rid of static constructors for pass registration. Instead, every pass exposes an initializeMyPassFunction(), which
|
15 ani în urmă |
Owen Anderson
|
2ab36d3502
Begin adding static dependence information to passes, which will allow us to
|
15 ani în urmă |
Owen Anderson
|
ce665bd2e2
Now with fewer extraneous semicolons!
|
15 ani în urmă |
Evan Cheng
|
b0cdf8a446
Don't sink insert_subreg, subreg_to_reg, reg_sequence. They are meant to be
|
15 ani în urmă |
Evan Cheng
|
44be1a8d66
Enable machine sinking critical edge splitting. e.g.
|
15 ani în urmă |
Evan Cheng
|
7af6dc47a5
Avoid splitting critical edge twice for a set of PHI uses.
|
15 ani în urmă |
Evan Cheng
|
2399786b27
Fix code that break critical edges for PHI uses. Watch out for multiple PHIs in different blocks.
|
15 ani în urmă |
Evan Cheng
|
6edb0eac87
Teach machine sink to
|
15 ani în urmă |
Evan Cheng
|
f942c13af8
Update debug logs.
|
15 ani în urmă |
Evan Cheng
|
e5e7946018
It's possible to sink a def if its local uses are PHI's.
|
15 ani în urmă |
Evan Cheng
|
c546c75459
Remove disabled assertion.
|
15 ani în urmă |
Evan Cheng
|
4dc301a7c5
Teach machine-sink to break critical edges when appropriate. Work in progress.
|
15 ani în urmă |
Evan Cheng
|
c3439ad63f
If any def of a machine-sink candidate has local uses, it's obviously not safe to sink it to a successor block. This bug has been hidden because a later check for critical-edge disable these illegal optimizations. This patch should significantly reduce the amount of time spent on checking dominator information for obviously unsafe sinking.
|
15 ani în urmă |
Owen Anderson
|
90c579de5a
Reapply r110396, with fixes to appease the Linux buildbot gods.
|
15 ani în urmă |
Owen Anderson
|
1f74590e9d
Revert r110396 to fix buildbots.
|
15 ani în urmă |
Owen Anderson
|
9ccaf53ada
Don't use PassInfo* as a type identifier for passes. Instead, use the address of the static
|
15 ani în urmă |
Owen Anderson
|
d13db2c59c
Fix batch of converting RegisterPass<> to INTIALIZE_PASS().
|
15 ani în urmă |
Bill Wendling
|
730c07e50d
- Reapply r106066 now that the bzip2 build regression has been fixed.
|
15 ani în urmă |
Daniel Dunbar
|
d24c9d5f91
Revert r106066, "Create a more targeted fix for not sinking instructions into a range where it"... it causes bzip2 to be miscompiled by Clang.
|
15 ani în urmă |