aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-10-29 19:58:20 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-10-29 19:58:20 +0000
commit3c3ddb3a856e44c603cb8cf8f52ff9c0f06ff14a (patch)
tree8fedeb7b8afa2e96c2ae0e0ab86f5bb8d9c11e4c /include/llvm/Target
parent9962054775455c43402bf176da4a28c68197feef (diff)
downloadexternal_llvm-3c3ddb3a856e44c603cb8cf8f52ff9c0f06ff14a.zip
external_llvm-3c3ddb3a856e44c603cb8cf8f52ff9c0f06ff14a.tar.gz
external_llvm-3c3ddb3a856e44c603cb8cf8f52ff9c0f06ff14a.tar.bz2
Enable more fold (sext (load x)) -> (sext (truncate (sextload x)))
transformation. Previously, it's restricted by ensuring the number of load uses is one. Now the restriction is loosened up by allowing setcc uses to be "extended" (e.g. setcc x, c, eq -> setcc sext(x), sext(c), eq). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43465 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target')
-rw-r--r--include/llvm/Target/TargetLowering.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index e092145..9d7a1ec 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -1000,6 +1000,10 @@ public:
virtual bool isTruncateFree(const Type *Ty1, const Type *Ty2) const {
return false;
}
+
+ virtual bool isTruncateFree(MVT::ValueType VT1, MVT::ValueType VT2) const {
+ return false;
+ }
//===--------------------------------------------------------------------===//
// Div utility functions