[fuzzer] Set target_cflags instead of target_flags in lit config (#191510)
This PR fixes warning "Compiler lib dir != compiler-rt lib dir"
There is a check in compiler-rt/test/lit.common.cfg.py which detects
runtime dir using target_cflags.
If we set target_flags only, the test will complain as below:
The persistent from #111498, but I don't see anything wrong.
```
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON -DLLVM_CCACHE_BUILD=ON -DLLVM_ENABLE_ASSERTIONS=OFF '-DLLVM_ENABLE_PROJECTS='\''clang;lld'\''' '-DLLVM_ENABLE_RUNTIMES='\''compiler-rt;libunwind;libcxx;libcxxabi'\''' -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ../../llvm-project/llvm
ninja check-compiler-rt
```
```
-- Installing: runtimes/runtimes-bins/compiler-rt/lib/tsan/libcxx_tsan_x86_64/lib/libc++.modules.json
[20 lines not shown]
[SLP] Precommit tests for strided store reordering (#193565)
Currently these tests generate incorrect vectorization because we try to re-order strided store
nodes in `reorderBottomToTop`.
[flang][OpenMP] Remove OmpEndLoopDiretive from PFT
It's no longer necessary. An end-directive for a loop construct used
to be a separate construct, but now it only exists as a member in
OpenMPLoopConstruct.
[SLP]Fix dominance for multi-use copyable scalars in scheduled bundle
scheduleBlock skips copyable bundle members with their own ScheduleData,
leaving them at their original position. If such a scalar comes after
MainOp and satisfies doesNotNeedToBeScheduled, the vectorized op is
inserted at LastScheduledInst while the scalar stays behind, so the
insertelement feeding the copyable lane fails to be dominated by it.
After placing bundle members, move copyable scalars with more than one
use (same block as MainOp, doesNotNeedToBeScheduled, schedulable from
the tree entry's view) to just before LastScheduledInst.
Fixes #193513.
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/193599
[VPlan] Pick correct insert point after creating canonical IV. (#193587)
Retrieve (or create) the canonical IV increment before setting up the
VPBuilder insertion point at Header->begin(). getOrCreate may insert the
increment recipe into the Header, which would invalidate an insertion
point captured before the increment exists.
Fixes https://github.com/llvm/llvm-project/issues/193164.
[lldb] Fix empty backtraces for scripted threads with no artificial frames (#193387)
Following 86aa43999bec, `ScriptedThread::LoadArtificialStackFrames`
unconditionally calls `SetAllFramesFetched` even when the scripted
thread provided zero artificial stack frames via `get_stackframes`.
This prevents the normal unwinder from creating frames from the register
context, leaving `m_frames` empty. When GetFrameAtIndex(0) is
subsequently called, it triggered the follow on assertion builds:
```
assert(!m_thread.IsValid() && "A valid thread has no frames.")
```
This affects scripted threads that provide register context via
`get_register_context` but rely on the unwinder for frame creation
rather than overriding `get_stackframes`.
This patch fixes the issue by returning early in
[6 lines not shown]
AMDGPU: Skip last corrections in afn f64 reciprocal (#183696)
Device libs has a fast reciprocal macro that is close
to the fast division expansion, but skips the last terms
compared to the full division.
The basic reciprocal handling has identical output to this
macro. The negative reciprocal case has different fneg placement
and smaller code size, but I believe should be the same.
[NFC] Add check lines to concepts-out-of-line-def.cpp to fix failure (#193579)
Revert in #193558 failed to correct a test that was fixed in the
meantime, and was dependent on this. This patch adds a check-line to
make CI go green again.
[LV][RISCV] Add explicit LMUL controls via computeFeasibleMaxVF
Add components of maxVF and its support for scalable
vectorization. The default for unspecified RISCV is
LMUL=4 with this change, so some tests will have
the flag that controls max LMUL to extend to LMUL=8
when the request is made.
[flang] Fix inline transfer for unsigned integer types (#193570)
Fix a crash when transfer is used with Fortran unsigned types. The
arith.bitcast op requires signless integer or float operands, but the
inline optimization was applying it to unsigned integer types (ui32),
causing a verification failure. Changed the guard from
mlir::isa<mlir::IntegerType> to isSignlessIntOrFloat() so unsigned
integer transfers fall through to the address-level fir.convert path
instead.
This is to fix a regression reported here:
https://github.com/llvm/llvm-project/pull/191589#issuecomment-4298846795
[HLSL] Disallow `volatile` keyword (#193322)
This PR disallows the `volatile` keyword in HLSL.
The keyword is meaningless in this language, and it comes from the C++
foundation that HLSL stands on.
Fixes https://github.com/llvm/llvm-project/issues/192559
It is arguably in the category of this scenario:
https://github.com/llvm/wg-hlsl/issues/300
Assisted by: Github Copilot