[llvm-profgen][NFC] Factor out parseAddress (#191594)
Replace `StringRef::getAsInteger(16)` calls with explicit `parseAddress`
to make it easier to support buildid-prefixed addresses in a follow-up
(#190863).
[libcxx][lit] Fix dsl.sh.py test failure on Windows (#195230)
We are seeing linux runtimes test failures on Windows host after PR
#194752 was merged. The runtimes unit test is producing Unix style line
break symbol on Windows, causing dsl.sh.py to fail. This patch mitigate
this issue by converting Windows style line breaks to Unix style ones to
mitigate this issue.
[Instrumentor] Add Alloca and Function support; stack usage example
This adds support for alloca instrumentation and function pre/post
instrumentation. Alloca support follows load/store support directly.
Functions require special care to determine the insertion points.
Together, we can showcase how the stack high watermark can be profiled,
see InstrumentorStackUsage.cpp.
[HLSL] Leave out entryname from string table for PSV versions < 3 (#191528)
This PR adjusts how the string table is generated for PSV versions 1 and
2. Previously, the
string name would be unconditionally added to the string table, when it
should only be added in version 3.
Adds a test to verify there is no entry name in the string table for
older PSV versions.
Fixes https://github.com/llvm/llvm-project/issues/117267
Assisted by: Github Copilot
avoid looking up key in thunkMap
I think I was hitting a bug where a value in thunkMap was becoming
invalidated because I was using thunkMap[] in a helper function. Avoid
that bug by passing thunkInfo directly in those helper functions to make
it more clear where we do thunkMap[]
clang: Fix using sm_52 as default subtarget for cuda spirv (#195369)
Copy what the HIP path does, except use "Unused" instead of "Generic".
Avoids assertions in future patch.
clang: Fix using sm_52 as default subtarget for cuda spirv
Copy what the HIP path does, except use "Unused" instead of "Generic".
Avoids assertions in future patch.
workflows/release-doxygen: Use app generated token for user validation (#195315)
We are trying to move a way from using secrets associated with the
llvmbot account, so this drops another one of its users.
workflows/release-tasks: Use app generated token for publishing lit releases (#195312)
We are trying to move a way from using secrets associated with the
llvmbot account, so this drops another one of its users.
[libc] Fix personality buildbot failures (#195364)
Remove the `#include <sys/personality.h>` from the implementation
header. On buildbots, the generated header does not exist at compile
time, so `-idirafter/usr/include` pulls in glibc's version instead.
Glibc's header uses `__BEGIN_DECLS` and `__THROW`, which are unavailable
in the freestanding build.
The include was unnecessary. The function signature only uses basic
types.
Fixes buildbot failures introduced by #195065:
- libc-aarch64-ubuntu-fullbuild-dbg
- libc-x86_64-debian-fullbuild-dbg-asan
- libc-x86_64-debian-fullbuild-dbg
- libc-x86_64-debian-gcc-fullbuild-dbg
[lldb] Thread DWARFExpression::Evaluate state through an EvalContext (NFCI) (#195220)
Collect the inputs, derived pointers, and mutable evaluation state of
DWARFExpression::Evaluate into a file-local EvalContext struct passed by
reference to the static helpers.
Two incidental fixes making this not-quite NFC:
1. Evaluate_DW_OP_deref_size renamed to Evaluate_DW_OP_deref and takes
the LocationAtom, so error messages name the actual opcode.
2. ResolveLoadAddress no longer crashes on null exe_ctx (uses
eval_ctx.target, which is null-safe).
I initially prototyped a visitor-like design, centered around a
DWARFEvaluator class with one method per opcode and shared state as
members. I discarded it because moving the simple operations out of the
switch hurt readability and increased mental overhead. Its only real
benefit were the cleaner signatures, which this patch achives by using
the new EvalContext.
workflows/release-tasks: Use app generated token for creating the release (#195219)
We are trying to move a way from using secrets associated with the
llvmbot account, so this drops another one of its users.
[lldb][debugserver] Don't duplicate loaded binaries in jStopInfo (#195343)
RNBRemote::GetJSONThreadsInfo() has a bool mode switch: Only
exception-related information information about threads which had an
exception, or full information about all threads. The exception-related
information is what ends up in the `jstopinfo` key in the stop packet,
asciihex encoded. The full information is what is sent for the
`jThreadsInfo` packet, with full information for all threads at a public
stop.
When I added the `added-binaries` and `detailed-binaries-info` keys to
the thread description, I incorrectly put this in the exception related
block of this method. Move that in to the "full information" section of
the method, so we don't duplicate the information that is included in
the stop packet, asciihex encoded at that.
rdar://176001611
[NFC][HLSL] Remove dead branch for const return by value (#194983)
Remove unreachable addConst() on the by-value return path of
addHandleAccessFunction.
No caller passes IsConstReturn=true with IsRef=false. The existing AST
tests ( StructuredBuffers-AST.hlsl, ByteAddressBuffers-AST.hlsl,
TypedBuffers-AST.hlsl) already assert the by-value Load return type is
non-const, so behavior is verified unchanged.
Assisted by: Github Copilot
Fixes https://github.com/llvm/llvm-project/issues/194982
Fix test's FileCheck match to allow a column number in message. (#195356)
In some cases, the cfi diagnostic is emitted with a column
number. Allow that in the test.
[dsymutil] Make --linker explicit in every test (#195293)
Pass `--linker classic` or `--linker parallel` on every `dsymutil`
invocation instead of relying on the implicit default. This preserves
the existing coverage in preparation for toggling the default in the
future.
Tests previously exercising only one linker now mirror the RUN block for
the other, sharing FileCheck prefixes. Not all tests are compatible, and
I've added a FIXME to make them easy to spot.