Fix DAGCombiner::visitFP_EXTEND to ignore indexed loads
authorHal Finkel <hfinkel@anl.gov>
Fri, 4 Oct 2013 22:18:12 +0000 (22:18 +0000)
committerHal Finkel <hfinkel@anl.gov>
Fri, 4 Oct 2013 22:18:12 +0000 (22:18 +0000)
commit03c8f8fbd539e539796b0bd9824797f3240261d7
treedd5958304ee7faf8ad3951260c1da1cb937b02bf
parent5404ed811de113a21c99366c43b1209f3ba40c62
Fix DAGCombiner::visitFP_EXTEND to ignore indexed loads

DAGCombiner::visitFP_EXTEND will apply the following transformation:

  fold (fpext (load x)) -> (fpext (fptrunc (extload x)))

but the implementation does not handle indexed loads (pre/post inc.), but did
not specifically ignore them either (unlike for extending loads, which it
already ignored), causing an assert when the transformation was applied to an
indexed load. This is the minimal fix for correctness (causing the
transformation to be skipped for indexed loads).

Unfortunately, I don't have an in-tree test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191989 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp