OSDN Git Service

[NewGVN] Create a StoreExpression instead of a VariableExpression.
authorDavide Italiano <davide@freebsd.org>
Sat, 20 May 2017 00:46:54 +0000 (00:46 +0000)
committerDavide Italiano <davide@freebsd.org>
Sat, 20 May 2017 00:46:54 +0000 (00:46 +0000)
commit204f8c0a2417b8c38ee534811a8e1428e7699199
tree08692b5124fb6f0e0d4a78914195a2cc6ba2157f
parent2d9c8197c838995c14bf9593a4362902ac84a8a3
[NewGVN] Create a StoreExpression instead of a VariableExpression.

In the case where we have an operand defined by a lod of the
same memory location. Historically this was a VariableExpression
because we wanted to make sure they ended up in the same class,
but if we create the right expression, they end up in the same
class anyway.

Fixes PR32897. Thanks to Dan for the detailed discussion and the
fix suggestion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303475 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/NewGVN.cpp
test/Transforms/NewGVN/pr32897.ll [new file with mode: 0644]