[BOLT][BTI] Disallow instrumenting BTI binaries (#174936)
Until instrumentation support is added, the feature should be
disabled for BTI binaries. An error message is added to explain
the situation.
Meanwhile, users can choose sampling-based profiling methods.
Added a TODO comment explaining missing steps.
[SelectionDAG,GISel] Add `f16` soft promotion for `lrint`, `lround`, `llrint`, and `llround` (#152684)
On platforms that soft promote `half`, using `lrint` intrinsics crashes
with the following:
SoftPromoteHalfOperand Op #0: t5: i32 = lrint t4
LLVM ERROR: Do not know how to soft promote this operator's operand!
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace.
Stack dump:
0. Program arguments:
/Users/tmgross/Documents/projects/llvm/llvm-build/bin/llc
-mtriple=riscv32
1. Running pass 'Function Pass Manager' on module '<stdin>'.
2. Running pass 'RISC-V DAG->DAG Pattern Instruction Selection' on
function '@test_lrint_ixx_f16'
[7 lines not shown]
security/modsecurity3-nginx: update to latest 1.0.4 snapshot
Upstream continues to receive fixes and small improvements after the
1.0.4 release. Switch the GitHub fetch from the 1.0.4 tag to commit
b94f2d3 and bump PORTREVISION accordingly.
Sponsored by: Netzkommune GmbH
[LifetimeSafety] Add implicit tracking for STL functions (#170005)
Add support for tracking STL container methods and free functions in the
lifetime safety analysis.
- Added `VisitExprWithCleanups` to the `FactsGenerator` to properly
handle expressions with cleanup code
- Moved `shouldTrackImplicitObjectArg` and `shouldTrackFirstArgument`
from `CheckExprLifetime.cpp` to `LifetimeAnnotations.h/cpp` to make them
available to the lifetime safety analysis
- Enhanced the lifetime analysis to track STL container methods that
return pointers or references dependent on the container's lifetime
(e.g., `begin()`, `data()`, `c_str()`)
- Added support for tracking free functions like `std::begin`,
`std::data`, and `std::any_cast` that return pointers or references
dependent on their arguments
Fixes https://github.com/llvm/llvm-project/issues/162622
Merge pull request #380 from ghostbsd/dependabot/pip/contrib/libcbor/doc/source/urllib3-2.6.3
build(deps): bump urllib3 from 2.6.0 to 2.6.3 in /contrib/libcbor/doc/source
Revert "[Clang] [Lexer] Detect SSE4.2 availability at runtime in fastParseASCIIIdentifier" (#174946)
Reverts llvm/llvm-project#171914 because of compilation failures
reported.
[MLIR][OpenMP] Add Initial Taskloop Clause Support
Following on from the work to implement MLIR -> LLVM IR
Translation for Taskloop, this adds support for the following
clauses to be used alongside taskloop:
- if
- grainsize
- num_tasks
- untied
- Nogroup
- Final
- Mergeable
- Priority
These clauses are ones which work directly through the relevant
OpenMP Runtime functions, so their information just needed collecting
from the relevant location and passing through to the appropriate
runtime function.
[2 lines not shown]
[libc++] Remove numpunct_byname::__init (#173283)
`numpunct_byname::__init` is only used inside the dylib, so we can
remove it. To do that we can move the code into one of the constructors
and delegate the other.
[mlir][OpenMP] Translation support for taskloop construct (#174386)
This PR replaces #166903
This implements translation for taskloop, along with DSA clauses. Other
clauses will follow immediately after this is merged.
This patch was collaborative work by myself, @kaviya2510, and
@Stylie777. I’ve left the commits unsquashed to make authorship clear.
My only changes to other author’s commits are to rebase and run
clang-format.
The taskloop implementation in the runtime works roughly like this: if
the number of loop iterations to perform are more than some threshold,
the current task is duplicated and both resulting tasks gets half of the
loop range. This continues recursively until each task has a small
enough loop range to run itself in a single thread.
This leads to two implementation complexities:
[20 lines not shown]