[clang-tidy] Fixed typo for bugprone-easily-swappable-parameters clang-tidy check (#158282)
I came across this little typo mistake while reading the docs, so I've
fixed it :)
[mlir] Fix correct memset range in `OwningMemRef` zero-init (#158200)
`OwningMemref` allocates with overprovision + manual alignment.
This is fixing the zero-initialization of the data, the existing code
was potentially overrunning the allocation:
```cpp
memset(descriptor.data, 0, size + desiredAlignment); // ❌ may overrun
```
This is invalid because `descriptor.data` (the aligned pointer) **does
not point to the full allocated block** (`size + desiredAlignment`).
Zeroing that much from the aligned start can write past the end of the
allocation.
Instead we only initialize the data from the aligned pointer for the expected
buffer size. The padding from [allocatedPtr, alignedDataPtr] is left untouched.
[flang][OpenMP] Support multi-block reduction combiner regions on the GPU
Fixes a bug related to insertion points when inlining multi-block
combiner reduction regions. The IP at the end of the inlined region was
not used resulting in emitting BBs with multiple terminators.
[flang][OpenMP] `do concurrent`: support `reduce` on device
Extends `do concurrent` to OpenMP device mapping by adding support for
mapping `reduce` specifiers to omp `reduction` clauses. The changes
attach 2 `reduction` clauses to the mapped OpenMP construct: one on the
`teams` part of the construct and one on the `wloop` part.
[flang][OpenMP] `do concurrent`: support `local` on device
Extends support for mapping `do concurrent` on the device by adding
support for `local` specifiers. The changes in this PR map the local
variable to the `omp.target` op and uses the mapped value as the
`private` clause operand in the nested `omp.parallel` op.
[AArch64] Combine ADDS and SUBS nodes with the non-flag setting versions (#157563)
We do that with the other flag setting nodes. We should do this with all
flag setting and non-flag setting nodes.
[Clang] Fix the source location of default template arguments in placeholder constraints (#158414)
We discovered this issue while working on the concept normalization
refactoring. We missed the source location when diagnosing the
instantiation point of the placeholder constraints, which is involved by
the substitution of default template arguments that happens before
constraint evaluation.
See the issue alive: https://godbolt.org/z/cWr9qP3E8
[LLDB] Require DIA SDK for testing the PDB plugin-selection setting (#158284)
If LLDB is built without the DIA SDK enabled, then the native plugin is
used regardless of `plugin.symbol-file.pdb.reader` or
`LLDB_USE_NATIVE_PDB_READER`. This made the test fail on Windows when
the DIA SDK was disabled
(https://github.com/llvm/llvm-project/issues/114906#issuecomment-3241796062).
This PR changes the requirement for the test from `target-windows` to
`diasdk` (only used in this test).
[CIR] Upstream VisitOpaqueValueExpr support for Complex & Scalar (#157331)
This change adds support for the OpaqueValueExpr for Complex & Scalar
Issue: https://github.com/llvm/llvm-project/issues/141365
[clang-repl] Add support for running custom code in Remote JIT executor (#157358)
Introduce a custom lambda mechanism that allows injecting user-defined
code into the Remote JIT’s executor.
---------
Co-authored-by: kr-2003 <kumar.kr.abhinav at gmail.com>
[MemProf] Optionally allow transformation of nobuiltin operator new (#158396)
For cases where we can guarantee the application does not override
operator new.
[lldb/docs] Breakdown python reference into multiple files (#158331)
This pages improve the LLDB website documentation readability and
discoverability by breaking down the very long python-reference page
into multiple subpages each explaining a specific topic.
The long term goal is to have tutorials for every scripting extension.
This also converts the pages to markdown, since it's easier to write.
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
[LegalizeTypes][X86] Use getShiftAmountConstant in ExpandIntRes_SIGN_EXTEND. (#158388)
This ensures we don't need to fixup the shift amount later.
Unfortunately, this enabled the
(SRA (SHL X, ShlConst), SraConst) -> (SRA (sext_in_reg X), SraConst -
ShlConst) combine in combineShiftRightArithmetic for some cases in
is_fpclass-fp80.ll. So we need to also update checkSignTestSetCCCombine
to look through sign_extend_inreg to prevent a regression.
[CodeGen][CFI] Generalize transparent union parameters (#158193)
According GCC documentation transparent union
calling convention is the same as the type of the
first member of the union.
C++ ignores attribute.
Note, it does not generalize args of function pointer args.
It's unnecessary with pointer generalization.
It will be fixed in followup patch.
---------
Co-authored-by: lntue <lntue at google.com>
[LegalizeTypes] Use getShiftAmountConstant in SplitInteger. (#158392)
This function contained old code for handling the case that the type
returned getScalarShiftAmountTy can't hold the shift amount.
These days this is handled by getShiftAmountTy which is used by
getShiftAmountConstant.