aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2018-04-18 15:13:16 +0000
committerPirama Arumuga Nainar <pirama@google.com>2018-04-27 13:59:49 -0700
commit395a261979d5c097f7ae7fb19ef452839acf3901 (patch)
tree324bb6502d6bbd3f47569de69663ff279d01a4e0 /utils
parent4798aaa1b25a0f1b7b4e354c3d254c34dadfa5c5 (diff)
downloadllvm-395a261979d5c097f7ae7fb19ef452839acf3901.tar.gz
[x86] Fix PR37100 by teaching the EFLAGS copy lowering to rewrite uses
across basic blocks in the limited cases where it is very straight forward to do so. This will also be useful for other places where we do some limited EFLAGS propagation across CFG edges and need to handle copy rewrites afterward. I think this is rapidly approaching the maximum we can and should be doing here. Everything else begins to require either heroic analysis to prove how to do PHI insertion manually, or somehow managing arbitrary PHI-ing of EFLAGS with general PHI insertion. Neither of these seem at all promising so if those cases come up, we'll almost certainly need to rewrite the parts of LLVM that produce those patterns. We do now require dominator trees in order to reliably diagnose patterns that would require PHI nodes. This is a bit unfortunate but it seems better than the completely mysterious crash we would get otherwise. Differential Revision: https://reviews.llvm.org/D45673 Change-Id: I17e834975f79674613cf6adbe1afa892a2325a45 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@330264 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils')
0 files changed, 0 insertions, 0 deletions