SuccessChanges

Summary

  1. Factor out renaming logic from readability-identifier-naming (details)
  2. [gn build] Port d5c6b8407c1 (details)
  3. [OPENMP]Avoid string concat where possible and use standard name (details)
  4. [IR] fix crash in Constant::isElementWiseEqual() with FP types (details)
  5. [WebAssembly] Track frame registers through VReg and local allocation (details)
  6. Add BuiltinsHexagonDep.def to clang module map (details)
  7. [llvm-nm] Use `StringRef` over `const std::string &` params (details)
  8. AMDGPU: Move permlane discard vdst_in optimization (details)
  9. AMDGPU: Do permlane16 vdst_in discard optimization in InstCombine (details)
  10. Revert "[WebAssembly] Track frame registers through VReg and local (details)
  11. lldb: xfail TestCrossDSOTailCalls.py and TestCrossObjectTailCalls.py on (details)
  12. [libcxx] Temporarily switch back to pthread backend for Fuchsia (details)
  13. [lld][WebAssembly] Use a more meaningful name for stub functions (details)
  14. [mlir] NFC: Fix trivial typos (details)
  15. [mlir] support translation of multidimensional vectors to LLVM IR (details)
  16. [clangd][test] Disable a particular testcase in (details)
  17. AMDGPU: Update clang test (details)
  18. [OPENMP]Do not emit RTTI descriptor for NVPTX devices. (details)
  19. [AArch64][GlobalISel] Change G_FCONSTANTs feeding into stores into (details)
  20. [NFC] Fold isHugeExpression into hasHugeExpression and update callers (details)
  21. PointerLikeTypeTraits: Standardize NumLowBitsAvailable on static (details)
  22. [mlir] Add missing dependency on LinalgUtils (details)
  23. Make LLVM_APPEND_VC_REV=OFF affect clang, lld, and lldb as well. (details)
  24. [gn build] replace llvm_allow_tardy_revision with llvm_append_vc_rev (details)
  25. Move static function to inline function - this fixes a conceivable ODR (details)
  26. Add back other PowerPC link components. (details)
  27. [FastISel] Lower `llvm.dbg.value(undef, ...` correctly. (details)
  28. [xray] add --no-demangle cli opt for llvm-xray extract to output mangled (details)
  29. [lldb/Debugger] Rename ExecuteIOHandlers to RunIOHandlers (NFC) (details)
  30. Add testing for DW_OP_piece and fix a bug with small Scalar values. (details)
  31. Fix a buffer-size bug when the first DW_OP_piece is undefined (details)
  32. [modules] Do not cache invalid state for modules that we attempted to (details)
  33. Add back more link components. (details)
  34. Revert "[RISCV] Support ABI checking with per function target-features" (details)
  35. Add extra test file forgotten in 45d7080. (details)
  36. [NFC][PowerPC] Remove unnecessary link components. (details)
  37. [mlir][spirv] Add implied capabilities and availability for capabilities (details)
  38. [mlir][spirv] Use symbolize functions in enum attribute predicates (details)
  39. [mlir][spirv] Fix SPV_MM_Vulkan extension reqirements (details)
  40. Avoid creating an immutable map in the Automaton class. (details)
  41. AMDGPU: Add register classes to MUBUF load patterns (details)
  42. Don't dump IR output from this test to stdout. (details)
