[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.
[Instrumentor] Use the pass builder's FileSystem for reading files
In the IO sandbox, the old read calls caused the CI to fail. This
changes uses the PassBuilder's FileSystem the same way other passes
read files from disk (during CI).
[DirectX][NFC] Move DICompileUnit conversion into DXILDebugInfo (#196451)
In #192574, I added logic for changing versioned language names to
unversioned language names, but did so directly in DXILBitcodeWriter.
This is better done in DXILDebugInfo instead so that, in a future
change, we can check the result of DXILDebugInfo in tests.
[Instrumentor] Add a global function regexp to limit the instrumentation
Only functions that match the "function_regex" will be instrumented,
or if they have the instrumentation attribute.
[lldb][windows] mark test_overrides_resolver_resolver_cmd as XFAIL (#197285)
Follow up to https://github.com/llvm/llvm-project/pull/195392 to mark
`test_overrides_resolver_resolver_cmd` as XFAIL on Windows, like
`test_overrides_resolver_resolver_python`.
[APFloat] Add exp functions for single and double using exp/expf implementations from LLVM libc. (#190667)
This reapplies #143959 with some changes:
- Only support default rounding modes for now. Other rounding modes will
wait for proper static rounding implementations in LLVM libc.
- Add both single and double precision exp.
[BOLT] Account for stubs with symbols in plt (#192716)
LLD and bfd do not generate functions symbols for stubs in PLT. However,
mold does and trips the object discovery to create two functions (BF
then PLTFunc). This can cause symbol to be resoved with BF with
incorrect ADRP immediate field in AArch64.
The issue is described in more detail here:
https://github.com/llvm/llvm-project/issues/192552
[Instrumentor] Add a global function regexp to limit the instrumentation
Only functions that match the "function_regex" will be instrumented,
or if they have the instrumentation attribute.
[LFI] Report reserved register modification in error message (#195160)
Reports the name of the modified reserved register in the error message.
Updates the MCLFIRewriter error infrastructure to take a Twine for this.
Also adds a warning function, which will be useful in future cases where
the rewriter sees an unknown instruction/addressing mode, but will pass
it through anyway.
Fixes #192027.