[clang-tidy][NFC] Fix formatting issue in `clang-tidy` documentations (#168722)
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
[BOLT][BTI] Add needed BTIs in LongJmp or refuse to optimize binary (#171149)
This patch adds BTI landing pads to ShortJmp/LongJmp targets in the
LongJmp pass when optimizing BTI binaries.
BOLT does not have the ability to add BTI to all types of functions.
This patch aims to insert the landing pad where possible, and emit an
error and exit where it currently is not.
BOLT cannot insert BTIs into several function "types", including:
- ignored functions,
- PLT functions,
- other functions without a CFG.
Additional context:
In #161206, BOLT gained the ability to decode the .note.gnu.property
section, and warn about lack of BTI support for BOLT. However, this
warning is misleading: the emitted binary may not need extra BTI landing
[2 lines not shown]
[BOLT][BTI] Add needed BTIs in LongJmp or refuse to optimize binary
This patch adds BTI landing pads to ShortJmp/LongJmp targets in the
LongJmp pass when optimizing BTI binaries.
BOLT does not have the ability to add BTI to all types of functions.
This patch aims to insert the landing pad where possible, and emit an
error where it currently is not.
BOLT cannot insert BTIs into several function "types", including:
- ignored functions,
- PLT functions,
- other functions without a CFG.
Additional context:
In #161206, BOLT gained the ability to decode the .note.gnu.property
section, and warn about lack of BTI support for BOLT. However, this
warning is misleading: the emitted binary may not need extra BTI landing
[3 lines not shown]
[MLIR][Transform] Safely erase transform ops by collecting first (#172016)
Avoids runtime crashes caused by deleting operations inside a walk.
Operations are gathered during the walk and then erased in the correct
dependency order after the walk finishes.
Issue: [#130023](https://github.com/llvm/llvm-project/issues/130023)
---------
Co-authored-by: Milos Poletanovic <mpoletanovic at syrmia.com>
Co-authored-by: Milos Poletanovic <milos.poletanovic at htecgroup.com>
Revert "[AMDGPU] Propagate alias information in AMDGPULowerKernelArguments. (#161375)"
This reverts commit 9f4f13a793b53adef37dfb63c4e30dccfa98517b.
Broke sanitizer buildbots, and causes test hangs in release builds.
[LLVM][NFC] Move PassPlugin from Passes to Extensions lib
This avoid pulling in the entire Passes library with all passes as
dependencies when just referring to PassPlugin, which is in fact
independent of the Passes themselves.
Pull Request: https://github.com/llvm/llvm-project/pull/172478
[IR][Verifier] Verification for `target-features` attribute (#173119)
Fixes https://github.com/llvm/llvm-project/issues/172647
Currently, MC assumes that all `target-feature` flag attributes are well
formed and will crash otherwise. This change handles those cases more
gracefully.
[BOLT] Overhaul the comments in PAuthGadgetScanner for readability (NFC)
Update the comments in PAuthGadgetScanner.cpp to better describe the
current version of the code. Along the way, shorten identifier names
that are redundant taking their context into account:
`RegsToTrackInstsFor` (made `RegsToTrack`) and `getNumTrackedRegisters`
(made `getNumRegisters`).
[BOLT][BTI] Refactor BTI helpers (#173000)
- Add an enum to encode BTI variants in function arguments.
- Remove updateBTIVariant as createBTI can be used for the same
purpose.
- Remove a test case that checked against invalid BTI variants, as
those are now unrepresentable.
[OCaml] Try to fix library dependencies (#171470)
Whenever I try to change anything in the OCaml bindings, I run into
errors like this when running tests:
```
File
"/home/npopov/repos/llvm-project/build/test/Bindings/OCaml/Output/debuginfo.ml.tmp/Testsuite.ml",
line 1:
Warning 70 [missing-mli]: Cannot find interface file.
File
"/home/npopov/repos/llvm-project/build/test/Bindings/OCaml/Output/debuginfo.ml.tmp/debuginfo.ml",
line 1:
Error: The files
"/home/npopov/repos/llvm-project/build/lib/ocaml/llvm/llvm.cmi"
and
"/home/npopov/repos/llvm-project/build/lib/ocaml/llvm/llvm_debuginfo.cmi"
make inconsistent assumptions over interface "Llvm"
[12 lines not shown]
[OCaml] Fix warnings in llvm_debuginfo (#173011)
Fix an unused variable warning and a warning about missing return. As
this is C code we don't have llvm_unreachable() here, so I went with an
assert + dummy return.
[libc++] Add an ABI flag to make __bit_iterator trivially copyable (#172271)
This makes it trivial for the purpose of calls as well, making an
unconditional ABI break most likely impossible.