aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/DebugInfo/CodeView
diff options
context:
space:
mode:
authorJoshua Cao <cao.joshua@yahoo.com>2022-12-16 04:00:56 -0500
committerJoshua Cao <cao.joshua@yahoo.com>2023-01-05 00:05:49 -0800
commit629d880dc527cd7a8d692cd24af196db4ea8646b (patch)
treef49022fb86dfa739ae46614d6963b3a5094690e4 /llvm/lib/DebugInfo/CodeView
parent6a930e889145cbfb3ff1d99f67a5382c19bc1745 (diff)
downloadllvm-629d880dc527cd7a8d692cd24af196db4ea8646b.zip
llvm-629d880dc527cd7a8d692cd24af196db4ea8646b.tar.gz
llvm-629d880dc527cd7a8d692cd24af196db4ea8646b.tar.bz2
[LoopUnrollAndJam] Visit phi operand dependencies in post-order
Fixes https://github.com/llvm/llvm-project/issues/58565 The previous implementation visits operands in pre-order, but this does not guarantee an instruction is visited before its uses. This can cause instructions to be copied in the incorrect order. For example: ``` a = ... b = add a, 1 c = add a, b d = add b, a ``` Pre-order visits does not guarantee the order in which `a` and `b` are visited. LoopUnrollAndJam may incorrectly insert `b` before `a`. This patch implements post-order visits. By visiting dependencies first, we guarantee that an instruction's dependencies are visited first. Differential Revision: https://reviews.llvm.org/D140255
Diffstat (limited to 'llvm/lib/DebugInfo/CodeView')
0 files changed, 0 insertions, 0 deletions