Commit d5c6b8407c12d39a78f42a216369407cb2d7b511 by aaron
Factor out renaming logic from readability-identifier-naming
Before this patch, readability-identifier-naming contained a significant
amount of logic for (a) checking the style of identifiers, followed by
(b) renaming/ applying fix-its. This patch factors out (b) into a
separate base class so that it can be reused by other checks that want
to do renaming. This also cleans up readability-identifier-naming
significantly, since now it only needs to be concerned with the
interesting details of (a).
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
The file was addedclang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.h
Commit cbc63fbdc43b01387b9a604d953cd7627a0a15e2 by llvmgnsyncbot
[gn build] Port d5c6b8407c1
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/utils/BUILD.gn
Commit 8b321929483ee3c4070a10c457733c1bddd10b51 by a.bataev
[OPENMP]Avoid string concat where possible and use standard name
generation function, NFC.
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit 52b44902d059e68c6b5553c1d043f768c516064a by spatel
[IR] fix crash in Constant::isElementWiseEqual() with FP types
We lifted this code from InstCombine for general usage in: rL369842
...but it's not safe as-is. There are no existing users that can trigger
this bug, but I discovered it via crashing several regression tests when
trying to use it for select folding in InstSimplify.
ICmp requires (vector) integer types, so give up on anything that's not
integer or FP (pointers and ?) then bitcast the constants before trying
the match. That matches the definition of "equal or undef" that I was
looking for. If someone wants an FP-aware version of equality (deal with
NaN, -0.0), that could be a different mode or different function.
Differential Revision: https://reviews.llvm.org/D72784
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/unittests/IR/ConstantsTest.cpp
Commit 3a05c3969c18b5520e360b78fc63cda39a6be98f by dschuff
[WebAssembly] Track frame registers through VReg and local allocation
This change has 2 components:
Target-independent: add a method getDwarfFrameBase to
TargetFrameLowering. It describes how the Dwarf frame base will be
encoded.  That can be a register (the default), the CFA (which replaces
NVPTX-specific logic in DwarfCompileUnit), or a DW_OP_WASM_location
descriptr.
WebAssembly: Allow WebAssemblyFunctionInfo::getFrameRegister to return
the correct virtual register instead of FP32/SP32 after
WebAssemblyReplacePhysRegs has run.  Make WebAssemblyExplicitLocals
store the local it allocates for the frame register. Use this local
information to implement getDwarfFrameBase
The result is that the DW_AT_frame_base attribute is correctly encoded
for each subprogram, and each param and local variable has a correct
DW_AT_location that uses DW_OP_fbreg to refer to the frame base.
Differential Revision: https://reviews.llvm.org/D71681
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
The file was modifiedllvm/test/MC/WebAssembly/dwarfdump.ll
The file was modifiedllvm/test/MC/WebAssembly/debug-info.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was addedllvm/test/MC/WebAssembly/debug-localvar.ll
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.h
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/multi-return.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
The file was modifiedlld/test/wasm/debuginfo.test
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
Commit 202446c639fdd27a54c3be268154a7c66af4f36d by kparzysz
Add BuiltinsHexagonDep.def to clang module map
The file was modifiedclang/include/clang/module.modulemap
Commit fa4112fffc6bd81ba44a9e6ffb19f4314f6e37b0 by sbc
[llvm-nm] Use `StringRef` over `const std::string &` params
Differential Revision: https://reviews.llvm.org/D72718
The file was modifiedllvm/tools/llvm-nm/llvm-nm.cpp
Commit 91e758b7329b4ff134684e661af93a85c436a460 by arsenm2
AMDGPU: Move permlane discard vdst_in optimization
This case can be handled as a regular selection pattern, so move it out
of the weird post-isel folding code which doesn't have an exactly
equivalent place in GlobalISel.
I think it doesn't make much sense to do this optimization here though,
and it would be more useful in instcombine. There's not really any new
information that will be gained during lowering since these inputs were
known from the beginning.
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td
Commit 3ef8cdf6660fc20baeb09eae5008b741f178b624 by arsenm2
AMDGPU: Do permlane16 vdst_in discard optimization in InstCombine
There's more potential value to discarding the source value earlier,
since we always know the value of the fi/bc bits.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Commit 80906d9d16043377ad322c7c44d8a4d3f9914808 by dschuff
Revert "[WebAssembly] Track frame registers through VReg and local
allocation"
This reverts commit 3a05c3969c18b5520e360b78fc63cda39a6be98f. It breaks
under expensive-checks and on Windows
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.cpp
The file was removedllvm/test/MC/WebAssembly/debug-localvar.ll
The file was modifiedlld/test/wasm/debuginfo.test
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h
The file was modifiedllvm/test/MC/WebAssembly/dwarfdump.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/test/MC/WebAssembly/debug-info.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXFrameLowering.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/multi-return.ll
Commit 6c4d37733403bf3fda260f1b05fc899427a61cdc by Vedant Kumar
lldb: xfail TestCrossDSOTailCalls.py and TestCrossObjectTailCalls.py on
arm/aarch64
This effectively reverts commit
8d2f252bb8e4d199be8498c4ee2245117ef08fd2, which went a bit too far and
disabled these on all non-Darwin systems.
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_object/TestCrossObjectTailCalls.py
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/tail_call_frames/cross_dso/TestCrossDSOTailCalls.py
Commit 9050d0fb593c60628f47caa122c01ea1dc7a1bf5 by phosek
[libcxx] Temporarily switch back to pthread backend for Fuchsia
We switched to C11 thread API on Fuchsia in ab9aefe, but further testing
showed that Fuchsia's C11 mutex implementation needs a few improvements
for this to be usable, so we temporarily switch back to the pthread
implementation until those issues are addressed.
Differential Revision: https://reviews.llvm.org/D72862
The file was modifiedlibcxx/include/__config
Commit 51b521c07a7a784d087d6a4c176b132cc4e36db7 by sbc
[lld][WebAssembly] Use a more meaningful name for stub functions
When we generate these stub functions on signature mismatches give them
a more meaningful name so that when people see this in stack traces is
gives a clue as the what is going on.
See: https://github.com/emscripten-core/emscripten/issues/10226
Differential Revision: https://reviews.llvm.org/D72881
The file was modifiedlld/test/wasm/signature-mismatch.ll
The file was modifiedlld/wasm/SymbolTable.cpp
The file was modifiedlld/test/wasm/signature-mismatch-export.ll
Commit 73f371c31d2774b3e4d51e4e276737d54922aa18 by zinenko
[mlir] NFC: Fix trivial typos
Summary: Fix trivial typos
Differential Revision: https://reviews.llvm.org/D72672
The file was modifiedmlir/lib/Dialect/GPU/Transforms/MemoryPromotion.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
The file was modifiedmlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/include/mlir/Dialect/VectorOps/VectorOps.td
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVAvailability.td
The file was modifiedmlir/utils/spirv/define_inst.sh
Commit a4a42160c4463eac74c5d0cfa9a88c4971d8a23e by zinenko
[mlir] support translation of multidimensional vectors to LLVM IR
Summary: MLIR unlike LLVM IR supports multidimensional vector types.
Such types are lowered to nested LLVM IR arrays wrapping an LLVM IR
vector for the innermost dimension of the MLIR vector. MLIR supports
constants of such types using ElementsAttr for values. Introduce support
for converting ElementsAttr into LLVM IR Constant Aggregates
recursively. This enables translation of multidimensional vector
constants from MLIR to LLVM IR.
Differential Revision: https://reviews.llvm.org/D72846
The file was modifiedmlir/test/Target/llvmir.mlir
The file was modifiedmlir/test/Target/llvmir-invalid.mlir
The file was modifiedmlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Commit 42b3c38903c9c80e129ce678db7f522967e91eeb by Jan Korous
[clangd][test] Disable a particular testcase in
FindExplicitReferencesTest when LLVM_ENABLE_EXPENSIVE_CHECKS
The test is failing on our CI bots. Seems like the order of results for
one target is undefined.
(post-commit review) Differential Revision:
https://reviews.llvm.org/D72883
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
Commit 9b549f26fab6900b5328c0c6239fd77c7527159c by arsenm2
AMDGPU: Update clang test
The file was modifiedclang/test/CodeGenOpenCL/builtins-amdgcn-gfx10.cl
Commit 25b542c61fe364fa86163723b9e35cb7db28bcb4 by a.bataev
[OPENMP]Do not emit RTTI descriptor for NVPTX devices.
Need to disable emission of RTTI descriptors for NVPTX devices to be
able to use dynamic classes without unresolved symbols at link stage.
The file was modifiedclang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
Commit b82d18e1e8e6a997f304cbf591e92af02e067fdb by Jessica Paquette
[AArch64][GlobalISel] Change G_FCONSTANTs feeding into stores into
G_CONSTANTS
Given the following situation:
x = G_FCONSTANT (something that can't be materialized) G_STORE x,
some_addr
We know that x must be materialized as at least a single mov. However,
at the time of selection, the G_STORE will have been regbankselected to
a FPR store.
So, as a result, you'll get an unnecessary fmov into the G_STORE.
Storing a constant value in a GPR and a constant value in a FPR are the
same. So, whenever you see a G_FCONSTANT that feeds into only G_STORES,
so might as well make it a G_CONSTANT.
This adds a target-specific combine which changes G_FCONSTANTs feeding
into G_STOREs into G_CONSTANTs.
Differential Revision: https://reviews.llvm.org/D72814
The file was modifiedllvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/combine-fconstant.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
Commit de022a8824f5b528fd428e1397e20c905130eeb1 by echristo
[NFC] Fold isHugeExpression into hasHugeExpression and update callers
accordingly.
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 65eb74e94b414fcde6bfa810d1c30c7fcb136b77 by dblaikie
PointerLikeTypeTraits: Standardize NumLowBitsAvailable on static
constexpr rather than anonymous enum
This is (more?) usable by GDB pretty printers and seems nicer to write.
There's one tricky caveat that in C++14 (LLVM's codebase today) the
static constexpr member declaration is not a definition - so odr use of
this constant requires an out of line definition, which won't be
provided (that'd make all these trait classes more annoyidng/expensive
to maintain). But the use of this constant in the library implementation
is/should always be in a non-odr context - only two unit tests needed to
be touched to cope with this/avoid odr using these constants.
Based on/expanded from D72590 by Christian Sigg.
The file was modifiedclang/include/clang/Basic/IdentifierTable.h
The file was modifiedclang/include/clang/AST/ExternalASTSource.h
The file was modifiedllvm/include/llvm/ADT/IntervalMap.h
The file was modifiedmlir/include/mlir/IR/Location.h
The file was modifiedclang/include/clang/AST/CanonicalType.h
The file was modifiedmlir/include/mlir/IR/Value.h
The file was modifiedclang/include/clang/Sema/Ownership.h
The file was modifiedmlir/include/mlir/IR/Function.h
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedmlir/include/mlir/IR/Module.h
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedllvm/include/llvm/Support/PointerLikeTypeTraits.h
The file was modifiedmlir/include/mlir/IR/Identifier.h
The file was modifiedllvm/include/llvm/ADT/PointerEmbeddedInt.h
The file was modifiedpolly/include/polly/CodeGen/IslExprBuilder.h
The file was modifiedclang/include/clang/CodeGen/ConstantInitFuture.h
The file was modifiedllvm/include/llvm/ADT/PointerIntPair.h
The file was modifiedmlir/include/mlir/IR/Types.h
The file was modifiedclang/include/clang/AST/TemplateName.h
The file was modifiedclang/include/clang/AST/DeclGroup.h
The file was modifiedclang/include/clang/Basic/SourceLocation.h
The file was modifiedllvm/unittests/ADT/PointerEmbeddedIntTest.cpp
The file was modifiedllvm/lib/Analysis/GlobalsModRef.cpp
The file was modifiedllvm/include/llvm/IR/Use.h
The file was modifiedmlir/include/mlir/IR/OperationSupport.h
The file was modifiedllvm/unittests/ADT/PointerIntPairTest.cpp
Commit 933b4212566b421191581ed6945d4ec131cc1366 by aminim
[mlir] Add missing dependency on LinalgUtils
Differential Revision: https://reviews.llvm.org/D72821
The file was modifiedmlir/test/lib/Transforms/TestLinalgTransforms.cpp
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
Commit fb5fafb23cc2d8613f8be2487afe94d8594a88ce by thakis
Make LLVM_APPEND_VC_REV=OFF affect clang, lld, and lldb as well.
When LLVM_APPEND_VC_REV=OFF is set, the current git hash is no longer
embedded into binaries (mostly for --version output). Without it, most
binaries need to relink after every single commit, even if they didn't
change otherwise (due to, say, a documentation-only commit).
LLVM_APPEND_VC_REV is ON by default, so this doesn't change the default
behavior of anything.
With this, all clients of GenerateVersionFromVCS.cmake honor
LLVM_APPEND_VC_REV.
Differential Revision: https://reviews.llvm.org/D72855
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
The file was modifiedlld/Common/CMakeLists.txt
The file was modifiedclang/lib/Basic/CMakeLists.txt
The file was modifiedlldb/source/CMakeLists.txt
The file was modifiedllvm/docs/CMake.rst
Commit 1645f5e496b93c534069f03886c97be85d5de35d by thakis
[gn build] replace llvm_allow_tardy_revision with llvm_append_vc_rev
Previously, the gn build would create VCSRevision.h / VCSVersion.h files
with some LLD_REVISION / LLVM_REVISION / CLANG_REVISION but by default
wouldn't add a dependency on .git/logs/HEAD so that the step doesn't
rerun after every branch switch or every pull.
That's bad for deterministic builds, and having --version print some
arbitrarily old revision isn't great either.
Instead, move to the model that the cmake build (now) uses fairly
consistently: If llvm_append_vc_rev is set, include the revision, else
don't.
Since the GN build is focused on developers, set llvm_append_vc_rev to
false instead of true by default (different from the cmake build), so
that things don't rebuild after every branch switch and every pull.
While here, also remove some pre-monorepo code.
Differential Revision: https://reviews.llvm.org/D72859
The file was modifiedllvm/utils/gn/build/write_vcsrevision.py
The file was modifiedllvm/utils/gn/build/write_vcsrevision.gni
Commit 40ac4221c30f9bd5d10200c262e53bf228cce6b8 by echristo
Move static function to inline function - this fixes a conceivable ODR
violation and a clang-tidy warning about an unused function in a number
of translation units.
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
Commit 1b1022b42adee5278fd0cbd624b94c271f9f8ae6 by wanyu9511
Add back other PowerPC link components.
Add the link components back to unblock bots for the moment. In the
meantime, I'm investigating the BUILD_SHARED_LIBS=ON build to find out
the minimal list of components needed.
The file was modifiedllvm/unittests/Target/PowerPC/CMakeLists.txt
Commit 30a8865142abe309bb9aceede2708c171a2904ea by ditaliano
[FastISel] Lower `llvm.dbg.value(undef, ...` correctly.
Summary: Instead of just dropping them.
<rdar://problem/58657146>
Reviewers: aprantl, vsk, ab, paquette, echristo
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72877
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was addedllvm/test/CodeGen/AArch64/fastisel-debugvalue-undef.ll
Commit 8ef57f3e3f1b241e5b544a167ac64b35f7275759 by smeenai
[xray] add --no-demangle cli opt for llvm-xray extract to output mangled
names
This adds an additional cli flag for the llvm-xray extract tool.  This
is useful if you're more interested in consuming the mangled symbol
name, instead of the default now which is demangled.
Differential Revision: https://reviews.llvm.org/D72804
The file was modifiedllvm/tools/llvm-xray/xray-extract.cpp
The file was addedllvm/test/tools/llvm-xray/AArch64/extract-instrmap-aarch64-mangled.test
Commit 2671df9bd675d4a1a07457dce748f4fe939e95fb by Jonas Devlieghere
[lldb/Debugger] Rename ExecuteIOHandlers to RunIOHandlers (NFC)
This improves consistency among the related methods.
The file was modifiedlldb/source/Core/Debugger.cpp
The file was modifiedlldb/include/lldb/Core/Debugger.h
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
Commit 7b0d58e339b271e3b1d9dc14b781b57fa0262e3a by Adrian Prantl
Add testing for DW_OP_piece and fix a bug with small Scalar values.
By switching to Scalars that are backed by explicitly-sized APInts we
can avoid a bug that increases the buffer reserved for a small piece to
the next-largest host integer type.
This manifests as "DW_OP_piece for offset foo but top of stack is of
size bar".
Differential Revision: https://reviews.llvm.org/D72879
The file was modifiedlldb/unittests/Expression/DWARFExpressionTest.cpp
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
Commit f55ab6f90b7317a6bb85303a6102702bdae1199e by Adrian Prantl
Fix a buffer-size bug when the first DW_OP_piece is undefined
and document the shortcomings of LLDB's partially defined DW_OP_piece
handling.
This would manifest as "DW_OP_piece for offset foo but top of stack is
of size bar".
rdar://problem/46262998
Differential Revision: https://reviews.llvm.org/D72880
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was modifiedlldb/unittests/Expression/DWARFExpressionTest.cpp
Commit 83f4c3af021cd5322ea10fd1c4e839874c1dae49 by vsapsai
[modules] Do not cache invalid state for modules that we attempted to
load.
Partially reverts 0a2be46cfdb698fefcc860a56b47dde0884d5335 as it turned
out to cause redundant module rebuilds in multi-process incremental
builds. When a module was getting out of date, all compilation processes
started at the same time were marking it as `ToBuild`. So each process
was building the same module instead of checking if it was built by
someone else and using that result. In addition to the work duplication,
contention on the same .pcm file wasn't making builds faster.
Note that for a single-process build this change would cause redundant
module reads and validations. But reading a module is faster than
building it and multi-process builds are more common than
single-process. So I'm willing to make such a trade-off.
rdar://problem/54395127
Reviewed By: dexonsmith
Differential Revision: https://reviews.llvm.org/D72860
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was removedclang/test/Modules/Inputs/implicit-invalidate-chain/module.modulemap
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was removedclang/test/Modules/Inputs/implicit-invalidate-chain/B.h
The file was removedclang/test/Modules/Inputs/implicit-invalidate-chain/C.h
The file was modifiedclang/unittests/Frontend/FrontendActionTest.cpp
The file was modifiedclang/lib/Serialization/InMemoryModuleCache.cpp
The file was modifiedclang/lib/Serialization/ModuleManager.cpp
The file was modifiedclang/unittests/Serialization/InMemoryModuleCacheTest.cpp
The file was removedclang/test/Modules/implicit-invalidate-chain.c
The file was modifiedclang/include/clang/Serialization/InMemoryModuleCache.h
The file was removedclang/test/Modules/Inputs/implicit-invalidate-chain/A.h
Commit 6c26d8968ad8efd19e29b94f5f0a2b4c87904ae1 by wanyu9511
Add back more link components.
Add all previous link components back to unblock bots for the moment. In
the meantime, I'm investigating the BUILD_SHARED_LIBS=ON build to find
out the minimal list of components needed.
The file was modifiedllvm/unittests/Target/PowerPC/CMakeLists.txt
Commit cef838e65f9a2aeecf5e19431077bc16b01a79fb by zakk.chen
Revert "[RISCV] Support ABI checking with per function target-features"
This reverts commit 7bc58a779aaa1de56fad8b1bc8e46932d2f2f1e4. It breaks
EXPENSIVE_CHECKS on Windows
The file was modifiedllvm/lib/Target/RISCV/Utils/RISCVBaseInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/subtarget-features-std-ext.ll
Commit b78e8e0d79c47a6698a0abc10a37b8a253cb6064 by richard
Add extra test file forgotten in 45d7080.
The file was addedclang/test/Parser/explicit-bool.cpp
Commit ad83bed2411fdc9f9ef691a320d5d35b65ab4bae by wanyu9511
[NFC][PowerPC] Remove unnecessary link components.
Remove unused link components for PowerPC target unittest according to
post commit comments. This is a redo for a previous commit
"fc4e43ad618b" that removed a few components that are necessary when
libraries are to be built shared (i.e., BUILD_SHARED_LIBS=ON).
The file was modifiedllvm/unittests/Target/PowerPC/CMakeLists.txt
Commit 6a970135904d234039a15616481a909363b77739 by antiagainst
[mlir][spirv] Add implied capabilities and availability for capabilities
Certain SPIR-V capabilities are only available in certain SPIR-V
versions or extensions. Also a SPIR-V capability may implicitly declares
other capabilities.
This commit updates gen_spirv_dialect.py to support generating such
information into SPIRVBase.td. It requires us to topologically sort all
capabilities because now a capability can refer to another one.
This commits also registers a few extensions because their symbols are
used by capability availability.
Note that this commit hasn't updated SPIRVConversionTarget to take into
consideration such relationship yet. That will be done in a following-up
commit.
Differential Revision: https://reviews.llvm.org/D72760
The file was modifiedmlir/utils/spirv/gen_spirv_dialect.py
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
Commit ccedb918bb33d2190e81688186946d00aa908e44 by antiagainst
[mlir][spirv] Use symbolize functions in enum attribute predicates
By default, for an enum attribute, we will generate a list of equality
comparisons for all supported cases inside it's predicate. This list can
be fairly large for certain SPIR-V enum attributes. Instead, we already
have such a list generated by EnumsGen in the symbolize functions.
Leverage that to simplify the generated C++ code.
Differential Revision: https://reviews.llvm.org/D72763
The file was modifiedmlir/utils/spirv/gen_spirv_dialect.py
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
Commit 961174f8787b0b7f6d9c699e71dd278b66b16c38 by antiagainst
[mlir][spirv] Fix SPV_MM_Vulkan extension reqirements
SPV_MM_Vulkan can be enabled by the SPV_KHR_vulkan_memory_model
extension.
Differential Revision: https://reviews.llvm.org/D72764
The file was modifiedmlir/test/Dialect/SPIRV/availability.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
Commit 051d330314cb1f175025ca37da8e5e1d851e1790 by hayarms
Avoid creating an immutable map in the Automaton class.
Summary: In the DFAPacketizer we copy the Transitions array into a map
in order to later access the transitions based on a "Current
State/Action" pair as a key. This map lives in the Automaton object used
by the DFAPacketizer. It is never changed during the life of the object
after having been created during the creation of the Automaton itself.
This map creation can make the creation of a DFAPacketizer quite
expensive if the target contains a considerable amount of transition
states.
Considering that TableGen already generates a sorted list of transitions
by State/Action pairs we could just use that directly in our Automaton
and search entries with std::lower_bound instead of copying it in a map
and paying the execution time and memory cost.
Reviewers: jmolloy, ThomasRaoux
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72682
The file was modifiedllvm/utils/TableGen/DFAEmitter.cpp
The file was modifiedllvm/include/llvm/Support/Automaton.h
Commit 117d4f1900c0f02774226869d42de4b585dae66c by arsenm2
AMDGPU: Add register classes to MUBUF load patterns
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
Commit 01a6cd471f019cfeda057c3b1b6fc6213575217c by richard
Don't dump IR output from this test to stdout.
The file was modifiedclang/test/CodeGenHIP/printf-aggregate.cpp