aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86ISelLowering.h
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2010-09-21 20:42:50 +0000
committerOwen Anderson <resistor@mac.com>2010-09-21 20:42:50 +0000
commitbc146b0a4dcee601459eee943b4133d3cf63f1dd (patch)
treec57d1b25209b8be14d531b49a1fc0221eefbc2cd /lib/Target/X86/X86ISelLowering.h
parent78d3af47f532d67611e7d625b505fa832d713a26 (diff)
downloadexternal_llvm-bc146b0a4dcee601459eee943b4133d3cf63f1dd.zip
external_llvm-bc146b0a4dcee601459eee943b4133d3cf63f1dd.tar.gz
external_llvm-bc146b0a4dcee601459eee943b4133d3cf63f1dd.tar.bz2
Reimplement r114460 in target-independent DAGCombine rather than target-dependent, by using
the predicate to discover the number of sign bits. Enhance X86's target lowering to provide a useful response to this query. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114473 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86ISelLowering.h')
-rw-r--r--lib/Target/X86/X86ISelLowering.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.h b/lib/Target/X86/X86ISelLowering.h
index 6e6f25c..9bb5f64 100644
--- a/lib/Target/X86/X86ISelLowering.h
+++ b/lib/Target/X86/X86ISelLowering.h
@@ -523,6 +523,11 @@ namespace llvm {
const SelectionDAG &DAG,
unsigned Depth = 0) const;
+ // ComputeNumSignBitsForTargetNode - Determine the number of bits in the
+ // operation that are sign bits.
+ virtual unsigned ComputeNumSignBitsForTargetNode(SDValue Op,
+ unsigned Depth) const;
+
virtual bool
isGAPlusOffset(SDNode *N, const GlobalValue* &GA, int64_t &Offset) const;