Page MenuHomePhabricator

Revert "[SelectionDAG] Emit calls to __divei4 and friends for division/remainder of large integers"
ClosedPublic

Authored by mgehre-amd on Jul 19 2022, 5:04 AM.

Details

Summary

This reverts https://reviews.llvm.org/D120329.
I abandoned the PR [0] to add __divei4 functions to compiler-rt
in favor of adding a pass to transform div/rem [1].

This removes the backend code that was supposed to emit calls to the __divei4 functions.

[0] https://reviews.llvm.org/D120327
[1] https://reviews.llvm.org/D130076

Diff Detail

Unit TestsFailed

TimeTest
60,110 msx64 debian > AddressSanitizer-x86_64-linux.TestCases::scariness_score_test.cpp
Script: -- : 'RUN: at line 4'; /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/scariness_score_test.cpp -o /var/lib/buildkite-agent/builds/llvm-project/build/projects/compiler-rt/test/asan/X86_64LinuxConfig/TestCases/Output/scariness_score_test.cpp.tmp

Event Timeline

mgehre-amd created this revision.Jul 19 2022, 5:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 19 2022, 5:04 AM
mgehre-amd requested review of this revision.Jul 19 2022, 5:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 19 2022, 5:04 AM

I recommend to revert this patch after the new patch landed in llvm, so that it doesn't break existing functionality.

I recommend to revert this patch after the new patch landed in llvm, so that it doesn't break existing functionality.

The existing "functionality" is already broken because the backend emits calls to __divei4, but those functions are not provided by the runtime library.

pengfei accepted this revision.Aug 26 2022, 12:43 AM

LGTM.

This revision is now accepted and ready to land.Aug 26 2022, 12:43 AM