aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2019-11-02 18:45:33 +0100
committerFlorian Hahn <florian_hahn@apple.com>2019-11-02 22:08:27 +0100
commitf0c2a5af762e7650a007d9ab7161e754d866b60c (patch)
tree0561e98ccfe0bf8d8bb70f3da1cedcc4ce186c5b /lldb/source/Plugins/ScriptInterpreter/Python
parent505c4dabe2fe8fc693c740de4611f58baa11b712 (diff)
downloadllvm-f0c2a5af762e7650a007d9ab7161e754d866b60c.zip
llvm-f0c2a5af762e7650a007d9ab7161e754d866b60c.tar.gz
llvm-f0c2a5af762e7650a007d9ab7161e754d866b60c.tar.bz2
[LV] Generalize conditions for sinking instrs for first order recurrences.
If the recurrence PHI node has a single user, we can sink any instruction without side effects, given that all users are dominated by the instruction computing the incoming value of the next iteration ('Previous'). We can sink instructions that may cause traps, because that only causes the trap to occur later, but not on any new paths. With the relaxed check, we also have to make sure that we do not have a direct cycle (meaning PHI user == 'Previous), which indicates a reduction relation, which potentially gets missed by ReductionDescriptor. As follow-ups, we can also sink stores, iff they do not alias with other instructions we move them across and we could also support sinking chains of instructions and multiple users of the PHI. Fixes PR43398. Reviewers: hsaito, dcaballe, Ayal, rengolin Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D69228
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions