[PATCH] D51147: [GISel]: Remove an incorrect assert in CallLowering
Aditya Nandakumar via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 22 19:02:31 PDT 2018
aditya_nandakumar created this revision.
aditya_nandakumar added reviewers: ab, dsanders, aemerson, volkan, arsenm, bogner, rtereshin, qcolombet.
Herald added subscribers: kristof.beyls, wdng.
Herald added a reviewer: javed.absar.
Asserting if any extend of vectors should be up to the target's legalizer/target specific code.
I suspect this was moved around from AArch64 during refactoring and stayed as is in generic code.
This assert fires if we compile the following llvm ir
define <4 x i1> @foo() {
entry:
ret <4 x i1> zeroinitializer
}
llc -mtriple=x86_64-linux-gnu -o - -global-isel
If required I can add a test that IRTranslation for above doesn't crash and produces ANYEXT. I haven't added as this seemed overkill for removing an assert.
Repository:
rL LLVM
https://reviews.llvm.org/D51147
Files:
lib/CodeGen/GlobalISel/CallLowering.cpp
Index: lib/CodeGen/GlobalISel/CallLowering.cpp
===================================================================
--- lib/CodeGen/GlobalISel/CallLowering.cpp
+++ lib/CodeGen/GlobalISel/CallLowering.cpp
@@ -164,7 +164,6 @@
// 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();
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51147.162124.patch
Type: text/x-patch
Size: 481 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180823/9c2e84a7/attachment.bin>
More information about the llvm-commits
mailing list