[all-commits] [llvm/llvm-project] 2529a8: Mechanically port bulk of x86 builtins to TableGen...
Chandler Carruth via All-commits
all-commits at lists.llvm.org
Sat Jan 4 02:24:15 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 2529a8df53af9bc6cecfd6c83404ffa5e89e3370
https://github.com/llvm/llvm-project/commit/2529a8df53af9bc6cecfd6c83404ffa5e89e3370
Author: Chandler Carruth <chandlerc at gmail.com>
Date: 2025-01-04 (Sat, 04 Jan 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsBase.td
R clang/include/clang/Basic/BuiltinsX86.def
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/TargetBuiltins.h
M clang/lib/Basic/Targets/X86.cpp
M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
Log Message:
-----------
Mechanically port bulk of x86 builtins to TableGen (#120831)
The goal is to make incremental (if small) progress towards fully
TableGen'ed builtins, and to unblock #120534 by gaining access to more
powerful TableGen-based representations.
The bulk `.td` file addition was generated with the help of a very rough
Python script. That script made no attempt to be robust or reusable, it
specifically handled only the cases in the X86 `.def` file.
Four entries from the `.def` file were not handled automatically as they
used `BUILTIN` rather than `TARGET_BUILTIN`. These were ported by hand
to an empty-feature `TargetBuiltin` entry, which seems like a better
match.
For all the automatically ported entries, the results were compared by
sorting and diffing the `.def` file and the generated `.inc` file. The
only differences were:
- Different horizontal whitespace
- Additional entries that had already been ported to the `.td` file.
- More systematically using `Oi` instead of `LLi` for the type `long
long int` in the fully general `__builtin_ia32_...` builtins for OpenCL
support. The `.def` file was only partially moved to this it seems, and
the systematic migration has updated a few missed builtins.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list