[PATCH] D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions

Amara Emerson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 21 15:53:11 PDT 2019


aemerson marked 2 inline comments as done.
aemerson added inline comments.


================
Comment at: llvm/lib/CodeGen/GlobalISel/CallLowering.cpp:232
+        // Handling an outgoing arg that might need to be split.
+        if (NumParts < 2) {
+          // Don't know how to deal with this type combination.
----------------
paquette wrote:
> paquette wrote:
> > braces
> Why less than 2?
Because this is a code path that hasn't been implemented or tested yet. That is, if we're dealing with an outgoing arg, and we failed to assign a location (at the beginning of handleAssignments), and the calling convention says it doesn't need to be split (NumParts < 2), then we don't know what else to do.


================
Comment at: llvm/test/CodeGen/AArch64/GlobalISel/arm64-callingconv.ll:1
-; RUN: llc -O0 -stop-after=irtranslator -global-isel -verify-machineinstrs %s -o - 2>&1 | FileCheck %s
+; RUN: llc -O0 -stop-after=irtranslator -global-isel -global-isel-abort=1 -verify-machineinstrs %s -o - 2>&1 | FileCheck %s
 
----------------
paquette wrote:
> Why are we falling back now?
We're not, I'm just adding this flag to ensure we error if we do fall back at all.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66180/new/

https://reviews.llvm.org/D66180





More information about the llvm-commits mailing list