[PATCH] D70483: AArch64: add FastISel support for arm64_32
Gerolf Hoflehner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 12 22:25:37 PST 2019
Gerolf added reviewers: aemerson, paquette, thegameg.
Gerolf added a comment.
A question and a nit to get it started.
+ Amara, Jessica, Francis.
================
Comment at: llvm/lib/Target/AArch64/AArch64FastISel.cpp:1206
+ bool IsILP32Pointer =
+ Subtarget->isTargetILP32() && RHS->getType()->isPointerTy();
----------------
Should that check be before the canonicalizations above?
================
Comment at: llvm/lib/Target/AArch64/AArch64FastISel.cpp:2133
+ unsigned SubReg = 0;
+ if (VT == MVT::i32 && TRI.getRegSizeInBits(SrcReg, MRI) == 64) {
+ assert(VT == MVT::i32 && TRI.getRegSizeInBits(SrcReg, MRI) == 64 &&
----------------
if (Subtarget->isTargetILP32() && ....), then delete the assert. Maybe create a function/lambda? See below.
================
Comment at: llvm/lib/Target/AArch64/AArch64FastISel.cpp:2210
+ unsigned SubReg = 0;
+ if (VT == MVT::i32 && TRI.getRegSizeInBits(SrcReg, MRI) == 64) {
+ MRI.constrainRegClass(SrcReg, &AArch64::GPR64RegClass);
----------------
only if subtarget is ilp32 ...
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D70483/new/
https://reviews.llvm.org/D70483
More information about the llvm-commits
mailing list