HomePhabricator

[JumpThreading] Fix handling of aliasing metadata.

Authored by eli.friedman on Aug 7 2016, 9:10 PM.

Description

[JumpThreading] Fix handling of aliasing metadata.

Summary:
The correctness fix here is that when we CSE a load with another load,
we need to combine the metadata on the two loads. This matches the
behavior of other passes, like instcombine and GVN.

There's also a minor optimization improvement here: for load PRE, the
aliasing metadata on the inserted load should be the same as the
metadata on the original load. Not sure why the old code was throwing
it away.

Issue found by inspection.

Differential Revision: http://reviews.llvm.org/D21460

llvm-svn: 277977

Details

Committed
eli.friedmanAug 7 2016, 9:10 PM
Differential Revision
D21460: [JumpThreading] Fix handling of aliasing metadata.
Parents
rGd931b9f20060: Pass information in a record instead of stack. NFC
Branches
Unknown
Tags
Unknown