SuccessChanges

Summary

  1. [lldb] Make that we can call HostInfo::Initialize and (details)
  2. [AArch64][SVE] Fold constant multiply of element count (details)
  3. [lldb] Fix test using lld on non-linux systems (details)
  4. [LV] Strip wrap flags from vectorized reductions (details)
  5. Use isa instead of dyn_cast (details)
  6. Parenthesized a logical expression. (details)
  7. [lldb] Add tests for ClangASTImporter's DeportType and DeportDecl (details)
  8. [AArch64] add more tests for extract-bitcast-splat; NFC (details)
  9. [OPT-DBG] Teach DbgEntityHistoryCalculator about meta-instructions. (details)
  10. [lldb/pexpect] Force-set the TERM environment variable (details)
  11. [lldb] Fix a -Wreturn-type warning on gcc (details)
  12. [AArch64][SVE] Correct intrinsics and patterns for logical predicate (details)
Commit b2371791fc74b2ecad7f608ff8592ec512d098e6 by Raphael Isemann
[lldb] Make that we can call HostInfo::Initialize and
HostInfo::Terminate multiple times
Summary: HostInfo's state isn't actually fully rested after calling
::Terminate. Currently we only reset the values of all the
`HostInfoBaseFields` but not all the variables with static storage that
keep track of whether the fields need to be initialised. This breaks
random unit tests as running them twice (or running multiple test
instances in one run) will cause that the second time we ask HostInfo
for any information we get the default value back for any field.
This patch moves all the once_flag's into the `HostInfoBaseFields` so
that they also get reseted by ::Terminate and removes all the `success`
bools. We should also rewrite half this code but I would prefer if my
tests aren't broken over the holidays so let's just put some duct tape
on it for now.
Reviewers: labath
Reviewed By: labath
Subscribers: abidh, JDevlieghere, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D71748
The file was modifiedlldb/source/Host/common/HostInfoBase.cpp
Commit 974f00a4369371fae9d25477753c0f68f331e05a by cullen.rhodes
[AArch64][SVE] Fold constant multiply of element count
Summary: E.g.
  %0 = tail call i64 @llvm.aarch64.sve.cntw(i32 31)
%mul = mul i64 %0, <const>
Should emit:
  cntw    x0, all, mul #<const>
For <const> in the range 1-16.
Patch by Kerry McLaughlin
Reviewers: sdesmalen, huntergr, dancgr, rengolin, efriedma
Reviewed By: sdesmalen
Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71014
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-counting-elems.ll
Commit 04329dbfa6c219997ab72567842d81778f9f7f47 by aclopte
[lldb] Fix test using lld on non-linux systems
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/inline-function-address.ll
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/inline-function-address-shared.test
Commit e498be573871c94119033dd151773a55ceb0beb7 by ayal.zaks
[LV] Strip wrap flags from vectorized reductions
A sequence of additions or multiplications that is known not to wrap,
may wrap if it's order is changed (i.e., reassociated). Therefore when
vectorizing integer sum or product reductions, their no-wrap flags need
to be removed.
Fixes PR43828
Patch by Denis Antrushin
Differential Revision: https://reviews.llvm.org/D69563
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/if-pred-stores.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/arbitrary-induction-step.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/no_int_induction.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/test/Transforms/LoopVectorize/nuw.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/reduction-small-size.ll
Commit 9caf12e8495c1106dd3d1079892ce4f39f91b7d2 by gribozavr
Use isa instead of dyn_cast
The file was modifiedclang/lib/Tooling/Syntax/Mutations.cpp
Commit 73f423e739bcb9bee7b73f05d4bcd50782013a8c by gribozavr
Parenthesized a logical expression.
This change fixes a warning on the ppc64be buildbot.
The file was modifiedclang/lib/Tooling/Syntax/Tokens.cpp
Commit 5f78b1d648240ba188d08ac1ce62fb7f68d41149 by Raphael Isemann
[lldb] Add tests for ClangASTImporter's DeportType and DeportDecl
methods
The file was modifiedlldb/unittests/Symbol/TestClangASTImporter.cpp
Commit 59811f454df08924fc35f7e8fb8cb61e8f40e869 by spatel
[AArch64] add more tests for extract-bitcast-splat; NFC
Goes with D71672 - we should be able to handle casting to a wider type
as well as casting to a narrower type.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
Commit 453dc4d7ec5a3c3d8f54fc358bc5673834516d48 by Tom.Weaver
[OPT-DBG] Teach DbgEntityHistoryCalculator about meta-instructions.
The calculator was considering instructions such as KILLs as clobbers of
a physical address. This is wrong as meta instructions such as KILLs
produce no output in the final program and thus don't clobber or change
any physical location's value. As a result they're safe to ignore whilst
calculating location list ranges.
reviewers: aprantl, vsk
diff revision: https://reviews.llvm.org/D70497
fixes: https://bugs.llvm.org/show_bug.cgi?id=38753
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
The file was modifiedllvm/test/DebugInfo/X86/pieces-3.ll
The file was addedllvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_at_return.mir
The file was modifiedllvm/test/DebugInfo/COFF/pieces.ll
The file was addedllvm/test/DebugInfo/X86/dbg_entity_calc_ignores_KILL_instruction_still_clobbers.mir
Commit b04b92c3a4640417f2074e7e903df8c2b76eadfd by pavel
[lldb/pexpect] Force-set the TERM environment variable
In some environments (typically, buildbots), this variable may not be
available. This can cause tests to behave differently.
Explicitly set the variable to "vt100" to ensure consistent test
behavior. It should not matter that we do not inherit the process TERM
variable, as the child process runs in a new virtual terminal anyway.
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbpexpect.py
Commit 05c3b36bc9a35a8aa3ddd6a912ddceab90c39b4d by pavel
[lldb] Fix a -Wreturn-type warning on gcc
The file was modifiedlldb/source/Target/ThreadPlanStepRange.cpp
Commit 6cba90dc4de6427817bad763f018a502a9048f74 by paul.walker
[AArch64][SVE] Correct intrinsics and patterns for logical predicate
instructions
In general SVE intrinsics are considered predicated and merging with
everything else having suitable decoration.  For predicated zeroing
operations (like the predicate logical instructions) we use the "_z"
suffix.  After this change all intrinsics use their expected names (i.e.
orr instead of or and eor instead of xor).
I've removed intrinsics and patterns for condition code setting
instructions as that data is not returned as part of the intrinsic. The
expectation is to ask for a cc flag explicitly.
For example:
a = and_z(pg, p1, p2)
cc = ptest_<flag>(pg, a)
With the code generator expected to use "s" variants of instructions
when available.
Differential Revision: https://reviews.llvm.org/D71715
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-log.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-log-pred.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-pred-log.ll