summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaCoroutine.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-02-15 20:20:32 +0000
committerCraig Topper <craig.topper@intel.com>2018-02-15 20:20:32 +0000
commitdac3c1f5c8547f17df9c0300e40937015c9216ad (patch)
treed17f835a8d1af569c81cfc40fa783012af24b992 /clang/lib/Sema/SemaCoroutine.cpp
parent87412d95e3b1c275c5dac816b9092aff7204a0a4 (diff)
downloadbcm5719-llvm-dac3c1f5c8547f17df9c0300e40937015c9216ad.tar.gz
bcm5719-llvm-dac3c1f5c8547f17df9c0300e40937015c9216ad.zip
[DAGCombiner] Call ExtendUsesToFormExtLoad in (zext (and (load)))->(and (zextload)) even when the and does not have multiple uses
Same for the sign extend case. Currently we check for multiple uses on the binop. Then we call ExtendUsesToFormExtLoad to capture SetCCs that use the load. So we only end up finding any setccs when the and has additional uses and the load is used by a setcc. I don't think the and having multiple uses is relevant here. I think we should only be checking for the load having multiple uses. This changes an NVPTX test because we now find that the load has a second use by a truncate, but ExtendUsesToFormExtLoad only looks at setccs it can extend. All other operations just check isTruncateFree. Maybe we should allow widening of an existing truncate even if its not free? Differential Revision: https://reviews.llvm.org/D43063 llvm-svn: 325289
Diffstat (limited to 'clang/lib/Sema/SemaCoroutine.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud