[PATCH] D141048: [SelectionDAG] Add missing setValue calls in visitIntrinsicCall

Marco Elver via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 5 06:38:59 PST 2023


melver requested changes to this revision.
melver added inline comments.
This revision now requires changes to proceed.


================
Comment at: llvm/test/CodeGen/AArch64/SelectionDAG/arm64-pcsections-selectiondag.ll:1
+; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
+; RUN: llc < %s -mtriple=aarch64-unknown-linux-gnu -stop-after=aarch64-expand-pseudo -verify-machineinstrs | FileCheck %s
----------------
Similar to x86 comment:

I think we want to say -global-isel=0, to ensure GlobalISel isn't used?

Also, just call it similar to the x86 one 'pcsections-memtransfer.ll', i.e. it'll end up in 'CodeGen/AArch64/pcsections-memtransfer.ll'.


================
Comment at: llvm/test/CodeGen/AArch64/SelectionDAG/arm64-pcsections-selectiondag.ll:87-100
+  ; CHECK-LABEL: name: call_memcpy_element_unordered_atomic_intrinsic
+  ; CHECK: bb.0 (%ir-block.0):
+  ; CHECK-NEXT:   liveins: $lr
+  ; CHECK-NEXT: {{  $}}
+  ; CHECK-NEXT:   early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.2)
+  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 16
+  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $w30, -16
----------------
I see no pcsections, is it still missing?


================
Comment at: llvm/test/CodeGen/AArch64/SelectionDAG/arm64-pcsections-selectiondag.ll:109-122
+  ; CHECK-LABEL: name: call_memmove_element_unordered_atomic_intrinsic
+  ; CHECK: bb.0 (%ir-block.0):
+  ; CHECK-NEXT:   liveins: $lr
+  ; CHECK-NEXT: {{  $}}
+  ; CHECK-NEXT:   early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.2)
+  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 16
+  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $w30, -16
----------------
I see no pcsections, is it still missing?


================
Comment at: llvm/test/CodeGen/AArch64/SelectionDAG/arm64-pcsections-selectiondag.ll:131-144
+  ; CHECK-LABEL: name: call_memset_element_unordered_atomic_intrinsic
+  ; CHECK: bb.0 (%ir-block.0):
+  ; CHECK-NEXT:   liveins: $lr
+  ; CHECK-NEXT: {{  $}}
+  ; CHECK-NEXT:   early-clobber $sp = frame-setup STRXpre killed $lr, $sp, -16 :: (store (s64) into %stack.1)
+  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION def_cfa_offset 16
+  ; CHECK-NEXT:   frame-setup CFI_INSTRUCTION offset $w30, -16
----------------
I see no pcsections, is it still missing?


================
Comment at: llvm/test/CodeGen/X86/SelectionDAG/x64-pcsections-memtransfer.ll:1
+; NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-linux-gnu -stop-after=finalize-isel -verify-machineinstrs | FileCheck %s -check-prefix=X64
----------------
I think creating a SelectionDAG subdir is unnecessary (you're the first to create it). I think we can just dump it in X86/

Also, I think we need to explicitly make sure global-isel isn't used as it might be enabled in future, at which point it doesn't test SelectionDAG anymore.

E.g. see llvm/test/CodeGen/X86/switch-bit-test-unreachable-default.ll

I'd name this test simply 'pcsections-memtransfer.ll'


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D141048



More information about the llvm-commits mailing list