aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorTobias Edler von Koch <tobias@codeaurora.org>2015-06-09 22:10:58 +0000
committerTobias Edler von Koch <tobias@codeaurora.org>2015-06-09 22:10:58 +0000
commitd5289d9724ec8d1a0bd650feaa22276b7d74ec5b (patch)
tree8741443fa8143ed30624fd59fa00b7d59f8c5fd2 /clang/lib/Lex/ModuleMap.cpp
parentb7f02d371fc8232ec88d7abd40314c5c44966b8a (diff)
downloadllvm-d5289d9724ec8d1a0bd650feaa22276b7d74ec5b.zip
llvm-d5289d9724ec8d1a0bd650feaa22276b7d74ec5b.tar.gz
llvm-d5289d9724ec8d1a0bd650feaa22276b7d74ec5b.tar.bz2
[RegisterScavenger] Fix handling of predicated instructions
Summary: The RegisterScavenger explicitly ignores <kill> flags on operands of predicated instructions and therefore assumes that such registers remain live. When it then scavenges such a register, it inserts a spill of this (killed) register. This is invalid code and gets flagged up by the verifier. Nowadays kill flags are set correctly on predicated instructions. This patch makes the Scavenger respect them. The bug has so far only been triggered by an internal pass, so I don't have a test case unfortunately. Fixes PR23119. Reviewers: hfinkel, tobiasvk_caf Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9039 llvm-svn: 239439
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions