Commit
ffbff6c511ba230954013eca8d824a66f6b4f9a5
by pavel[lldb/DWARF] Ignore debug info pointing to the low addresses
specifically, ignore addresses that point before the first code section.
This resurrects D87172 with several notable changes: - it fixes a bug where the early exits in InitializeObject left m_first_code_address "initialized" to LLDB_INVALID_ADDRESS (0xfff..f), which caused _everything_ to be ignored. - it extends the line table fix to function parsing as well, where it replaces a similar check which was checking the executable permissions of the section. This was insufficient because some position-independent elf executables can have an executable segment mapped at file address zero. (What makes this fix different is that it checks for the executable-ness of the sections contained within that segment, and those will not be at address zero.) - It uses a different test case, with an elf file with near-zero addresses, and checks for both line table and function parsing.
Differential Revision: https://reviews.llvm.org/D112058
|
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp |
 | lldb/test/Shell/SymbolFile/DWARF/lit.local.cfg |
 | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h |
 | lldb/test/Shell/SymbolFile/DWARF/x86/dead-code-filtering.yaml |
Commit
f45d7407168d08c4d80216ca13feb1e1c21ad6bb
by sven.vanhaastregt[docs] Fix hyperlink
|
 | clang/docs/UsersManual.rst |
Commit
551d118805c808936956e464dc21e05acb478f78
by pavel[lldb/test] Remove quote/unquote steps from the make invocations
None of the commands we run really rely on shell features. Running them with shell=False, simplifies the code as there is no need for elaborate quoting.
Differential Revision: https://reviews.llvm.org/D111990
|
 | lldb/packages/Python/lldbsuite/test/builders/builder.py |
 | lldb/packages/Python/lldbsuite/test/builders/darwin.py |
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
Commit
956df6fa620a0ca75fd6e62b5318fb4d14304a4f
by Raphael Isemann[lldb] Improve assert message in TestCPPAccelerator
`log` is just some IO object that gets printed as `<_io.TextIOWrapper = filename` but the intention here was to print the actual found log contents.
|
 | lldb/test/API/lang/cpp/accelerator-table/TestCPPAccelerator.py |
Commit
9fc523d114085d194da90ef108c16c931c40ae38
by llvm-dev[X86] Remove X86ProcFamilyEnum::IntelSLM
Replace X86ProcFamilyEnum::IntelSLM enum with a TuningUseSLMArithCosts flag instead, matching what we already do for Goldmont.
This just leaves X86ProcFamilyEnum::IntelAtom to replace with general Tuning/Feature flags and we can finally get rid of the old X86ProcFamilyEnum enum.
Differential Revision: https://reviews.llvm.org/D112079
|
 | llvm/lib/Target/X86/X86.td |
 | llvm/lib/Target/X86/X86TargetTransformInfo.h |
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/lib/Target/X86/X86Subtarget.h |
Commit
6561c074c072beb6c8e400a62bd5943a1f26a72a
by mgorny[lldb] [Process/Utility] Define qN regs on ARM via helper macro
Add a FPU_QREG macro to define qN registers. This is a piece-wise attempt of reconstructing D112066 with the goal of figuring out which part of the larger change breaks the buildbot.
Differential Revision: https://reviews.llvm.org/D112066
|
 | lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h |
