aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Parallel.cpp
diff options
context:
space:
mode:
authorMikael Holmen <mikael.holmen@ericsson.com>2017-10-04 07:42:45 +0000
committerMikael Holmen <mikael.holmen@ericsson.com>2017-10-04 07:42:45 +0000
commita1a3f5c5e68793cb5bae5c798494e194cbe8ce58 (patch)
tree0336aa6b51b624a9a88fd649dada544e805607e3 /llvm/lib/Support/Parallel.cpp
parent8aacef6cae0e57040b4957fc81e014dab5b7edae (diff)
downloadllvm-a1a3f5c5e68793cb5bae5c798494e194cbe8ce58.zip
llvm-a1a3f5c5e68793cb5bae5c798494e194cbe8ce58.tar.gz
llvm-a1a3f5c5e68793cb5bae5c798494e194cbe8ce58.tar.bz2
Recommit [UnreachableBlockElim] Use COPY if PHI input is undef
This time invoking llc with "-march=x86-64" in the testcase, so we don't assume the default target is x86. Summary: If we have %vreg0<def> = PHI %vreg2<undef>, <BB#0>, %vreg3, <BB#2>; GR32:%vreg0,%vreg2,%vreg3 %vreg3<def,tied1> = ADD32ri8 %vreg0<kill,tied0>, 1, %EFLAGS<imp-def>; GR32:%vreg3,%vreg0 then we can't just change %vreg0 into %vreg3, since %vreg2 is actually undef. We would have to also copy the undef flag to be able to change the register. Instead we deal with this case like other cases where we can't just replace the register: we insert a COPY. The code creating the COPY already copied all flags from the PHI input, so the undef flag will be transferred as it should. Reviewers: kparzysz Reviewed By: kparzysz Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D38235 llvm-svn: 314882
Diffstat (limited to 'llvm/lib/Support/Parallel.cpp')
0 files changed, 0 insertions, 0 deletions