According to the RFC [0], this review contains the clang parts of large integer divison for _BitInt.
It contains the following parts:
- Driver: Gnu, MinGW: Link libbitint when available
- Add -fexperimental_max_bitint_width=N
Paths
| Differential D122234
[clang] Link libbitint for large division of _BitInt AbandonedPublic Authored by mgehre-amd on Mar 22 2022, 8:24 AM.
Details
Summary According to the RFC [0], this review contains the clang parts of large integer divison for _BitInt. It contains the following parts:
Diff Detail
Event Timeline
mgehre-amd added inline comments.
mgehre-amd added inline comments.
mgehre-amd added inline comments.
Comment Actions
mgehre-amd added inline comments.
mgehre-amd retitled this revision from [clang] Link libbitint for large division of _BitInt; increase max _BitInt size to [clang] Link libbitint for large division of _BitInt.Mar 29 2022, 6:45 AM Comment Actions This looks generally correct to me, but precommit CI is currently failing with a relevant issue (what a nice change of pace): Failed Tests (1): Clang :: Driver/linux-ld.c
Comment Actions I split the introduction of -fexperimental-max-bitint-width into https://reviews.llvm.org/D127287 because there is still discussion about the bitint libraries in the backend PRs. Comment Actions Instead of linking to libbitint, I instead created a backend pass to transform div/rem instructions: https://reviews.llvm.org/D130076
Revision Contents
Diff 417304 clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/include/clang/Basic/TargetInfo.h
clang/include/clang/Sema/Sema.h
clang/lib/Driver/ToolChains/CommonArgs.h
clang/lib/Driver/ToolChains/CommonArgs.cpp
clang/lib/Driver/ToolChains/Gnu.cpp
clang/lib/Driver/ToolChains/MinGW.cpp
clang/lib/Lex/LiteralSupport.cpp
clang/lib/Sema/Sema.cpp
clang/lib/Sema/SemaCast.cpp
clang/test/CodeGen/ext-int-cc.c
clang/test/Driver/linux-ld.c
clang/test/Lexer/bitint-constants.c
clang/test/Preprocessor/init-aarch64.c
clang/test/Preprocessor/init.c
clang/test/Sema/ext-int.c
clang/test/SemaCXX/ext-int.cpp
|
Can you explain the issue here? This is supposed to be well-defined behavior.