This is an archive of the discontinued LLVM Phabricator instance.

MachineCopyPropagation: Do not consider undef operands as clobbers
ClosedPublic

Authored by MatzeB on Feb 3 2017, 5:57 PM.

Details

Summary

This was originally introduced in r278321 to work around correctness
problems in the ExecutionDepsFix pass; Probably also to keep the
performance benefits of breaking the false dependencies which of course
also affect undef operands.

ExecutionDepsFix has been improved here recently (see for example
r278321) so we should not need this exception any longer.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB created this revision.Feb 3 2017, 5:57 PM
qcolombet accepted this revision.Feb 3 2017, 6:06 PM

Great if the ExecutionDepsFixer has been fixed!

LGTM modulo having the original test case a bit more constrained.

test/CodeGen/X86/copy-propagation.ll
16 ↗(On Diff #87061)

Could you do a CHECK-NEXT of that move or a CHECK-NOT of xor

This revision is now accepted and ready to land.Feb 3 2017, 6:06 PM
This revision was automatically updated to reflect the committed changes.