Commit
ab2ca8496d54573de1c8bec204009567ba2b4086
by aaronconsteval if does not form a discarded statement
When we added support for if consteval, we accidentally formed a discarded statement evaluation context for the branch-not-taken. However, a discarded statement is a property of an if constexpr statement, not an if consteval statement (https://eel.is/c++draft/stmt.if#2.sentence-2). This turned out to cause issues when deducing the return type from a function with a consteval if statement -- we wouldn't consider the branch-not-taken when deducing the return type.
This fixes PR52206.
Note, there is additional work left to be done. We need to track discarded statement and immediate evaluation contexts separately rather than as being mutually exclusive.
|
 | clang/lib/Parse/ParseStmt.cpp |
 | clang/test/SemaCXX/cxx2b-consteval-if.cpp |
Commit
5b395bd633632b9f87f4d853095cb1a090a1efe6
by llvm-dev[CostModel][X86] Add costs for multiply-by-pow2 constants
These are folded to left shifts in the backend.
We should be able to extend this for multiply-by-negpow2 after D111968 has landed to resolve PR51436
|
 | llvm/lib/Target/X86/X86TargetTransformInfo.cpp |
 | llvm/test/Analysis/CostModel/X86/mul.ll |
Commit
a3c05982ac05637a8f40207db83c04a1710033d5
by llvm-dev[SLP][X86] Improve SLP tests for division/multiplication by +/- pow2
Add PR51436 test as well as some basic multiply tests, and include SSE2 division coverage
|
 | llvm/test/Transforms/SLPVectorizer/X86/powof2mul.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/powof2div.ll |
Commit
5a8ad80b6fa5cbad58b78384f534b78fca863e7f
by Louis Dionne[libunwind] Use the from-scratch testing configuration by default
This commit switches libunwind from using the complicated logic in libc++'s testing configuration to a from-scratch configuration. I tried to make sure that all cases that were handled in the old config were handled by this one too, so hopefully this shouldn't break anyone. However, if you encounter issues with this change, please let me know and feel free to revert if I don't reply quickly.
This change was engineered to be easily revertable.
Differential Revision: https://reviews.llvm.org/D112082
|
 | libunwind/CMakeLists.txt |
Commit
be6c8dc765c32a79c0c9b0e6720e3b22d226e478
by sander.desmalen[SelectionDAG] Fix getVectorSubVecPointer for scalable subvectors.
When inserting a scalable subvector into a scalable vector through the stack, the index to store to needs to be scaled by vscale. Before this patch, that didn't yet happen, so it would generate the wrong offset, thus storing a subvector to the incorrect address and overwriting the wrong lanes.
For some insert: nxv8f16 insert_subvector(nxv8f16 %vec, nxv2f16 %subvec, i64 2)
The offset was not scaled by vscale: orr x8, x8, #0x4 st1h { z0.h }, p0, [sp] st1h { z1.d }, p1, [x8] ld1h { z0.h }, p0/z, [sp]
And is changed to: mov x8, sp st1h { z0.h }, p0, [sp] st1h { z1.d }, p1, [x8, #1, mul vl] ld1h { z0.h }, p0/z, [sp]
Differential Revision: https://reviews.llvm.org/D111633
|
 | llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-insert-vector.ll |
Commit
192331b890e238a8ede4e61e6c5294e7eaa365fd
by mgorny[lldb] [Process/Linux] Support arbitrarily-sized FPR writes on ARM
Support arbitrarily-sized FPR writes on ARM in order to fix writing qN registers directly. Currently, writing them works only by accident due to value_regs splitting them into smaller writes via dN and sN registers.
Differential Revision: https://reviews.llvm.org/D112131
|
 | lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp |
Commit
99277a81f807e6f4c63ececdb6974d6d5f1f3562
by mgorny[lldb] [Process/Utility] Fix value_regs/invalidate_regs for ARM
Fix incorrect values for value_regs, and incomplete values for invalidate_regs in RegisterInfos_arm. The value_regs entry needs to list only one base (i.e. larger) register that needs to be read to get the value for this register, while invalidate_regs needs to list all other registers (including pseudo-register) whose values would change when this register is written to.
7a8ba4ffbeecb5070926b80bb839a4d80539f1ac fixed a similar problem for ARM64.
Differential Revision: https://reviews.llvm.org/D112066
|
 | lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h |
Commit
f290efc32622cc59566ec7ac13e74a039b6047c2
by mgorny[lldb] [ABI/X86] Support combining xmm* and ymm*h regs into ymm*
gdbserver does not expose combined ymm* registers but rather XSAVE-style split xmm* and ymm*h portions. Extend value_regs to support combining multiple registers and use it to create user-friendly ymm* registers that are combined from split xmm* and ymm*h portions.
Differential Revision: https://reviews.llvm.org/D108937
|
 | lldb/source/Target/DynamicRegisterInfo.cpp |
 | lldb/include/lldb/lldb-private-types.h |
 | lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py |
 | lldb/source/Plugins/ABI/X86/ABIX86.cpp |
 | lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp |
 | lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp |
Commit
a413663d8fea6700076010b7e4458b03a8bfb8b4
by bjorn.a.pettersson[NewPM][test] Avoid using -enable-new-pm=1 since -passes implies new PM
|
 | llvm/test/CodeGen/PowerPC/opt-builtins-ppc-xlcompat-cas.ll |
 | llvm/test/Transforms/SLPVectorizer/X86/limit.ll |
 | llvm/test/Transforms/LICM/no-hoist-prof.ll |
 | llvm/test/Transforms/LoopUnswitch/AMDGPU/uniform-unswitch.ll |
 | llvm/test/Transforms/SampleProfile/remarks-hotness.ll |
 | llvm/test/Transforms/PhaseOrdering/openmp-opt-module.ll |
 | llvm/test/Transforms/FunctionAttrs/nofree-attributor.ll |
Commit
57bd67abfcb8799cbee204e5fd92fe60bce3f9bf
by bjorn.a.pettersson[NewPM][test] Use -passes syntax in SpeculativeExecution lit tests
The legacy PM is deprecated, so use the new PM syntax in lit tests running the speculative-execution pass.
|
 | llvm/test/Transforms/SpeculativeExecution/PR46267.ll |
 | llvm/test/Transforms/SpeculativeExecution/spec-other.ll |
 | llvm/test/Transforms/SpeculativeExecution/spec-casts.ll |
 | llvm/test/Transforms/SpeculativeExecution/spec.ll |
 | llvm/test/Transforms/SpeculativeExecution/spec-calls.ll |
 | llvm/test/Transforms/SpeculativeExecution/spec-compares.ll |
 | llvm/test/Transforms/SpeculativeExecution/spec-other-inseltpoison.ll |
Commit
15f1fb5a302d7b4b1405c0414c661ef3de7ff18d
by bjorn.a.pettersson[NewPM][test] Use -passes syntax in BoundsChecking lit tests
The legacy PM is deprecated, so use the new PM syntax in lit tests running the bounds-checking pass.
|
 | llvm/test/Instrumentation/BoundsChecking/phi.ll |
 | llvm/test/Instrumentation/BoundsChecking/simple-32.ll |
 | llvm/test/Instrumentation/BoundsChecking/many-trap.ll |
 | llvm/test/Instrumentation/BoundsChecking/opt.ll |
 | llvm/test/Instrumentation/BoundsChecking/simple.ll |
 | llvm/test/Instrumentation/BoundsChecking/many-traps-2.ll |
Commit
5e4dbd7a2fb095a6c25ec4758b806571c033e88e
by bjorn.a.pettersson[NewPM][test] Use -passes syntax in VectorCombine lit tests
The legacy PM is deprecated, so use the new PM syntax in lit tests running the vector-combine pass.
|
 | llvm/test/Transforms/VectorCombine/AMDGPU/as-transition-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/Hexagon/load-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/AArch64/load-extract-insert-store-scalarization.ll |
 | llvm/test/Transforms/VectorCombine/load-insert-store.ll |
 | llvm/test/Transforms/VectorCombine/X86/scalarize-cmp.ll |
 | llvm/test/Transforms/VectorCombine/Hexagon/load.ll |
 | llvm/test/Transforms/VectorCombine/X86/insert-binop.ll |
 | llvm/test/Transforms/VectorCombine/AMDGPU/as-transition.ll |
 | llvm/test/Transforms/VectorCombine/AArch64/vscale-bitcast-shuffle.ll |
 | llvm/test/Transforms/VectorCombine/X86/insert-binop-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/AArch64/load-extractelement-scalarization.ll |
 | llvm/test/Transforms/VectorCombine/X86/scalarize-vector-gep.ll |
 | llvm/test/Transforms/VectorCombine/X86/extract-cmp-binop.ll |
 | llvm/test/Transforms/VectorCombine/X86/extract-cmp.ll |
 | llvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant.ll |
 | llvm/test/Transforms/VectorCombine/X86/extract-binop.ll |
 | llvm/test/Transforms/VectorCombine/X86/insert-binop-with-constant-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/AArch64/extract-cmp-binop.ll |
 | llvm/test/Transforms/VectorCombine/X86/no-sse-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/X86/load-widening.ll |
 | llvm/test/Transforms/VectorCombine/X86/scalarize-cmp-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/X86/extract-binop-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/AArch64/vscale-bitcast-shuffle-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/X86/load-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/X86/load.ll |
 | llvm/test/Transforms/VectorCombine/X86/no-sse.ll |
 | llvm/test/Transforms/VectorCombine/X86/shuffle-inseltpoison.ll |
 | llvm/test/Transforms/VectorCombine/X86/shuffle.ll |
Commit
e9320b1a95a69652bba9b3ba66900b1c0e8f6b0a
by bjorn.a.pettersson[NewPM][test] Only use -passes syntax in Scalarizer lit tests
With legacy PM being deprecated it should be enough to verify the scalarizer pass using the new-PM syntax when invoking opt.
|
 | llvm/test/Transforms/Scalarizer/dbginfo.ll |
 | llvm/test/Transforms/Scalarizer/order-bug-inseltpoison.ll |
 | llvm/test/Transforms/Scalarizer/basic.ll |
 | llvm/test/Transforms/Scalarizer/phi-bug-inseltpoison.ll |
 | llvm/test/Transforms/Scalarizer/intrinsics.ll |
 | llvm/test/Transforms/Scalarizer/phi-unreachable-pred.ll |
 | llvm/test/Transforms/Scalarizer/scatter-order.ll |
 | llvm/test/Transforms/Scalarizer/vector-gep.ll |
 | llvm/test/Transforms/Scalarizer/basic-inseltpoison.ll |
 | llvm/test/Transforms/Scalarizer/dbgloc-bug-inseltpoison.ll |
 | llvm/test/Transforms/Scalarizer/cache-bug.ll |
 | llvm/test/Transforms/Scalarizer/crash-bug.ll |
 | llvm/test/Transforms/Scalarizer/dbgloc-bug.ll |
 | llvm/test/Transforms/Scalarizer/global-bug.ll |
 | llvm/test/Transforms/Scalarizer/constant-extractelement.ll |
 | llvm/test/Transforms/Scalarizer/order-bug.ll |
 | llvm/test/Transforms/Scalarizer/variable-insertelement.ll |
 | llvm/test/Transforms/Scalarizer/phi-bug.ll |
 | llvm/test/Transforms/Scalarizer/global-bug-2.ll |
 | llvm/test/Transforms/Scalarizer/variable-extractelement.ll |
 | llvm/test/Transforms/Scalarizer/constant-insertelement.ll |
 | llvm/test/Transforms/Scalarizer/store-bug.ll |