summaryrefslogtreecommitdiffstats
path: root/lldb/source/Interpreter/OptionValueUUID.cpp
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2016-02-26 03:18:50 +0000
committerMatthias Braun <matze@braunis.de>2016-02-26 03:18:50 +0000
commite39ff706851efee34063cf99fdde509ee5d95fd3 (patch)
tree392c7588eebf421b67eb89851188c19368617b49 /lldb/source/Interpreter/OptionValueUUID.cpp
parente3fda8a19da30aec8687e66d3700a55e7acba847 (diff)
downloadbcm5719-llvm-e39ff706851efee34063cf99fdde509ee5d95fd3.tar.gz
bcm5719-llvm-e39ff706851efee34063cf99fdde509ee5d95fd3.zip
MachineCopyPropagation: Keep scanning through instructions with regmasks
This also simplifies the code by removing the overly conservative NoInterveningSideEffect() function. This function checked: - That the two copies belong to the same block: We only process one block at a time and clear our maps in between it is impossible to find a copy from a different block. - There is no terminator between the two copy instructions: This is not allowed anyway (the MachineVerifier would complain) - Does not have instructions with hasUnmodeledSideEffects() or isCall() set: Even for those instructuction we must have all clobbers/defs of registers explicit as an operand. If the register is explicitely clobbered we would never come to the point of checking for NoInterveningSideEffect() anyway. (I also checked this with a temporary build of the test-suite with all potentially failing conditions in NoInterveningSideEffect() turned into asserts) Differential Revision: http://reviews.llvm.org/D17474 llvm-svn: 261965
Diffstat (limited to 'lldb/source/Interpreter/OptionValueUUID.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud