- User Since
- Apr 4 2014, 4:14 AM (406 w, 5 d)
fp64-atomics-gfx90a.ll is failing.
The code as written does not guarantee it will increase the occupancy if a def was sunk. Moreover it will sink defs even in regions with low RP. Essentially it may easily pessimise the code without improving anything. You really need to check that sinking is beneficial.
- Check for calls along with inline asm not relying on function attribute.
- Moved -global-isel flag in tests.
Mon, Jan 17
Fri, Jan 14
Same thing is possible even with calls but requires a full call graph examination. If annotate kernel features pass will move to attributer it shall be possible to analyze inline asm in calls and propagate this info.
Thu, Jan 13
Wed, Jan 12
Fixed tuple parsing as well.
Removed w/a in 2 places which were using it.
Tue, Jan 11
I guess I can run this code in the AMDGPUDAGToDAGISel::runOnMachineFunction or even SIMachineFunctionInfo constructor and skip the attribution.
Mon, Jan 10
Fri, Jan 7
Thu, Jan 6
It seems to cause a real regression, block-should-not-be-in-alive-blocks.mir fails.
Wed, Jan 5
As discussed it would be worth to do a separate change to skip the optimization at -O0 alltogether.
Tue, Jan 4
Fri, Dec 31
Thu, Dec 23
A side note: this small change fully or partially simplifies 28 out of original 255 ternary cases.
It will go under the same LHS as above after D116231 (plus it will need some more tests in this case).
Wed, Dec 22
LGTM given the new tests.
Tue, Dec 21
I will precommit tests if that is generally OK.
Mon, Dec 20
There are still 2 comments around tests.
I am not sure I can prove to myself this is legal. For example you are sinking a def into a loop with divergent condition and this def is used after the loop. Can this happen? If so a def might be done with an exec smaller than a use which creates an undef. Hoisting was OK because def was moved into a direction where exec is strictly not less than before. Did you run PSDB on it?
Dec 20 2021
Will the slot remain in the final allocation?
Dec 17 2021
Dec 16 2021
It also obscures what is being tested and I do not believe really needed for D115881.
Dec 15 2021
Added handling of newly added case (~A & B & C) | ~(A | B) --> (C | ~B) & ~A.
LGTM, thank you!
Dec 14 2021
Dec 13 2021