[llvm] r343325 - [GISel]: Remove an incorrect assert in CallLowering
Aditya Nandakumar via llvm-commits
llvm-commits at lists.llvm.org
Fri Sep 28 08:08:49 PDT 2018
Author: aditya_nandakumar
Date: Fri Sep 28 08:08:49 2018
New Revision: 343325
URL: http://llvm.org/viewvc/llvm-project?rev=343325&view=rev
Log:
[GISel]: Remove an incorrect assert in CallLowering
https://reviews.llvm.org/D51147
Asserting if any extend of vectors should be up to the target's
legalizer/target specific code not in CallLowering.
reviewed by : dsanders.
Added:
llvm/trunk/test/CodeGen/X86/GlobalISel/calllowering-nocrashret.ll
Modified:
llvm/trunk/lib/CodeGen/GlobalISel/CallLowering.cpp
Modified: llvm/trunk/lib/CodeGen/GlobalISel/CallLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GlobalISel/CallLowering.cpp?rev=343325&r1=343324&r2=343325&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/GlobalISel/CallLowering.cpp (original)
+++ llvm/trunk/lib/CodeGen/GlobalISel/CallLowering.cpp Fri Sep 28 08:08:49 2018
@@ -164,7 +164,6 @@ unsigned CallLowering::ValueHandler::ext
// nop in big-endian situations.
return ValReg;
case CCValAssign::AExt: {
- assert(!VA.getLocVT().isVector() && "unexpected vector extend");
auto MIB = MIRBuilder.buildAnyExt(LocTy, ValReg);
return MIB->getOperand(0).getReg();
}
Added: llvm/trunk/test/CodeGen/X86/GlobalISel/calllowering-nocrashret.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/GlobalISel/calllowering-nocrashret.ll?rev=343325&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/X86/GlobalISel/calllowering-nocrashret.ll (added)
+++ llvm/trunk/test/CodeGen/X86/GlobalISel/calllowering-nocrashret.ll Fri Sep 28 08:08:49 2018
@@ -0,0 +1,13 @@
+; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
+; RUN: llc -mtriple=x86_64-linux-gnu -o - -global-isel %s -stop-after=irtranslator | FileCheck %s
+
+define <4 x i1> @foo() {
+ ; CHECK-LABEL: name: foo
+ ; CHECK: bb.1.entry:
+ ; CHECK: [[DEF:%[0-9]+]]:_(<4 x s1>) = G_IMPLICIT_DEF
+ ; CHECK: [[ANYEXT:%[0-9]+]]:_(<4 x s32>) = G_ANYEXT [[DEF]](<4 x s1>)
+ ; CHECK: $xmm0 = COPY [[ANYEXT]](<4 x s32>)
+ ; CHECK: RET 0, implicit $xmm0
+entry:
+ ret <4 x i1> undef ;
+}
More information about the llvm-commits
mailing list