[flang][OpenMP] Separate checks for type-parameter inquiry and subobject
This will make it possible to diagnose these situations independently.
This isn't perfect, but will be improved gradually in the future.
[AMDGPU] Add llvm.amdgcn.s.prefetch.inst intrinsic (#192440)
- New intrinsic
- New SubtargetFeature for all s_prefetch_inst*/data*
- Support blockaddress
[SPIR-V] Diagnose out-of-bounds argument index in function type metadata (#200601)
The argument index in spv.cloned_funcs/spv.mutated_callsites metadata
was used to index the parameter list with only a lower bound assert
Add boundaries check it and report_fatal_error rather than silently
miscompiling
[LV] Optimize partial reduction extends before handling inloop subs
The crash avoided in #194660 was caused by the extend optimizations
failing to match as due to the extra sub/negation added to the
"ExtendedOp".
A similar crash exists for [us]abs partial reductions
(see https://godbolt.org/z/MerMon5rE), which is fixed with this patch.
This patch solves the underlying issue by running the extend optimizations
before any inloop sub/fsub handling.
Fixes #194000
[Dexter] Add basic debugging support for structured scripts (#197418)
This patch adds a debugger controller for structured scripts. This
controller operates as follows:
- !where nodes at the root of the script (currently the only kind
allowed) have function or line breakpoints set to cover them.
- Whenever the debugger stops, the controller will examine the stack to
determine whether any !where nodes are in scope.
- While any !where is in scope, its associated !values will be evaluated
in the debugger and the results stored, and the debugger will
single-step.
- When no !where is in scope, the debugger will continue.
This is a simplified implementation compared to the final version, as it
is missing support for nested !where nodes, Scope evaluation, and
conditions/hit counts; these will be added in later commits.
Add a driver for the NXP LM75A temperature sensor.
The chip is used in the Sun Ultra 45.
Note, that this is not the same as the TI LM75A temperature sensor (lmtemp).
[SLP] Gather wide PHI bundles to avoid compile-time blow-up
Vectorizing a PHI bundle recurses into one operand bundle per incoming
value, so the analysis cost grows with bundle_size * num_incoming_values.
With revectorization, very wide PHIs from jump threading make
opt -O3 hang for minutes/hours. Such PHIs are not profitable to vectorize,
so gather the bundle once that product exceeds a budget (new hidden option
-slp-phi-vectorization-budget, default 1024).
Fixes #201181
Reviewers: hiraditya, bababuck, RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/201227
[libc++][locale] Applied `[[nodiscard]]` (#200726)
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
- https://libcxx.llvm.org/CodingGuidelines.html
- https://wg21.link/localization
Remarks:
- Virtual functions are not marked `[[nodiscard]]` because they are not
expected to be directly called by users.
- `messages::open` is marked `[[nodiscard]]` because it is logically
similar to `operator new` and its friends.
py-idna: updated to 3.18
3.18
- When decoding a domain, add a `display` argument that will pass
through invalid labels rather than raising an exception.
[LoopInterchange] Assume LCSSA PHI incoming value may not be instruction (#201069)
This patch fixes one of the assertion failures reported in #200819. The
root cause in this case is that `moveLCSSAPhis` assumes the incoming
values of LCSSA PHIs are always instructions and unconditionally casts
them to `Instruction`.
This assumption does not always hold, especially when the incoming value
is a constant. For such LCSSA PHI nodes, it's enough to merely replace
all the uses with its incoming value.