aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-07-25 17:15:15 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-07-25 17:15:15 +0000
commitcef9a618b1804020a1b909ac0d19f2a0917bf4b8 (patch)
treeb29556547bda64533a5a6cb2ec439aa524a76498 /clang/lib/Frontend/CompilerInvocation.cpp
parent6b375193a27f1bc37924311969650e62b56c9a35 (diff)
downloadllvm-cef9a618b1804020a1b909ac0d19f2a0917bf4b8.zip
llvm-cef9a618b1804020a1b909ac0d19f2a0917bf4b8.tar.gz
llvm-cef9a618b1804020a1b909ac0d19f2a0917bf4b8.tar.bz2
Preserve 2-addr constraints in ConnectedVNInfoEqClasses.
When a live range splits into multiple connected components, we would arbitrarily assign <undef> uses to component 0. This is wrong when the use is tied to a def that gets assigned to a different component: %vreg69<def> = ADD8ri %vreg68<undef>, 1 The use and def must get the same virtual register. Fix this by assigning <undef> uses to the same component as the value defined by the instruction, if any: %vreg69<def> = ADD8ri %vreg69<undef>, 1 This fixes PR13402. The PR has a test case which I am not including because it is unlikely to keep exposing this behavior in the future. llvm-svn: 160739
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions