diff options
author | Sanjay Patel <spatel@rotateright.com> | 2018-08-23 15:58:07 +0000 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2018-08-23 15:58:07 +0000 |
commit | 40aa86751ad87015a45426f25cd0ab3aa6d1b43b (patch) | |
tree | 2bc52016590fcb27910d3677613fbcc4557fe914 | |
parent | 0d2e6251ce96f734607ca3414016b788aabf2f1b (diff) | |
download | bcm5719-llvm-40aa86751ad87015a45426f25cd0ab3aa6d1b43b.tar.gz bcm5719-llvm-40aa86751ad87015a45426f25cd0ab3aa6d1b43b.zip |
[x86] add debug option for and-immediate shrinking
The commit that added this functionality:
rL322957
may be causing/exposing a miscompile in PR38648:
https://bugs.llvm.org/show_bug.cgi?id=38648
so allow enabling/disabling to make debugging easier.
llvm-svn: 340540
-rw-r--r-- | llvm/lib/Target/X86/X86ISelDAGToDAG.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp b/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp index 7236fdeb8be..1cca1f1e14b 100644 --- a/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp +++ b/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp @@ -41,6 +41,10 @@ using namespace llvm; STATISTIC(NumLoadMoved, "Number of loads moved below TokenFactor"); +static cl::opt<bool> AndImmShrink("x86-and-imm-shrink", cl::init(true), + cl::desc("Enable setting constant bits to reduce size of mask immediates"), + cl::Hidden); + //===----------------------------------------------------------------------===// // Pattern Matcher Implementation //===----------------------------------------------------------------------===// @@ -2927,7 +2931,7 @@ void X86DAGToDAGISel::Select(SDNode *Node) { case ISD::AND: if (matchBEXTRFromAnd(Node)) return; - if (shrinkAndImmediate(Node)) + if (AndImmShrink && shrinkAndImmediate(Node)) return; LLVM_FALLTHROUGH; |