[RISCV] Add rules for Zca+Zcb+Zcmp+Zcmpt implying Zce. (#175041)
The implication rules need to consider whether F is enabled like was
done for C in #172860.
[AMDGPU] Modifies raytracing and wmma builtin def to take _Float16 for HIP/C++ (#175039)
For raytrace and wmma builtins, using 'x' in the def to take _Float16
for HIP/C++ and half for OpenCL.
[AMDGPU] Handle `s_setreg_imm32_b32` targeting `MODE` register
On certain hardware, this instruction clobbers VGPR MSB `bits[12:19]`, so we need to restore the current mode.
[clang-doc] Fix misnamed, mismatched, or incorrect tags
This is mostly a chore patch that fixes misnamed, mismatched,
or non-existant tags. That includes renaming the function tags in the
class template to `Has*Methods` instead of `Has*Functions`. The "method"
style was already preferred in the template HTML.
Some extraneous tags were removed from the enum template. All templates should use
`Description` for rendering comments, but it was still using an old tag
name. Also, the JSON generator currently doesn't serialize individual
enum value comments, so that tag was removed. Same for public members.
`Description` is removed for friends due to the way Mustache handles missing
tags. If `Description` isn't present, it will use the parent's
description which is undesirable.
[clang-doc] Fix inconsistent padding and spacing in HTML
The navbar and sidebar caused spacing and alignment issues since they
were fixed elements with defined height/width. It was difficult to have
all elements below them correctly offset the height. This patch changes them
to sticky elements within the normal document flow that don't define their
height/width explicitly. This actually lets us use existing HTML/CSS
properties (like the "content" div) more naturally.
This also changes the navbar behavior to not follow while scrolling.
[clang-doc] Serialize repository URL in Mustache templates
Location tags didn't handle possible `FileURL` fields when a repository
URL was specified in a clang-doc invocation. This also cleans up all
location occurences to use `<p>` instead of `<div>` and allows linking
to the repository URL.
[clang-doc] Don't serialize non-existant locations in HTML (#174887)
The function template didn't check to see if a `Location` existed before
emitting the definition location line.
[BoundsChecking] Clamp trap ID if it would overflow (#175103)
This was exposed by a83c89495ba6fe0134dcaa02372c320cc7ff0dbf. We were
trying to create 8-bit integers to represent the size of the function,
which might be larger than what can fit in an 8-bit integer. This patch
clamps the argument and adds a regression test.
[mlir][acc] Fix unused variable warning in non-asserts build (#175101)
f79f50cd547d0582af15aebd3a0413136b9311ae added a pass that has an
iteration variable that is only used behind a LLVM_DEBUG macro which are
no-op in release builds, thus leaving the variable unused.
[clang-doc] Serialize repository URL in Mustache templates
Location tags didn't handle possible `FileURL` fields when a repository
URL was specified in a clang-doc invocation. This also cleans up all
location occurences to use `<p>` instead of `<div>` and allows linking
to the repository URL.
[clang-doc] Don't serialize non-existant locations in HTML
The function template didn't check to see if a `Location` existed before
emitting the definition location line.
[clang-doc] Add protected methods to class template (#174884)
Protected method tags already existed in the class template, but they didn't conform to the current JSON scheme.
[flang] Add traits to several AST nodes (#175065)
There are quite a few AST nodes that don't have any of the standard
traits (Wrapper/Tuple/etc). Because of that they require special
handling in the parse tree visitor.
Convert a subset of these nodes to the typical format, and remove the
special cases from the parse tree visitor.
[WebAssembly] Expand vector frem instructions (#174854)
Commit
https://github.com/llvm/llvm-project/commit/6ad41bcc498b7c186ceb54616c3697fc9873c04a
changed how frem is expanded during legalization and it
broke WebAssembly but we were missing test coverage. We want to maintain
our previous behavior of unrolling vectors and using a libcall to
implement scalar frem. I'm not sure why this now has to be different
(in ISelLowering) from other libcalls like fsin which work the same way
in the end, but this code does accurately describe what we want.
Fixes: https://github.com/emscripten-core/emscripten/issues/25991
[SampleProfile] Fix pseudo-probe-coro-debug-fix.ll to only x86 targets (#175093)
Test case in https://github.com/llvm/llvm-project/pull/173834 is failing
on non-x86 targets. Adding `REQUIRES: x86-registered-target` to fix the
failures.
[Clang][DebugInfo] Add a flag to use expansion loc for macro params.
This patch adds a flag to allow users to preserve the old behaviour - use the macro expansion location for parameters. This is useful for wider testing of sample profile driven PGO which relies on debug information based mapping.
Add a flag to preserve the old macro behaviour.
This allows us to more accurately quantify the impact of this change in
isolation for sample based profiling which relies on debug information.