Page MenuHomePhabricator

[RISCV][VP] Custom lower VP_STRIDED_LOAD and VP_STRIDED_STORE
ClosedPublic

Authored by loralb on Mar 7 2022, 7:01 AM.

Diff Detail

Unit TestsFailed

TimeTest
60,060 msx64 debian > Clang.CodeGen/RISCV/rvv-intrinsics::vloxseg_mask.c
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/clang -cc1 -internal-isystem /var/lib/buildkite-agent/builds/llvm-project/build/lib/clang/15.0.0/include -nostdsysteminc -triple riscv64 -target-feature +f -target-feature +d -target-feature +zfh -target-feature +v -disable-O0-optnone -emit-llvm /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg_mask.c -o - | /var/lib/buildkite-agent/builds/llvm-project/build/bin/opt -S -mem2reg | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck --check-prefix=CHECK-RV64 /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics/vloxseg_mask.c
60,040 msx64 debian > Clang.CodeGen/RISCV/rvv-intrinsics::vluxseg_mask.c
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/clang -cc1 -internal-isystem /var/lib/buildkite-agent/builds/llvm-project/build/lib/clang/15.0.0/include -nostdsysteminc -triple riscv64 -target-feature +f -target-feature +d -target-feature +zfh -target-feature +v -disable-O0-optnone -emit-llvm /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg_mask.c -o - | /var/lib/buildkite-agent/builds/llvm-project/build/bin/opt -S -mem2reg | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck --check-prefix=CHECK-RV64 /var/lib/buildkite-agent/builds/llvm-project/clang/test/CodeGen/RISCV/rvv-intrinsics/vluxseg_mask.c
60,090 msx64 debian > MLIR.Examples/standalone::test.toy
Script: -- : 'RUN: at line 1'; /usr/bin/cmake /var/lib/buildkite-agent/builds/llvm-project/mlir/examples/standalone -G "Ninja" -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C_COMPILER=/usr/bin/clang -DLLVM_ENABLE_LIBCXX=OFF -DMLIR_DIR=/var/lib/buildkite-agent/builds/llvm-project/build/lib/cmake/mlir ; /usr/bin/cmake --build . --target check-standalone | tee /var/lib/buildkite-agent/builds/llvm-project/build/tools/mlir/test/Examples/standalone/Output/test.toy.tmp | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/mlir/test/Examples/standalone/test.toy
60,040 msx64 debian > libFuzzer.libFuzzer::large.test
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -O2 -gline-tables-only -fsanitize=address,fuzzer -I/var/lib/buildkite-agent/builds/llvm-project/compiler-rt/lib/fuzzer -m64 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/fuzzer/LargeTest.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/fuzzer/X86_64DefaultLinuxConfig/Output/large.test.tmp-LargeTest

Event Timeline

loralb created this revision.Mar 7 2022, 7:01 AM
loralb requested review of this revision.Mar 7 2022, 7:01 AM
craig.topper added inline comments.Mar 7 2022, 10:27 AM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
476

Why do we need to Custom legalize the narrow scalar types? Shouldn't they be promoted by generic type legalization PromoteIntOp?

craig.topper added inline comments.Mar 7 2022, 1:49 PM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
6093

Should we be using INTRINSIC_W_CHAIN and intrinsic_riscv_vlse/vlse_mask similar to what we do for other VP load/store?

loralb updated this revision to Diff 413874.Mar 8 2022, 10:51 AM
loralb edited the summary of this revision. (Show Details)

Changelog:

  • Remove unnecessary custom legalization of narrow scalar types
  • Do not add new RISCVISD nodes, use existing intrinsics instead
craig.topper added inline comments.Mar 9 2022, 1:33 PM
llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
145

Use poison instead of undef

loralb updated this revision to Diff 415739.Mar 16 2022, 2:06 AM

Changelog:

  • Address review comment
loralb marked 3 inline comments as done.Mar 16 2022, 2:06 AM
craig.topper added inline comments.Mar 17 2022, 11:08 AM
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
26

This should have ".i32" on the end of the intrinsic name. Same for all of the intrinsics with i32 stride.

craig.topper added inline comments.Mar 21 2022, 11:50 AM
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
478

Why do we need custom legalization for i32 on rv64? Shouldn't we have a generic PromoteIntOp for this?

loralb updated this revision to Diff 420465.Apr 5 2022, 5:33 AM

Changelog:

  • Address review comments

I added a new parent revision: D123112.

loralb marked 2 inline comments as done.Apr 12 2022, 5:52 AM
loralb updated this revision to Diff 446104.Jul 20 2022, 4:05 AM

Changelog:

  • Rebase
This revision is now accepted and ready to land.Jul 21 2022, 12:15 PM
loralb added a comment.Aug 1 2022, 3:14 AM

I do not have commit rights, may I ask you to commit this for me? @craig.topper

This revision was landed with ongoing or failed builds.Aug 1 2022, 9:24 AM
This revision was automatically updated to reflect the committed changes.