diff options
author | Craig Topper <craig.topper@intel.com> | 2018-05-09 17:14:27 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-05-09 17:14:27 +0000 |
commit | 176ec8506fd0c18582758ead5e6eb325fa387add (patch) | |
tree | 1d83b47fda95a0b786e51c39f0477bc461c73fed /llvm/tools/llvm-rc/ResourceScriptParser.cpp | |
parent | 3cab24aa4f0de3abd847515794bb21369dee8a12 (diff) | |
download | bcm5719-llvm-176ec8506fd0c18582758ead5e6eb325fa387add.tar.gz bcm5719-llvm-176ec8506fd0c18582758ead5e6eb325fa387add.zip |
[DAGCombiner] In visitBITCAST when trying to constant fold the bitcast, only call getBitcast if its an fp->int or int->fp conversion even when before legalize ops.
Previously if !LegalOperations we would blindly call getBitcast and hope that getNode would constant fold it. But if the conversion is between a vector and a scalar, getNode has no simplification.
This means we would just get back the original N. We would then return that N which would make the caller of visitBITCAST think that we used CombineTo and did our own worklist management. This prevents target specific optimizations from being called for vector/scalar bitcasts until after legal operations.
llvm-svn: 331896
Diffstat (limited to 'llvm/tools/llvm-rc/ResourceScriptParser.cpp')
0 files changed, 0 insertions, 0 deletions