[clang] [llvm] [clang][llvm][SPIR-V] Explicitly encode native integer widths for SPIR-V (PR #110695)
Alex Voicu via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 10 15:49:13 PDT 2024
================
@@ -1,12 +1,14 @@
; This test aims to check ability to support "Arithmetic with Overflow" intrinsics
; in the special case when those intrinsics are being generated by the CodeGenPrepare;
-; pass during translations with optimization (note -O3 in llc arguments).
+; pass during translations with optimization (note -disable-lsr, to inhibit
+; strength reduction pre-empting with a more preferable match for this pattern
+; in llc arguments).
-; RUN: llc -O3 -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
-; RUN: %if spirv-tools %{ llc -O3 -mtriple=spirv32-unknown-unknown %s -o - -filetype=obj | spirv-val %}
+; RUN: llc -O3 -disable-lsr -mtriple=spirv32-unknown-unknown %s -o - | FileCheck %s
----------------
AlexVlx wrote:
Well, I think that in this case @arsenm is on the money here: we should have an IR->IR test in CodeGenPrepare wherein we ensure that for the SPIR-V target, the optimisation triggers and the saturating intrinsics show up. Their correct lowering is, as you say, handled someplace else. Correctly selecting / lowering them should be independent of whether they were implicitly inserted by some optimisation pass, or explicitly inserted by the user. Personally, I would separate that change from this PR (as it's pretty unrelated), and merely disable LSR in the existing test temporarily so as to not lose its coverage. Thoughts?
https://github.com/llvm/llvm-project/pull/110695
More information about the cfe-commits
mailing list