[NFC][IR] Use `isa<ConstantPointerNull>` instead of `isNullValue` for pointer null checks (#197512)
This PR replaces `isNullValue()` with `isa<ConstantPointerNull>()` in
core IR files where the check is semantically testing for a null pointer
rather than a generic zero value. This makes the intent explicit and
prepares for future non-zero null pointer support.
[Instrumentor] Add a global function regexp to limit the instrumentation (#196234)
Only functions that match the "function_regex" will be instrumented, or
if they have the instrumentation attribute.
[MemoryBuiltins][NFC] Allow users to retrieve detailed (de)allocation info
There are some helpers to inspect a value or call but not all
information about the (de)allocation are made available outside of
MemoryBuiltins.cpp. The two new functions allow users a more in-depth
view of (de)allocations through a single API.
[MemoryBuiltins][NFC] Allow users to retrieve detailed (de)allocation info
There are some helpers to inspect a value or call but not all
information about the (de)allocation are made available outside of
MemoryBuiltins.cpp. The two new functions allow users a more in-depth
view of (de)allocations through a single API.
[Bazel] Pull in common incompatibility flags from BCR testing (#197326)
This change brings in flags which disable legacy behavior to discourage
incompatibilities being introduced for future versions of Bazel.
[SSAF] Remove UnsafeBufferUsageTest.h (#195201)
The idea is that we do not want to have test-only functionality in any
interface.
We have lit tests
(clang/test/Analysis/Scalable/UnsafeBufferUsage/tu-summary-serialization.test)
covering the removed unit test.
---------
Co-authored-by: Balázs Benics <benicsbalazs at gmail.com>
Co-authored-by: Jan Korous <jkorous at apple.com>
[Instrumentor] Add a property filter for static properties
The user can define static filters in the json to limit instrumentation
to opportunities that match the static expression, e.g., is_volatile==1.
The matcher logic is pretty basic for now. Integer comparisons, string
equalities and startswith are supported.
The commit was prepared with Claude (AI) and proofread/tested by me.
[DirectX] Verify root signature version before parsing metadata (#196667)
This patch modifies the logic when parsing root signature metadata so
the version is validated before parsing it.
Fix: https://github.com/llvm/llvm-project/issues/196652
[libc] Build with -Wshadow (#197516)
This relands #196519. It now only enables the warning for
clang 22 and newer, since older versions had false positives.
[Instrumentor] Allow multiple config files with different filters
To instrument different functions in different ways we allow to provide
multiple config files now. Each file will result in one instrumentation
run. Multiple files can be passed via command line option or listed in
a "summary" file that is passed via command line option (to keep the
command length managable).
[clang] make evaluation of type constraint a SFINAE context
Otherwise, errors when substituting a type constraint could unintentionally make
the program ill-formed.
This also strenghtens the assert which checks, when we are instantiating templates,
that we either have a code synthesis context, or that we are in a SFINAE
context.
[mlir][OpenMP] Add iterator support to map/motion clause
Extend map/motion clause to support `!omp.iterated<Ty>` handles
alongside map/motion locators.
This is part of feature work for #188061
Assisted with copilot
Require explicit yield in iterator op
Remove the implicit terminator trait from omp.iterator so iterator
modifiers must explicitly yield the value used to form the iterated list.
Add and update verfier and test accordingly.
Simplify map iterator clause assembly
- Split MLIR map syntax into separate map_entries(...) and map_iterated(...),
removing the custom MapEntryList parser/printer.
- Moved omp.target map_iterated out of TargetOpRegion
- it now prints before the target region instead of as map_iterated_entries(...) after the region.
- Renamed LLVMIR TODO helper to clause-style checkMap.
- Added DeclareMapperInfoOp builder from DeclareMapperInfoOperands
and updated Flang call sites so they do not need to spell out newly
added operands..
[NRC][IR] Use `isa<ConstantPointerNull>` instead of `isNullValue` for pointer null checks
This PR replaces `isNullValue()` with `isa<ConstantPointerNull>()` in core IR
files where the check is semantically testing for a null pointer rather than a
generic zero value. This makes the intent explicit and prepares for future
non-zero null pointer support.