Page MenuHomePhabricator

Add an AArch64 DAG combine to eliminate unnecessary XTN operations when truncating v1i64 to v1i32.
Needs ReviewPublic

Authored by resistor on Jan 7 2023, 9:54 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None

Diff Detail

Unit TestsFailed

TimeTest
60,070 msx64 debian > AddressSanitizer-x86_64-linux-dynamic.TestCases/Posix::stack-use-after-return.cpp
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -shared-libasan -O0 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp -pthread -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxDynamicConfig/TestCases/Posix/Output/stack-use-after-return.cpp.tmp && env ASAN_OPTIONS=detect_stack_use_after_return=1 not /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxDynamicConfig/TestCases/Posix/Output/stack-use-after-return.cpp.tmp 2>&1 | FileCheck /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp
60,120 msx64 debian > AddressSanitizer-x86_64-linux.TestCases::memset_test.cpp
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -O0 -DTEST_MEMSET /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/memset_test.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/memset_test.cpp.tmp && not /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/memset_test.cpp.tmp 2>&1 | FileCheck /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/memset_test.cpp --check-prefix=CHECK-MEMSET
60,110 msx64 debian > AddressSanitizer-x86_64-linux.TestCases/Posix::stack-overflow.cpp
Script: -- : 'RUN: at line 3'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -O0 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp -DSMALL_FRAME -pthread -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Posix/Output/stack-overflow.cpp.tmp && env ASAN_OPTIONS=use_sigaltstack=1 not /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Posix/Output/stack-overflow.cpp.tmp 2>&1 | FileCheck /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
60,170 msx64 debian > AddressSanitizer-x86_64-linux.TestCases/Posix::stack-use-after-return.cpp
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/./bin/clang --driver-mode=g++ -fsanitize=address -mno-omit-leaf-frame-pointer -fno-omit-frame-pointer -fno-optimize-sibling-calls -gline-tables-only -m64 -O0 /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp -pthread -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Posix/Output/stack-use-after-return.cpp.tmp && env ASAN_OPTIONS=detect_stack_use_after_return=1 not /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Posix/Output/stack-use-after-return.cpp.tmp 2>&1 | FileCheck /var/lib/buildkite-agent/builds/llvm-project/compiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp
70 msx64 debian > LLVM.CodeGen/AArch64::trunc-v1i64.ll
Script: -- : 'RUN: at line 1'; /var/lib/buildkite-agent/builds/llvm-project/build/bin/llc -mtriple=aarch64-none-linux-gnu -mattr=+neon -verify-machineinstrs < /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/trunc-v1i64.ll | /var/lib/buildkite-agent/builds/llvm-project/build/bin/FileCheck /var/lib/buildkite-agent/builds/llvm-project/llvm/test/CodeGen/AArch64/trunc-v1i64.ll

Event Timeline

resistor created this revision.Jan 7 2023, 9:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 7 2023, 9:54 PM
resistor requested review of this revision.Jan 7 2023, 9:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptJan 7 2023, 9:54 PM
HsiangKai added inline comments.
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
17477

Put SDLoc(N) into the argument list.

resistor updated this revision to Diff 487264.Jan 8 2023, 7:31 PM

Update for comment

resistor marked an inline comment as done.Jan 8 2023, 7:31 PM