Skip to content
This repository was archived by the owner on Feb 5, 2019. It is now read-only.

Commit 7cf5e26

Browse files
pcwaltonalexcrichton
authored andcommitted
Add support for i1 compare operations to X86 FastISel, and ignore llvm.assume()
intrinsics in the target-independent FastISel.
1 parent 27e3c29 commit 7cf5e26

File tree

2 files changed

+3
-0
lines changed

2 files changed

+3
-0
lines changed

lib/CodeGen/SelectionDAG/FastISel.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -1097,6 +1097,8 @@ bool FastISel::selectIntrinsicCall(const IntrinsicInst *II) {
10971097
// At -O0 we don't care about the lifetime intrinsics.
10981098
case Intrinsic::lifetime_start:
10991099
case Intrinsic::lifetime_end:
1100+
// At -O0 we don't care about assumptions.
1101+
case Intrinsic::assume:
11001102
// The donothing intrinsic does, well, nothing.
11011103
case Intrinsic::donothing:
11021104
return true;

lib/Target/X86/X86FastISel.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -1133,6 +1133,7 @@ static unsigned X86ChooseCmpOpcode(EVT VT, const X86Subtarget *Subtarget) {
11331133

11341134
switch (VT.getSimpleVT().SimpleTy) {
11351135
default: return 0;
1136+
case MVT::i1: return X86::CMP8rr;
11361137
case MVT::i8: return X86::CMP8rr;
11371138
case MVT::i16: return X86::CMP16rr;
11381139
case MVT::i32: return X86::CMP32rr;

0 commit comments

Comments
 (0)