summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
diff options
context:
space:
mode:
authorAmara Emerson <aemerson@apple.com>2018-06-01 13:20:32 +0000
committerAmara Emerson <aemerson@apple.com>2018-06-01 13:20:32 +0000
commit5a3bb68e12e4315b9efd662e499cde7e15cdec04 (patch)
treee5c677243bcd05556033c384ed91fd45d69926b2 /llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
parented6bc3422636dc8d4de58d18f319ae0b56827de9 (diff)
downloadbcm5719-llvm-5a3bb68e12e4315b9efd662e499cde7e15cdec04.tar.gz
bcm5719-llvm-5a3bb68e12e4315b9efd662e499cde7e15cdec04.zip
[AArch64][GlobalISel] Zero-extend s1 values when returning.
Before we were relying on the any extend of the s1 to s32, but for AAPCS we need to zero-extend it to at least s8. Fixes PR36719 Differential Revision: https://reviews.llvm.org/D47425 llvm-svn: 333747
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp12
1 files changed, 1 insertions, 11 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index b5cc7f7727f..87086af121b 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -726,17 +726,7 @@ LegalizerHelper::widenScalar(MachineInstr &MI, unsigned TypeIdx, LLT WideTy) {
WideTy != LLT::scalar(8))
return UnableToLegalize;
- const auto &TLI = *MIRBuilder.getMF().getSubtarget().getTargetLowering();
- switch (TLI.getBooleanContents(false, false)) {
- case TargetLoweringBase::ZeroOrNegativeOneBooleanContent:
- widenScalarSrc(MI, WideTy, 0, TargetOpcode::G_SEXT);
- break;
- case TargetLoweringBase::ZeroOrOneBooleanContent:
- widenScalarSrc(MI, WideTy, 0, TargetOpcode::G_ZEXT);
- break;
- default:
- widenScalarSrc(MI, WideTy, 0, TargetOpcode::G_ANYEXT);
- }
+ widenScalarSrc(MI, WideTy, 0, TargetOpcode::G_ZEXT);
MIRBuilder.recordInsertion(&MI);
return Legalized;
}
OpenPOWER on IntegriCloud