summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2017-01-27 21:31:24 +0000
committerTim Northover <tnorthover@apple.com>2017-01-27 21:31:24 +0000
commitd8b85584f23b78788d4bf8cabe84224baa7029e6 (patch)
tree176383364ffdbe62c13e8403342458961ffe08b1 /llvm
parentc9bc8a55809d831d8a54381bfdebc88b8a0ed38c (diff)
downloadbcm5719-llvm-d8b85584f23b78788d4bf8cabe84224baa7029e6.tar.gz
bcm5719-llvm-d8b85584f23b78788d4bf8cabe84224baa7029e6.zip
GlobalISel: set correct regclass for LOAD_STACK_GUARD.
Since it's not actually a generic MI, its register operands need a RegClass, which is conveniently the target's pointer RegClass. llvm-svn: 293335
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp2
-rw-r--r--llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-stackprotect.ll2
2 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
index ce3e682f14e..9382de77f88 100644
--- a/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
@@ -477,6 +477,8 @@ bool IRTranslator::translateMemcpy(const CallInst &CI,
void IRTranslator::getStackGuard(unsigned DstReg,
MachineIRBuilder &MIRBuilder) {
+ const TargetRegisterInfo *TRI = MF->getSubtarget().getRegisterInfo();
+ MRI->setRegClass(DstReg, TRI->getPointerRegClass(*MF));
auto MIB = MIRBuilder.buildInstr(TargetOpcode::LOAD_STACK_GUARD);
MIB.addDef(DstReg);
diff --git a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-stackprotect.ll b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-stackprotect.ll
index 579ef777223..00630864118 100644
--- a/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-stackprotect.ll
+++ b/llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator-stackprotect.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=aarch64-apple-ios %s -stop-after=irtranslator -o - -global-isel | FileCheck %s
+; RUN: llc -verify-machineinstrs -mtriple=aarch64-apple-ios %s -stop-after=irtranslator -o - -global-isel | FileCheck %s
; CHECK: name: test_stack_guard
OpenPOWER on IntegriCloud