History log of /llvm-project/clang/include/module.modulemap (Results 1 – 17 of 17)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init
# 7e22180c 28-Jan-2025 Chandler Carruth <chandlerc@gmail.com>

[StrTable] Mechanically convert Hexagon builtins to use TableGen (#123460)

This switches them to use the common builtin TableGen emission.

The fancy feature string preprocessor tricks are replace

[StrTable] Mechanically convert Hexagon builtins to use TableGen (#123460)

This switches them to use the common builtin TableGen emission.

The fancy feature string preprocessor tricks are replaced with a fairly
direct translation into TableGen.

All of the actual definitions were created using a quite hack-y Python
script that was never intended to be productionized. It preserves the
order, spacing, and even comments from the original files. For
posterity, the script used is here:

https://gist.github.com/chandlerc/f53c7d735e33eecf388529bd9a6010df

The original `.def` file appears to be generated by some out-of-tree
`iset.py` script, which because it is out of tree I couldn't update. It
should be very straightforward though to update it to generate a similar
structure as was used to produce the `.td` file.

In addition to helping move towards TableGen for all of the builtins,
these builtins in particular can be *much* more efficiently handled
using TableGen when we start emitting string tables for them because it
allows de-duplicating all of the feature strings.

The commit sha parent at the time the PR was made is
7253c6fde498c4c9470b681df47d46e6930d6a02 and at that commit, the
resulting TableGen file produces a `.inc` file that only differs in
whitespace and the order of the builtins defined.

show more ...


# b968fd95 28-Jan-2025 Chandler Carruth <chandlerc@gmail.com>

[StrTable] Mechanically convert NVPTX builtins to use TableGen (#122873)

This switches them to use tho common TableGen layer, extending it to
support the missing features needed by the NVPTX backen

[StrTable] Mechanically convert NVPTX builtins to use TableGen (#122873)

This switches them to use tho common TableGen layer, extending it to
support the missing features needed by the NVPTX backend.

The biggest thing was to build a TableGen system that computes the
cumulative SM and PTX feature sets the same way the macros did. That's
done with some string concatenation tricks in TableGen, but they worked
out pretty neatly and are very comparable in complexity to the macro
version.

Then the actual defines were mapped over using a very hacky Python
script. It was never productionized or intended to work in the future,
but for posterity:

https://gist.github.com/chandlerc/10bdf8fb1312e252b4a501bace184b66

Last but not least, there was a very odd "bug" in one of the converted
builtins' prototype in the TableGen model: it didn't handle uses of `Z`
and `U` both as *qualifiers* of a single type, treating `Z` as its own
`int32_t` type. So my hacky Python script converted `ZUi` into two
types, an `int32_t` and an `unsigned int`. This produced a very wrong
prototype. But the tests caught this nicely and I fixed it manually
rather than trying to improve the Python script as it occurred in
exactly one place I could find.

This should provide direct benefits of allowing future refactorings to
more directly leverage TableGen to express builtins more structurally
rather than textually. It will also make my efforts to move builtins to
string tables significantly more effective for the NVPTX backend where
the X-macro approach resulted in *significantly* less efficient string
tables than other targets due to the long repeated feature strings.

show more ...


Revision tags: llvmorg-19.1.7
# db408acc 08-Jan-2025 Volodymyr Sapsai <vsapsai@apple.com>

[Modules] Fix modular build. (#122034)

Add a new file to the module map and remove 2 missing files (migrated
from .def to .td).


Revision tags: llvmorg-19.1.6
# f33e2369 12-Dec-2024 Qiongsi Wu <274595+qiongsiwu@users.noreply.github.com>

[clang][Modules] Fixing Build Breaks When -DLLVM_ENABLE_MODULES=ON (#119473)

A few recent changes are causing build breaks when
`-DLLVM_ENABLE_MODULES=ON` (such as
834dfd23155351c9885eddf7b9664f76

[clang][Modules] Fixing Build Breaks When -DLLVM_ENABLE_MODULES=ON (#119473)

A few recent changes are causing build breaks when
`-DLLVM_ENABLE_MODULES=ON` (such as
834dfd23155351c9885eddf7b9664f7697326946 and
7dfdca1961aadc75ca397818bfb9bd32f1879248).

This PR makes the required updates so that clang/llvm builds when
`-DLLVM_ENABLE_MODULES=ON`.

rdar://140803058

show more ...


Revision tags: llvmorg-19.1.5, llvmorg-19.1.4
# 834dfd23 18-Nov-2024 Kazu Hirata <kazu@google.com>

[Parse] Remove ParseDiagnostic.h (#116496)

This patch removes clang/Parse/ParseDiagnostic.h because it just
forwards to clang/Basic/DiagnosticParse.h.


Revision tags: llvmorg-19.1.3, llvmorg-19.1.2
# 1202c24b 02-Oct-2024 Volodymyr Sapsai <vsapsai@apple.com>

[Modules] Mark CFProtectionOptions.def as a textual header because it is used for x-macro purposes. (#110780)


Revision tags: llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3
# 52956b0f 05-Aug-2024 Helena Kotas <hekotas@microsoft.com>

[HLSL] Implement intangible AST type (#97362)

HLSL has a set of intangible types which are described in in the
[draft HLSL Specification
(**[Basic.types]**)](https://microsoft.github.io/hlsl-specs

[HLSL] Implement intangible AST type (#97362)

HLSL has a set of intangible types which are described in in the
[draft HLSL Specification
(**[Basic.types]**)](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf):
There are special implementation-defined types such as handle types,
which fall into a category of standard intangible types. Intangible
types are types that have no defined object representation or value
representation, as such the size is unknown at compile time.

A class type T is an intangible class type if it contains an base
classes or members of intangible class type, standard intangible type,
or arrays of such types. Standard intangible types and intangible class
types are collectively called intangible
types([9](https://microsoft.github.io/hlsl-specs/specs/hlsl.html#Intangible)).

This PR implements one standard intangible type `__hlsl_resource_t`
and sets up the infrastructure that will make it easier to add more
in the future, such as samplers or raytracing payload handles. The
HLSL intangible types are declared in
`clang/include/clang/Basic/HLSLIntangibleTypes.def` and this file is
included with related macro definition in most places that require edits
when a new type is added.

The new types are added as keywords and not typedefs to make sure they
cannot be redeclared, and they can only be declared in builtin implicit
headers. The `__hlsl_resource_t` type represents a handle to a memory
resource and it is going to be used in builtin HLSL buffer types like this:

template <typename T>
class RWBuffer {
[[hlsl::contained_type(T)]]
[[hlsl::is_rov(false)]]
[[hlsl::resource_class(uav)]]
__hlsl_resource_t Handle;
};

Part 1/3 of llvm/llvm-project#90631.

---------

Co-authored-by: Justin Bogner <mail@justinbogner.com>

show more ...


Revision tags: llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init
# 868b90df 27-Jun-2024 Med Ismail Bennani <ismail@bennani.ma>

[clang] Fix incomplete umbrella warnings when building clang modules (NFC) (#96939)


Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3
# a8d4a024 09-Feb-2024 Wang Pengcheng <wangpengcheng.pp@bytedance.com>

[Clang][RISCV] Refactor builtins to TableGen

This mechanism is introduced by #68324.

This refactor makes the prototype and attributes clear.

Reviewers: asb, kito-cheng, philnik777, topperc, preame

[Clang][RISCV] Refactor builtins to TableGen

This mechanism is introduced by #68324.

This refactor makes the prototype and attributes clear.

Reviewers: asb, kito-cheng, philnik777, topperc, preames

Reviewed By: topperc

Pull Request: https://github.com/llvm/llvm-project/pull/80280

show more ...


# 66d462d0 08-Feb-2024 Adrian Prantl <aprantl@apple.com>

Add missing textual header to module map


Revision tags: llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1
# 4a582845 24-Jan-2024 Nikolas Klauser <nikolasklauser@berlin.de>

[clang] Refactor Builtins.def to be a tablegen file (#68324)

This makes the builtins list quite a bit more verbose, but IMO this is a
huge win in terms of readability.


Revision tags: llvmorg-19-init
# 5ad3a32c 05-Dec-2023 Juergen Ributzka <juergen@ributzka.de>

[clang][modules] Reset codegen options (take 2). (#74388)

CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmod

[clang][modules] Reset codegen options (take 2). (#74388)

CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:

1.) Split out all the debug options into a separate `DebugOptions.def`
file. The file is included by `CodeGenOptions.def`, so the change is
transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.

This fixes rdar://113135909.

show more ...


# 1157bee5 04-Dec-2023 Juergen Ributzka <juergen@ributzka.de>

Revert "[clang][modules] Reset codegen options. (#74006)"

This reverts commit fef1854318bd797c1f8a141d4b45b113b04860d1.


# fef18543 04-Dec-2023 Juergen Ributzka <juergen@ributzka.de>

[clang][modules] Reset codegen options. (#74006)

CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
I

[clang][modules] Reset codegen options. (#74006)

CodeGen options do not affect the AST, so they usually can be ignored.
The only exception to the rule is when a PCM is created with
`-gmodules`.
In that case the Clang module format is switched to object file
container and contains also serialized debug information that can be
affected by debug options. There the following approach was choosen:

1.) Split out all the debug options into a separate `DebugOptions.def`
file. The file is included by `CodeGenOptions.def`, so the change is
transparent to all existing users of `CodeGenOptions.def`.
2.) Reset all CodeGen options, but excluding affecting debug options.
3.) Conditionally reset debug options that can affect the PCM.

This fixes rdar://113135909.

show more ...


Revision tags: llvmorg-17.0.6, llvmorg-17.0.5
# 1adb898e 31-Oct-2023 Adrian Prantl <aprantl@apple.com>

Mark headers as textual and unbreak the modules build


Revision tags: llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5
# d6e19095 30-May-2023 Adrian Prantl <aprantl@apple.com>

Mark header as textual


Revision tags: llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4
# 24f36a21 09-Mar-2023 Volodymyr Sapsai <vsapsai@apple.com>

[Modules] Move modulemaps to header search directories. NFC intended.

In code we use `#include "llvm/Lib/Header.h"` which is located in
"llvm/include/llvm/Lib/Header.h", so we use "llvm/include/" as

[Modules] Move modulemaps to header search directories. NFC intended.

In code we use `#include "llvm/Lib/Header.h"` which is located in
"llvm/include/llvm/Lib/Header.h", so we use "llvm/include/" as a header
search path. We should put modulemaps in the same directory and
shouldn't rely on clang to search in immediate subdirectories.

rdar://106677321

Differential Revision: https://reviews.llvm.org/D148776

show more ...