[flang][NFC] Converted five tests from old lowering to new lowering (part 11) (#178577)
Tests converted from test/Lower: dense-attributed-array.f90,
goto-statement.f90, infinite_loop.f90, return-statement.f90,
stop-statement.f90
[Clang][-Wunsafe-buffer-usage] Allow safe form of libc memset. (#178107)
This allows a common, memory-safe form of memset, `memset(&x, val,
sizeof(x))`. There are potentially other safe forms that we can allow in
later PRs. The tests cover some of the possible cases.
[sanitizers] [Darwin] Fix erroneous warning when external_symbolizer_path="" (#178743)
Some tools pass external_symbolizer_path="", which means it is not
expected to have any symbolizers in the list at the point we inserted a
(Darwin-only) warning.
This moves the symbolizer warning into ChooseExternalSymbolizer, after
the external_symbolizer_path="" case has been handled.
rdar://169137614
security/acme-client: make it possible to obtain a global access token from TransIP (#5166)
* security/acme-client: Add option for global token to TransIP
The TransIP dns api and the acme.sh api for TransIP support the possibility to create a global access token.
With a global access token, the api call to TransIP can be amde from every ip adress.
There is a new button in the client configuration for TransIP, and this will be added to the account configuration file, which is used by acme.sh
[RISCV] Support ISD::CLMUL/CLMULH for i64 scalable vectors with Zvbc. (#178340)
We also get some i32->i64 promotion for CLMULH. The DAGCombiner
change is to prevent an infinite loop from that.
Test file was rewritten to cover all types and split between clmul
and clmulh.
I added a couple masked tests to show that VectorPeephole works.
The test outputs were already large so I didn't want to add more than a couple.
[lldb] Make `print` delegate to synthetic frames.
This patch is more of a proposal in that it's a pretty dramatic change to the way that `print` works. It completely delegates getting values to the frame if the frame is synthetic, and does not redirect at all if the frame fails.
For this patch, the main goal was to allow the synthetic frame to bubble up its own errors in expression evaluation, rather than having errors come back with an extra "could not find identifier <blah>" or worse, simply get swallowed. If there's a better way to handle this, I'm more than happy to change this as long as the core goals of 'delegate variable/value extraction to the synthetic frame', and 'allow the synthetic frame to give back errors that are displayed to the user' can be met.
stack-info: PR: https://github.com/llvm/llvm-project/pull/178602, branch: users/bzcheeseman/stack/7
[lldb] Add support for ScriptedFrame to provide values/variables.
This patch adds plumbing to support the implementations of StackFrame::Get{*}Variable{*} on ScriptedFrame. The major pieces required are:
- A modification to ScriptedFrameInterface, so that we can actually call the python methods.
- A corresponding update to the python implementation to call the python methods.
- An implementation in ScriptedFrame that can get the variable list on construction inside ScriptedFrame::Create, and pass that list into the ScriptedFrame so it can get those values on request.
There is a major caveat, which is that if the values from the python side don't have variables attached, right now, they won't be passed into the scripted frame to be stored in the variable list. Future discussions around adding support for 'extended variables' when printing frame variables may create a reason to change the VariableListSP into a ValueObjectListSP, and generate the VariableListSP on the fly, but that should be addressed at a later time.
This patch also adds tests to the frame provider test suite to prove these changes all plumb together correctly.
Related radar: rdar://165708771
stack-info: PR: https://github.com/llvm/llvm-project/pull/178575, branch: users/bzcheeseman/stack/6
[SelectionDAGISel][TableGen] Remove trailing 0 from isel table. NFC (#178744)
I suspect this was here to prevent a trailing comma. If we actually
reach this byte in isel, it will be treated as OPC_Scope not a
terminator.
[AArch64] Optimize memset to use NEON DUP instruction for more sizes (#166030)
This change improves memset code generation for non-zero values on
AArch64 by using NEON's DUP instruction instead of
the less efficient multiplication with 0x01010101 pattern.
For small sizes, the value is extracted from a larger DUP. For
non-power-of-two sizes, overlapping stores are used in some cases.
TargetLowering::findOptimalMemOpLowering is modified to allow explicitly
specifying the size of the constant in cases where the constant is
larger than the store operations.
Fixes #165949
[GlobalISel] Fold Add Shift combine from SelectionDAG (#177371)
This PR adds the combine rule `fold (add x, shl(0 - y, n)) -> sub(x,
shl(y, n))` to GlobalISel, corresponding to an existing SelectionDAG
combine in
[DAGCombiner::visitADDLikeCommutative](https://github.com/llvm/llvm-project/blame/fcba3040107944604904aeb146c26ec0628160f4/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L3367).
Co-authored-by: Sarah Kuhn <sarahlinhkuhn at gmail.com>
---------
Co-authored-by: Sarah Kuhn <sarahlinhkuhn at gmail.com>
Co-authored-by: Luisa Cicolini <48860705+luisacicolini at users.noreply.github.com>
[lldb-dap] Improve DetectReplMode (#178740)
When DetectReplMode is called without a valid frame, we cannot check if
an expression refers to a variable in scope.
This avoids unnecessary checks when completing expressions.