Displaying 1 result from an estimated 1 matches for "pr32964".
2017 May 10
4
-speculative-execution moving load before store
...lativelyExecute happily says "true" for the load, and there
is a comment on isSafeToSpeculativelyExecute saying
/// This method can return true for instructions that read memory;
/// for such instructions, moving them may change the resulting value.
And that is indeed the case in PR32964.
How is this supposed to work?
I started seeing this after the commit
SpeculativeExecution: Stop using whitelist for costs
Before that, e.g. a load got the cost UINT_MAX which I suppose disabled
hoisting, but since the commit TTI.getUserCost(I) is used for all
instructions.
Regards,
Mikael