FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Make helper functions static or move them into anonymous namespaces. (details)
  2. [FPEnv] Fix chain handling regression after 04a8696 (details)
  3. [RISCV][NFC] Deduplicate Atomic Intrinsic Definitions (details)
  4. [FPEnv] Add some comments to IRBuilder.h (details)
  5. [lldb][NFC] Make name parameter in AddMethodToCXXRecordType a StringRef (details)
  6. [TableGen] Update editor modes for new keywords. (details)
  7. [InstSimplify] add tests for vector select; NFC (details)
  8. AArch64: fix bitcode upgrade of @llvm.neon.addp. (details)
  9. Expression eval lookup speedup by not returning methods in (details)
  10. Fix "null pointer passed to nonnull argument" clang static analyzer (details)
  11. Fix "pointer is null" static analyzer warnings. NFCI. (details)
  12. Merge isa<> and getAs<> calls to fix "pointer is null" static analyzer (details)
  13. Remove duplicate variable. NFCI. (details)
  14. Fix "pointer is null" static analyzer warnings. NFCI. (details)
  15. Fix "pointer is null" static analyzer warning. NFCI. (details)
  16. [llvm-readobj][llvm-readelf][test] - Add a few more dynamic section (details)
  17. [lldb/DWARF] Move location list sections into DWARFContext (details)
  18. [AIX] ExternalSymbolSDNode lowering (details)
  19. [DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues Behaviour (details)
  20. [OpenCL] Add MSAA sharing extension builtin functions (details)
  21. Revert "Recommit "[GlobalOpt] Pass DTU to removeUnreachableBlocks (details)
  22. [AArch64] Fix save register pairing for Windows AAPCS (details)
  23. Revert "[DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues (details)
  24. [clang-tidy] Match InitListExpr in modernize-use-default-member-init (details)
  25. [Syntax] Assert invariants on tree structure and fix a bug in mutations (details)
  26. [Syntax] Mark synthesized nodes as modifiable (details)
  27. [DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues Behaviour (details)
  28. [scudo][standalone] Fork support (details)
  29. [Syntax] Unset IsOriginal flag on nodes removed from the tree (details)
  30. [ARM][MVE] VTP Block Pass fix (details)
  31. [clang][OpenCL] Fix covered switch warning (details)
  32. Fix "pointer is null" clang static analyzer warnings. NFCI. (details)
  33. Fix "pointer is null" static analyzer warnings. NFCI. (details)
  34. [IR] fix potential crash in Constant::isElementWiseEqual() (details)
  35. [lldb/Utility] Use assert instead of llvm_unreachable for LLDBAssert (details)
  36. [RISCV] Add Clang frontend support for Bitmanip extension (details)
  37. [test] Make data layout of load-bitcast64.ll explicit, use (details)
  38. Removed PointerUnion3 and PointerUnion4 aliases in favor of the variadic (details)
  39. [ELF] --exclude-libs: don't assign VER_NDX_LOCAL to undefined symbols (details)
  40. [InstCombine] Let combineLoadToNewType preserve ABI alignment of the (details)
  41. [AIX][XCOFF] Supporting the ReadOnlyWithRel SectionKnd (details)
  42. SCC: Allow ReplaceNode to safely support insertion (details)
  43. [X86] Directly emit a BROADCAST_LOAD from constant pool in (details)
  44. [ThinLTO] Handle variable with twice promoted name (Rust) (details)
  45. [ELF] Delete the RelExpr member R_HINT. NFC (details)
  46. [ThinLTO/WPD] Remove an overly-aggressive assert (details)
  47. [RISCV] Allow shrink wrapping for RISC-V (details)
  48. Added readability-qualified-auto check (details)
  49. [gn build] Port 36fcbb838c8 (details)
  50. [lldb/test] test_breakpoints_func_full from (details)
  51. [MachineScheduler] Reduce reordering due to mem op clustering (details)
  52. [InstCombine] add test for possible cast-of-select transform; NFC (details)
  53. Fix NetBSD bot after b4a99a061f517e60985667e39519f60186cbb469 (details)
  54. [nfc][libomptarget] Refactor amdgcn target_impl (details)
  55. [nfc][libomptarget] Refactor nvptx/target_impl.cu (details)
  56. [InstCombine] Add test for iterator invalidation bug; NFC (details)
  57. [InstCombine] Fix user iterator invalidation in bitcast of phi transform (details)
  58. [InstCombine] Make combineLoadToNewType a method; NFC (details)
  59. [InstCombine] Fix infinite loop due to bitcast <-> phi transforms (details)
  60. [OPENMP]Improve handling of possibly incorrectly mapped types. (details)
  61. [NewPM] Port MergeFunctions pass (details)
  62. [OpenMP][Tool] Runtime warning for missing TSan-option (details)
  63. [Driver] Ignore -fno-semantic-interposition (details)
  64. [SVE] Add patterns for MUL immediate instruction. (details)
  65. [libcxx] [Windows] Make a more proper implementation of strftime_l for (details)
  66. dotest.py: Add option to pass extra lldb settings to dotest (details)
  67. [analyzer] Fix SARIF column locations (details)
  68. [DebugInfo] Add option to clang to limit debug info that is emitted for (details)
  69. [InstCombine] Fix worklist management when removing guard intrinsic (details)
  70. [clang][test][NFC] Use more widely supported sanitizer for file (details)
  71. [GVN] fix comment/argument name to match actual implementation. NFC (details)
  72. [LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP (details)
  73. [Driver][test] Fix Driver/hexagon-toolchain-elf.c for (details)
  74. [AArch64][GlobalISel]: Support @llvm.{return,frame}address selection. (details)
  75. Remove trailing `;`. NFC. (details)
  76. [mlir] Use double format when parsing bfloat16 hexadecimal values (details)
  77. [OPENMP]Do not emit special virtual function for NVPTX target. (details)
  78. [DAGCombine] Replace `getIntPtrConstant()` with `getVectorIdxTy()`. (details)
  79. [mlir][Linalg] Update the semantics, verifier and test for Linalg with (details)
  80. -fmodules-codegen should not emit extern templates (details)
  81. fix recent -fmodules-codegen fix test (details)
  82. make -fmodules-codegen and -fmodules-debuginfo work also with PCHs (details)
  83. [mlir] Enable printing of FuncOp in the generic form. (details)
  84. [OPENMP]Do not use RTTI by default for NVPTX devices. (details)
  85. [mlir] Refactor ModuleState into AsmState and expose it to users. (details)
  86. [remark][diagnostics] Using clang diagnostic handler for IR input files (details)
  87. [mlir][spirv] Properly support SPIR-V conversion target (details)
  88. [codegen,amdgpu] Enhance MIR DIE and re-arrange it for AMDGPU. (details)
  89. [LIBOMPTARGET] Do not increment/decrement the refcount for "declare (details)
  90. Fix windows bot failures in c410adb092c9cb51ddb0b55862b70f2aa8c5b16f (details)
Commit df186507e1d07c3ddba091a076ba7a33dbdc5867 by benny.kra
Make helper functions static or move them into anonymous namespaces. 
NFC.
The file was modifiedmlir/test/lib/TestDialect/TestPatterns.cpp
The file was modifiedmlir/lib/Conversion/LoopsToGPU/LoopsToGPU.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedmlir/lib/Analysis/AffineAnalysis.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CheckPlacementNew.cpp
The file was modifiedmlir/lib/Analysis/Liveness.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVDialect.cpp
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
The file was modifiedmlir/lib/Dialect/QuantOps/Transforms/ConvertSimQuant.cpp
The file was modifiedmlir/lib/Pass/PassStatistics.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was modifiedmlir/lib/Dialect/AffineOps/AffineOps.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/lib/IR/SymbolTable.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRV.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/lib/Dialect/VectorOps/VectorTransforms.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/FuchsiaHandleChecker.cpp
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/lib/Dialect/LoopOps/LoopOps.cpp
The file was modifiedmlir/lib/Dialect/SDBM/SDBMExpr.cpp
The file was modifiedmlir/lib/ExecutionEngine/ExecutionEngine.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/lib/Dialect/VectorOps/VectorOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit 81ee484484a0be59da8f749a9b4cf56bb8d37402 by ulrich.weigand
[FPEnv] Fix chain handling regression after 04a8696
Code in getRoot made the assumption that every node in PendingLoads must
always itself have a dependency on the current DAG root node.
After the changes in 04a8696, it turns out that this assumption no
longer holds true, causing wrong codegen in some cases (e.g. stores
after constrained FP intrinsics might get deleted).
To fix this, we now need to make sure that the TokenFactor created by
getRoot always includes the previous root, if there is no implicit
dependency already present.
The original getControlRoot code already has exactly this check, so this
patch simply reuses that code now for getRoot as well. This fixes the
regression.
NFC if no constrained FP intrinsic is present.
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-alias.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Commit dee6e39c7561a8b733cc260738ff7ea3ae78ee0c by selliott
[RISCV][NFC] Deduplicate Atomic Intrinsic Definitions
Summary: This is a slight cleanup, to use multiclasses to avoid the
duplication between the different atomic intrinsic definitions. The
produced intrinsics are unchanged, they're just generated in a more
succinct way.
Reviewers: asb, luismarques, jrtc27
Reviewed By: luismarques, jrtc27
Subscribers: Jim, rbar, johnrusso, simoncook, sabuasal, niosHD,
kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01,
MartinMosbeck, brucehoult, the_o, rkruppe, jfb, PkmX, jocewei, psnobl,
benna, s.egerton, pzheng, sameer.abuasal, apazos, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71777
The file was modifiedllvm/include/llvm/IR/IntrinsicsRISCV.td
Commit 6aca3e8dfa228fb75e410e34db74982a0ab3939f by ulrich.weigand
[FPEnv] Add some comments to IRBuilder.h
As requested via post-commit comment for D71467, this adds comments
documenting CreateFCmp vs. CreateFCmpS to the header file.
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
Commit 3f944a8b8ca895667f04748f62d350f07ee1416b by Raphael Isemann
[lldb][NFC] Make name parameter in AddMethodToCXXRecordType a StringRef
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/include/lldb/Symbol/ClangASTContext.h
Commit e3ed63e83ab6194aaf6711b97bdf09f16dcf2401 by simon.tatham
[TableGen] Update editor modes for new keywords.
Summary: D71407 and D71474 added new keywords to the Tablegen language:
`defvar`, `if`, `then` and `else`. This commit updates the various
editor modes to highlight them appropriately.
Some of the modes also didn't include `defset`, so I've added that too
while I was there.
Reviewers: MaskRay, lebedev.ri, plotfi
Reviewed By: lebedev.ri
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72693
The file was modifiedllvm/utils/emacs/tablegen-mode.el
The file was modifiedllvm/utils/vim/syntax/tablegen.vim
The file was modifiedllvm/utils/vscode/tablegen/syntaxes/TableGen.tmLanguage
The file was modifiedllvm/utils/kate/llvm-tablegen.xml
Commit cfe2fab708de3a1d8e05a829a132f335a189acc9 by spatel
[InstSimplify] add tests for vector select; NFC
The file was modifiedllvm/test/Transforms/InstSimplify/select.ll
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit 77cc690bae310f4cba0a34f2da8a37a7c9a10a82 by Tim Northover
AArch64: fix bitcode upgrade of @llvm.neon.addp.
We were upgrading it to faddp, but a version taking two type parameters
instead of one. This then got upgraded a second time to the version with
just one parameter, but occasionally (for reasons I don't understand)
this unusual two-stage process corrupted a use-list, leading to a crash
when the two faddp declarations didn't match.
The file was addedllvm/test/Bitcode/aarch64-addp-upgrade.bc
The file was addedllvm/test/Bitcode/aarch64-addp-upgrade.ll
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
Commit a705cf1acbe94498f7fcca4e89be6d4820271227 by pavel
Expression eval lookup speedup by not returning methods in
ManualDWARFIndex::GetFunctions
Summary: This change is connected with https://reviews.llvm.org/D69843
In large codebases, we sometimes see Module::FindFunctions (when called
from ClangExpressionDeclMap::FindExternalVisibleDecls) returning huge
amounts of functions.
In current fix I trying to return only function_fullnames from
ManualDWARFIndex::GetFunctions when eFunctionNameTypeFull is passed as
argument.
Reviewers: labath, jarin, aprantl
Reviewed By: labath
Subscribers: shafik, clayborg, teemperor, arphaman, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70846
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/find-basic-function.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/printf/TestPrintf.py
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
Commit 7ec7a6e5bfa745c285d5c651af02b93f2cb923e1 by llvm-dev
Fix "null pointer passed to nonnull argument" clang static analyzer
warnings. NFCI.
Assert that the memcpy arguments are valid.
The file was modifiedclang/lib/AST/NestedNameSpecifier.cpp
Commit 25dc5c7cd159522ec2375544f473c757ee13a03b by llvm-dev
Fix "pointer is null" static analyzer warnings. NFCI.
Use castAs<> instead of getAs<> since the pointer is dereferenced
immediately below and castAs will perform the null assertion for us.
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
Commit cc8a1504283731f05f937464b631f170d748b7b0 by llvm-dev
Merge isa<> and getAs<> calls to fix "pointer is null" static analyzer
warnings. NFCI.
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
Commit 9d905e8ceddda8b103e208ed43a117cb4445e682 by llvm-dev
Remove duplicate variable. NFCI.
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
Commit 591cd40584300a1d5d33bfaefa4698c02ef56887 by llvm-dev
Fix "pointer is null" static analyzer warnings. NFCI.
Use cast<> instead of cast_or_null<> since the pointers are always
dereferenced and cast<> will perform the null assertion for us.
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
Commit 1d6b964ed1f7a77b178e86bef7d569611f2c0983 by llvm-dev
Fix "pointer is null" static analyzer warning. NFCI.
Remove Ctx null test as clang static analyzer assumes that this can fail
- replace it with an assertion as the pointer is always dereferenced
below.
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
Commit e1f524ea43f920767259c47e201405091d7e76fd by grimar
[llvm-readobj][llvm-readelf][test] - Add a few more dynamic section
tests.
This adds a few more tests for dynamic section.
We only had tests for simple unknown values for 64-bits target, in this
patch I've added OS specific and processor specific tags. Also it tests
both 32 and 64-bits targets now.
It will help to fix the formatting issues we have and diagnose a
possible new ones.
Differential revision: https://reviews.llvm.org/D71896
The file was modifiedllvm/test/tools/llvm-readobj/ELF/dynamic-tags.test
The file was modifiedllvm/test/tools/llvm-objdump/elf-dynamic-section.test
Commit 4b5bc38802dcc7d2c6d7f5af1eca1755bd0fd9cb by pavel
[lldb/DWARF] Move location list sections into DWARFContext
These are the last sections not managed by the DWARFContext object. I
also introduce separate SectionType enums for dwo section variants, as
this is necessary for proper handling of single-file split dwarf.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFContext.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
The file was modifiedlldb/include/lldb/lldb-enumerations.h
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/test/Shell/ObjectFile/ELF/section-types.yaml
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFContext.h
The file was modifiedlldb/source/Symbol/ObjectFile.cpp
The file was modifiedlldb/source/Core/Section.cpp
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug_loclists-dwo.s
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
Commit 25a8aec7f37b970849ccf5f2893431e2ca858709 by Xiangling.Liao
[AIX] ExternalSymbolSDNode lowering
For memcpy/memset/memmove etc., replace ExternalSymbolSDNode with a
MCSymbolSDNode, which have a prefix dot before function name as entry
point symbol.
Differential Revision: https://reviews.llvm.org/D70718
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/aix-external-sym-sdnode-lowering.ll
The file was addedllvm/test/CodeGen/PowerPC/aix-user-defined-memcpy.ll
Commit 35787e3a062a4a21c145137552d20cb1169c74fc by Tom.Weaver
[DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues Behaviour
Tests.
Adds 22 distinct tests that exercise the live-debug-values passes
expected behaviour.
reviewers: aprantl, vsk
Differential revision: https://reviews.llvm.org/D72515
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_early_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_clobbered.mir
Commit 92451f0904ceab1d81d71a9f17ab366bf57eddc7 by sven.vanhaastregt
[OpenCL] Add MSAA sharing extension builtin functions
Add the MSAA sharing builtin functions from the OpenCL Extension
Specification.
Patch by Pierre Gondois and Sven van Haastregt.
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td
Commit 192cce10f67e4f22be6d9b8c0975f78ad246d1bd by flo
Revert "Recommit "[GlobalOpt] Pass DTU to removeUnreachableBlocks
instead of recomputing.""
This reverts commit a03d7b0f24b65d69721dbbbc871df0629efcf774.
As discussed in D68298, this causes a compile-time regression, in case
the DTs requested are not used elsewhere in GlobalOpt. We should only
get the DTs if they are available here, but this seems not possible with
the legacy pass manager from a module pass.
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
Commit 1cc8fff420a76ae869f73ce2b19e7c1fc73da3ed by Sanne.Wouda
[AArch64] Fix save register pairing for Windows AAPCS
Summary: On Windows, when a function does not have an unwind table (for
example, EH filtering funclets), we don't correctly pair FP and LR to
form the frame record in all circumstances.
Fix this by invalidating a pair when the second register is FP when
compiling for Windows, even when CFI is not needed.
Fixes PR44271 introduced by D65653.
Reviewers: efriedma, sdesmalen, rovka, rengolin, t.p.northover,
thegameg, greened
Reviewed By: rengolin
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71754
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/win64-no-uwtable.ll
Commit b10f6b7112278ba91d57173466bff7fc85d4bf0d by Tom.Weaver
Revert "[DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues
Behaviour Tests."
This reverts commit 35787e3a062a4a21c145137552d20cb1169c74fc.
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_early_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_clobber.mir
The file was removedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
Commit 9738c757bd9bc2fdca935f2b4e356f1d5e5f3682 by malcolm.parsons
[clang-tidy] Match InitListExpr in modernize-use-default-member-init
Summary: modernize-use-default-member-init wasn't warning about
redundant initialisers when the initialiser was an InitListExpr.  Add
initListExpr to the matcher.
Fixes: PR44439
Reviewers: aaron.ballman, alexfh, JonasToth
Reviewed By: aaron.ballman
Subscribers: xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72691
The file was modifiedclang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/modernize-use-default-member-init.cpp
Commit 3b929fe7763570fc1d4a4691a53257a4a0b7760e by ibiryukov
[Syntax] Assert invariants on tree structure and fix a bug in mutations
Add checks for some structural invariants when building and mutating the
syntax trees.
Fix a bug failing the invariants after mutations: the parent of nodes
added into the tree was null.
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
The file was modifiedclang/lib/Tooling/Syntax/BuildTree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/lib/Tooling/Syntax/Mutations.cpp
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp
Commit 07a41018e9d27f67f7b4295eb7e00e0345c0aacf by ibiryukov
[Syntax] Mark synthesized nodes as modifiable
This was an oversight in the original patch. Also add corresponding
tests.
The file was modifiedclang/include/clang/Tooling/Syntax/Tree.h
The file was modifiedclang/lib/Tooling/Syntax/Synthesis.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit e7b2d9f4702cb8882aa275bcb8eab37be17601e1 by Tom.Weaver
[DBG][LIVEDEBUGVALUES][NFC] Add Targeted LiveDebugValues Behaviour
Tests.
Adds 22 distinct tests that exercise the live-debug-values passes
expected behaviour.
reviewers: aprantl, vsk
Differential revision: https://reviews.llvm.org/D72515
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_loop.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_match_move.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond_one_move.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_break_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_moved.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_move_to_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_early_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_bb_to_bb_clobbered.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_two_backedge.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_clobber.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_within_loop_outer_moved.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_basic_diamond.mir
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvalues_loop_diamond_move.mir
Commit 9ef6faf49670e18eb1ba04105a7c70b450cdaa71 by kostyak
[scudo][standalone] Fork support
Summary: fork() wasn't well (or at all) supported in Scudo. This
materialized in deadlocks in children.
In order to properly support fork, we will lock the allocator pre-fork
and unlock it post-fork in parent and child. This is done via a
`pthread_atfork` call installing the necessary handlers.
A couple of things suck here: this function allocates - so this has to
be done post initialization as our init path is not reentrance, and it
doesn't allow for an extra pointer - so we can't pass the allocator we
are currently working with.
In order to work around this, I added a post-init template parameter
that gets executed once the allocator is initialized for the current
thread. Its job for the C wrappers is to install the atfork handlers.
I reorganized a bit the impacted area and added some tests, courtesy of
cferris@ that were deadlocking prior to this fix.
Subscribers: jfb, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D72470
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_cpp.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_c.inc
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_c_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/bytemap.h
The file was modifiedcompiler-rt/lib/scudo/standalone/stats.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_shared.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd_exclusive.h
The file was modifiedcompiler-rt/lib/scudo/standalone/combined.h
The file was modifiedcompiler-rt/lib/scudo/standalone/quarantine.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tsd.h
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_c_bionic.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/CMakeLists.txt
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/tsd_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/wrappers_cpp_test.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/wrappers_c.cpp
Commit 013c07f697886649b068cd97127e528b4fe7c03e by ibiryukov
[Syntax] Unset IsOriginal flag on nodes removed from the tree
And add a corresponding test. Only nodes inside the TranslationUnit
subtree can be marked as original, computeReplacements() relies on this.
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
The file was modifiedclang/unittests/Tooling/Syntax/TreeTest.cpp
Commit a08c0adee072226179736c4f6caf3dd0b7a7c9af by sjoerd.meijer
[ARM][MVE] VTP Block Pass fix
Fix a missing and broken test: 2 VPT blocks predicated on the same VCMP
instruction that can be folded. The problem was that for each VPT block,
we record the predicate statements with a list, but the same instruction
was added twice. Thus, we were running in an assert trying to remove the
same instruction twice. To avoid this the instructions are now recorded
with a set.
Differential Revision: https://reviews.llvm.org/D72699
The file was addedllvm/test/CodeGen/Thumb2/mve-vpt-2-blocks-1-pred.mir
The file was modifiedllvm/lib/Target/ARM/MVEVPTBlockPass.cpp
Commit e2b8e2113a4929027a237b67f7be86db4ec103d3 by Jinsong Ji
[clang][OpenCL] Fix covered switch warning
-Werror clang build is broken now.
tools/clang/lib/Sema/OpenCLBuiltins.inc:11824:5: error: default label in
switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
   default:
We don't need default now, since all enumeration values are covered.
Reviewed By: svenvh
Differential Revision: https://reviews.llvm.org/D72707
The file was modifiedclang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Commit ab9dbc1d124cdf288474073f5233e3fd6ee8e9c3 by llvm-dev
Fix "pointer is null" clang static analyzer warnings. NFCI.
Use cast<>/castAs<> instead of dyn_cast<>/getAs<> since the pointers are
always dereferenced and cast<>/castAs<> will perform the null assertion
for us.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
Commit cfd366ba74c566038c6f417da9c9becc321fd737 by llvm-dev
Fix "pointer is null" static analyzer warnings. NFCI.
Use castAs<> instead of getAs<> since the pointer is dereferenced
immediately in all cases and castAs will perform the null assertion for
us.
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
Commit c8a14c2d4773841daa303736332d0038ead6f36a by spatel
[IR] fix potential crash in Constant::isElementWiseEqual()
There's only one user of this API currently, and it seems impossible
that it would compare values with different types.
But that's not true in general, so we need to make sure the types are
the same.
As denoted by the FIXME comments, we will also crash on FP values.
That's what brought me here, but we can make that a follow-up patch.
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/unittests/IR/ConstantsTest.cpp
Commit fd19ffc6a502f8e647696d550abb04a6c8c1b182 by Jonas Devlieghere
[lldb/Utility] Use assert instead of llvm_unreachable for LLDBAssert
llvm_unreachable is marked noreturn so the compiler can assume the code
for printing the error message in release builds isn't hit which defeats
the purpose.
The file was modifiedlldb/source/Utility/LLDBAssert.cpp
Commit 57cf6ee9c84434161088c39a6f8dd2aae14eb12d by scott.egerton
[RISCV] Add Clang frontend support for Bitmanip extension
Summary: This adds the __riscv_bitmanip macro and the 'b' target feature
to enable it.
Reviewers: asb, simoncook, lewis-revill, PaoloS, lenary
Reviewed By: lenary
Subscribers: Jim, rbar, johnrusso, sabuasal, niosHD, kito-cheng,
shiva0217, jrtc27, MaskRay, zzheng, edward-jones, rogfer01,
MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna,
pzheng, sameer.abuasal, apazos, luismarques, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71553
The file was modifiedclang/lib/Driver/ToolChains/Arch/RISCV.cpp
The file was modifiedclang/lib/Basic/Targets/RISCV.cpp
The file was modifiedclang/lib/Basic/Targets/RISCV.h
The file was modifiedclang/test/Preprocessor/riscv-target-features.c
Commit 0877843ddacca0bea049b65d8a328e5038c72b66 by aqjune
[test] Make data layout of load-bitcast64.ll explicit, use
update_test_checks.py
The file was modifiedllvm/test/Transforms/InstCombine/load-bitcast64.ll
Commit 2948ec5ca98f8593584f2117bc92fe8d75f6f098 by gribozavr
Removed PointerUnion3 and PointerUnion4 aliases in favor of the variadic
template
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/include/clang/AST/ExprObjC.h
The file was modifiedllvm/include/llvm/ADT/PointerUnion.h
The file was modifiedllvm/tools/llvm-pdbutil/InputFile.h
The file was modifiedllvm/lib/Transforms/IPO/LowerTypeTests.cpp
The file was modifiedclang/include/clang/AST/TemplateName.h
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/tools/libclang/CXCursor.h
The file was modifiedclang/unittests/CodeGen/IRMatchers.h
The file was modifiedclang/include/clang/AST/DeclTemplate.h
The file was modifiedllvm/include/llvm/Support/SourceMgr.h
The file was modifiedllvm/unittests/ADT/PointerUnionTest.cpp
Commit 40c5bd4212a51216a489fdaaf59060921d677009 by maskray
[ELF] --exclude-libs: don't assign VER_NDX_LOCAL to undefined symbols
Suggested by Peter Collingbourne.
Non-VER_NDX_GLOBAL versions should not be assigned to defined symbols.
--exclude-libs violates this and can cause a spurious error "cannot
refer to absolute symbol" after D71795.
excludeLibs incorrectly assigns VER_NDX_LOCAL to an undefined weak
symbol => isPreemptible is false => R_PLT_PC is optimized to R_PC => in
isStaticLinkTimeConstant, an error is emitted.
Reviewed By: pcc, grimar
Differential Revision: https://reviews.llvm.org/D72681
The file was modifiedlld/ELF/Driver.cpp
The file was addedlld/test/ELF/exclude-libs-undef.s
Commit 3e32b7e12701de772b1cdf855b42253650a1e997 by aqjune
[InstCombine] Let combineLoadToNewType preserve ABI alignment of the
load (PR44543)
Summary: If aligment on `LoadInst` isn't specified, load is assumed to
be ABI-aligned. And said aligment may be different for different types.
So if we change load type, but don't pay extra attention to the aligment
(i.e. keep it unspecified), we may either overpromise (if the default
aligment of the new type is higher), or underpromise (if the default
aligment of the new type is smaller).
Thus, if no alignment is specified, we need to manually preserve the
implied ABI alignment.
This addresses https://bugs.llvm.org/show_bug.cgi?id=44543 by making
combineLoadToNewType preserve ABI alignment of the load.
Reviewers: spatel, lebedev.ri
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72710
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/test/Transforms/InstCombine/load-bitcast64.ll
Commit eb23cc136b68b24e63dd765b87d1facecd622695 by diggerlin
[AIX][XCOFF] Supporting the ReadOnlyWithRel SectionKnd
SUMMARY: In this patch we put the global variable in a Csect which's
SectionKind is "ReadOnlyWithRel" into Data Section.
Reviewers: hubert.reinterpretcast,jasonliu,Xiangling_L Subscribers:
wuzish, nemanjai, hiraditya
Differential Revision: https://reviews.llvm.org/D72461
The file was addedllvm/test/CodeGen/PowerPC/aix-readonly-with-relocation.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit f7e9f4f4c50245d10ca9869a9f8f3d431dfb6948 by warren_ristow
SCC: Allow ReplaceNode to safely support insertion
If scc_iterator::ReplaceNode is inserting a new entry in the map, rather
than replacing an existing entry, the possibility of growing the map
could cause a failure.  This change safely implements the insertion.
Reviewed By: probinson
Differential Revision: https://reviews.llvm.org/D72469
The file was modifiedllvm/include/llvm/ADT/SCCIterator.h
Commit 98c54fb1feba081c509f7e389877550df130a80d by craig.topper
[X86] Directly emit a BROADCAST_LOAD from constant pool in
lowerUINT_TO_FP_vXi32 to avoid double loads seen in D71971
By directly emitting the constants as a constant pool load we seem to
avoid the build_vector/extract_subvector combines that resulted in the
duplicate loads we had before.
Differential Revision: https://reviews.llvm.org/D72307
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/X86/vec_int_to_fp.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-inttofp-256.ll
Commit 7dc4bbf8ab311606388faacca58b6c3e3e508b77 by tejohnson
[ThinLTO] Handle variable with twice promoted name (Rust)
Summary: Ensure that we can internalize values produced from two rounds
of promotion.
Note that this cannot happen currently via clang, but in other use cases
such as the Rust compiler which does a first round of ThinLTO on library
code, producing bitcode, and a second round on the final binary.
In particular this can happen if a function is exported and promoted,
ending up with a ".llvm.${hash}" suffix, and then goes through a round
of optimization creating an internal switch table expansion variable
that is internal and contains the promoted name of the enclosing
function. This variable will be promoted in the second round of ThinLTO
if @foo is imported again, and therefore ends up with two
".llvm.${hash}" suffixes. Only the final one should be stripped when
consulting the index to locate the summary.
Reviewers: wmi
Subscribers: mehdi_amini, inglorion, hiraditya, JDevlieghere, steven_wu,
dexonsmith, arphaman, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72711
The file was addedllvm/test/ThinLTO/X86/thinlto-internalize-doublepromoted.ll
The file was modifiedllvm/include/llvm/IR/ModuleSummaryIndex.h
The file was addedllvm/test/ThinLTO/X86/Inputs/thinlto-internalize-doublepromoted.ll
Commit bec1b55c64cf33d5f33c8cb7cc10d02e25811bef by maskray
[ELF] Delete the RelExpr member R_HINT. NFC
R_HINT is ignored like R_NONE. There are no strong reasons to keep
R_HINT. The largest RelExpr member R_RISCV_PC_INDIRECT is 60 now.
Differential Revision: https://reviews.llvm.org/D71822
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/ELF/Arch/ARM.cpp
The file was modifiedlld/ELF/Relocations.h
Commit 2cefb93951cca01dcdde6fe5c7354dc8bcd796d6 by tejohnson
[ThinLTO/WPD] Remove an overly-aggressive assert
Summary: An assert added to the index-based WPD was trying to verify
that we only have multiple vtables for a given guid when they are all
non-external linkage. This is too conservative because we may have
multiple external vtable with the same guid when they are in comdat.
Remove the assert, as we don't have comdat information in the index, the
linker should issue an error in this case.
See discussion on D71040 for more information.
Reviewers: evgeny777, aganea
Subscribers: mehdi_amini, inglorion, hiraditya, steven_wu, dexonsmith,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72648
The file was addedllvm/test/ThinLTO/X86/Inputs/devirt_external_comdat_same_guid.ll
The file was addedllvm/test/ThinLTO/X86/devirt_external_comdat_same_guid.ll
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Commit cd800f3b226b25142f233beca846715fc601809b by lewis-revill
[RISCV] Allow shrink wrapping for RISC-V
Enabling shrink wrapping requires ensuring the insertion point of the
epilogue is correct for MBBs without a terminator, in which case the
instruction to adjust the stack pointer is the last instruction in the
block.
Differential Revision: https://reviews.llvm.org/D62190
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was addedllvm/test/CodeGen/RISCV/shrinkwrap.ll
Commit 36fcbb838c8f293f46bfed78c6ed8c177f1e3485 by aaron
Added readability-qualified-auto check
Adds a check that detects any auto variables that are deduced to a
pointer or a const pointer then adds in the const and asterisk
according. Will also check auto L value references that could be written
as const. This relates to the coding standard
https://llvm.org/docs/CodingStandards.html#beware-unnecessary-copies-with-auto
The file was addedclang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.h
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-qualified-auto.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/CMakeLists.txt
The file was addedclang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-qualified-auto-cxx20.cpp
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/llvm-qualified-auto.rst
The file was modifiedclang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/readability-qualified-auto.rst
Commit 527f5a471eac75fd7d6ed48bd1e242ef8ea98dd0 by llvmgnsyncbot
[gn build] Port 36fcbb838c8
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
Commit ab72db7fc85266f094cc6b9452dd01f175c04cab by stilis
[lldb/test] test_breakpoints_func_full from
TestNamespace.NamespaceBreakpointTestCase is now passing on Windows
After https://reviews.llvm.org/D70846, the test is now passing on
Windows
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/namespace/TestNamespace.py
Commit b777e551f044bbc7245a0b535e46000469479ff6 by jay.foad
[MachineScheduler] Reduce reordering due to mem op clustering
Summary: Mem op clustering adds a weak edge in the DAG between two loads
or stores that should be clustered, but the direction of this edge is
pretty arbitrary (it depends on the sort order of MemOpInfo, which
represents the operands of a load or store). This often means that two
loads or stores will get reordered even if they would naturally have
been scheduled together anyway, which leads to test case churn and goes
against the scheduler's "do no harm" philosophy.
The fix makes sure that the direction of the edge always matches the
original code order of the instructions.
Reviewers: atrick, MatzeB, arsenm, rampitec, t.p.northover
Subscribers: jvesely, wdng, nhaehnle, kristof.beyls, hiraditya,
javed.absar, arphaman, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72706
The file was modifiedllvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-stp-cluster.ll
The file was modifiedllvm/test/CodeGen/AArch64/machine-scheduler.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_read2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/shift-i128.ll
The file was modifiedllvm/lib/CodeGen/MachineScheduler.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/insert-subvector-unused-scratch.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/kernel-args.ll
The file was modifiedllvm/test/CodeGen/AArch64/global-merge-group-by-use.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-memset-inline.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/byval-frame-setup.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/max.i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vgpr-descriptor-waterfall-loop-idom-update.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
The file was modifiedllvm/test/CodeGen/AArch64/expand-select.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/bitcast-constant-to-vector.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
Commit 57cb4685140284907d16673b555fd62307b4cd76 by spatel
[InstCombine] add test for possible cast-of-select transform; NFC
The file was modifiedllvm/test/Transforms/InstCombine/trunc.ll
Commit 88b8cb7215d4333ab990c99f21c7f92262ef02ef by alexandre.ganea
Fix NetBSD bot after b4a99a061f517e60985667e39519f60186cbb469
([Clang][Driver] Re-use the calling process instead of creating a new
process for the cc1 invocation)
The file was modifiedclang/test/Driver/cc1-spawnprocess.c
Commit 2d287bec3c5b63b7df9946163ba02987858b1736 by jonathanchesterfield
[nfc][libomptarget] Refactor amdgcn target_impl
Summary:
[nfc][libomptarget] Refactor amdgcn target_impl
Removes references to internal libraries from the header Standardises on
C++ mangling for all the target_impl functions Update comment block
clang-format Move some functions into a new target_impl.hip source file
This lays the groundwork for implementing the remaining unresolved
symbols in the target_impl.hip source.
Reviewers: jdoerfert, grokos, ABataev, ronlieb
Reviewed By: jdoerfert
Subscribers: jvesely, mgorny, jfb, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D72712
The file was addedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.hip
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
Commit 2a43688a0a074a70e395491fa0c3cdb4556ccea4 by jonathanchesterfield
[nfc][libomptarget] Refactor nvptx/target_impl.cu
Summary:
[nfc][libomptarget] Refactor nxptx/target_impl.cu
Use __kmpc_impl_atomic_add instead of atomicAdd to match the rest of the
file. Alternatively, target_impl.cu could use the cuda functions
directly. Using a mixture in this file was an oversight, happy to
resolve in either direction.
Removed some comments that look outdated.
Call __kmpc_impl_unset_lock directly to avoid a redundant diagnostic and
remove an implict dependency on interface.h.
Reviewers: ABataev, grokos, jdoerfert
Reviewed By: jdoerfert
Subscribers: jfb, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D72719
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.cu
Commit fa632340938cc02e03262e1318cb06b34c32f5fe by nikita.ppv
[InstCombine] Add test for iterator invalidation bug; NFC
The file was addedllvm/test/Transforms/InstCombine/bitcast-phi-uselistorder.ll
Commit 652cd7c1007aa5a13ad9864fadc939c5710c5199 by nikita.ppv
[InstCombine] Fix user iterator invalidation in bitcast of phi transform
This fixes the issue encountered in D71164. Instead of using a
range-based for, manually iterate over the users and advance the
iterator beforehand, so we do not skip any users due to iterator
invalidation.
Differential Revision: https://reviews.llvm.org/D72657
The file was modifiedllvm/test/Transforms/InstCombine/bitcast-phi-uselistorder.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit b4dd928ffbb8232d6909b640d3affcd531681ffb by nikita.ppv
[InstCombine] Make combineLoadToNewType a method; NFC
So it can be reused as part of other combines. In particular for D71164.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineInternal.h
Commit 65c0805be523445d7ad0f12e90f53648e1ae9f84 by nikita.ppv
[InstCombine] Fix infinite loop due to bitcast <-> phi transforms
Fix for https://bugs.llvm.org/show_bug.cgi?id=44245.
The optimizeBitCastFromPhi() and FoldPHIArgOpIntoPHI() end up fighting
against each other, because optimizeBitCastFromPhi() assumes that
bitcasts of loads will get folded. This doesn't happen here, because a
dangling phi node prevents the one-use fold in
https://github.com/llvm/llvm-project/blob/master/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp#L620-L628
from triggering.
This patch fixes the issue by explicitly performing the load combine as
part of the bitcast of phi transform. Other attempts to force the load
to be combined first were ultimately too unreliable.
Differential Revision: https://reviews.llvm.org/D71164
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was addedllvm/test/Transforms/InstCombine/pr44245.ll
Commit 48bad08aa3b3bf6ad5dabe858fa655a623757395 by a.bataev
[OPENMP]Improve handling of possibly incorrectly mapped types.
Need to analayze the type of the expression for mapping, not the type of
the declaration.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/target_map_messages.cpp
Commit 410331869defbde0f6e5b7b3f8ee30c10b7f6be3 by nikita.ppv
[NewPM] Port MergeFunctions pass
This ports the MergeFunctions pass to the NewPM. This was rather
straightforward, as no analyses are used.
Additionally MergeFunctions needs to be conditionally enabled in the
PassBuilder, but I left that part out of this patch.
Differential Revision: https://reviews.llvm.org/D72537
The file was modifiedllvm/lib/Transforms/IPO/MergeFunctions.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/test/Transforms/MergeFunc/merge-block-address.ll
The file was addedllvm/include/llvm/Transforms/IPO/MergeFunctions.h
The file was modifiedllvm/lib/Transforms/IPO/IPO.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
Commit 2d4571bf3060f8f3d8417a0ec55e21a280158069 by protze
[OpenMP][Tool] Runtime warning for missing TSan-option
TSan spuriously reports for any OpenMP application a race on the
initialization of a runtime internal mutex:
``` Atomic read of size 1 at 0x7b6800005940 by thread T4:
#0 pthread_mutex_lock <null> (a.out+0x43f39e)
#1 __kmp_resume_64 <null> (libomp.so.5+0x84db4)
Previous write of size 1 at 0x7b6800005940 by thread T7:
#0 pthread_mutex_init <null> (a.out+0x424793)
#1 __kmp_suspend_initialize_thread <null> (libomp.so.5+0x8422e)
```
According to @AndreyChurbanov this is a false positive report, as the
control flow of the runtime guarantees the ordering of the mutex
initialization and the lock:
https://software.intel.com/en-us/forums/intel-open-source-openmp-runtime-library/topic/530363
To suppress this report, I suggest the use of
TSAN_OPTIONS='ignore_uninstrumented_modules=1'. With this patch, a
runtime warning is provided in case an OpenMP application is built with
Tsan and executed without this Tsan-option.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D70412
The file was modifiedopenmp/CREDITS.txt
The file was modifiedopenmp/tools/archer/ompt-tsan.cpp
Commit 5d1b3ba687690bbb37f911f66a2c2c5f19d60032 by maskray
[Driver] Ignore -fno-semantic-interposition
Fedora wants to build projects with -fno-semantic-interposition (e.g.
https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup),
which is supported by GCC>=5.
Clang's current behavior is similar to -fno-semantic-interposition and
the end goal is to make it more so
(https://lists.llvm.org/pipermail/llvm-dev/2016-November/107625.html).
Ignore this option.
We should let users know -fsemantic-interposition is not currently
supported, so it should remain a hard error.
Reviewed By: serge-sans-paille
Differential Revision: https://reviews.llvm.org/D72724
The file was modifiedclang/test/Driver/clang_f_opts.c
The file was modifiedclang/include/clang/Driver/Options.td
Commit 26d96126a0d258afccfeec1fbaa727bfeb820308 by danilo.carvalho.grael
[SVE] Add patterns for MUL immediate instruction.
Summary: Add the missing MUL pattern for integer immediate instructions.
Reviewers: sdesmalen, huntergr, efriedma, c-rhodes, kmclaughlin
Subscribers: tschuett, hiraditya, rkruppe, psnobl, llvm-commits, amehsan
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72654
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
The file was addedllvm/test/CodeGen/AArch64/sve-neg-int-arith-imm.ll
The file was addedllvm/test/CodeGen/AArch64/sve-neg-int-arith-imm-2.ll
Commit 337e4359645ebd0f35136dbec9b51c48b9071f9c by martin
[libcxx] [Windows] Make a more proper implementation of strftime_l for
mingw with msvcrt.dll
This also makes this function consistent with the rest of the libc++
provided fallbacks.
The locale support in msvcrt.dll is very limited anyway; it can only be
configured processwide, not per thread, and it only seems to support the
locales "C" and "" (the user set locale), so it's hard to make any
meaningful automatic test for it. But manually tested, this change does
make time formatting locale code in libc++ output times in the user
requested format, when using locale "".
Differential Revision: https://reviews.llvm.org/D69554
The file was modifiedlibcxx/include/support/win32/locale_win32.h
The file was modifiedlibcxx/src/support/win32/locale_win32.cpp
Commit b53d44b17a1685e405415cd32c4b6eb89cc4c3a1 by Adrian Prantl
dotest.py: Add option to pass extra lldb settings to dotest
The primary motivation for this is to add another dimension to the Swift
LLDB test matrix, but this seems generally useful.
Differential Revision: https://reviews.llvm.org/D72662
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/packages/Python/lldbsuite/test/configuration.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py
Commit 5ee616a710bcb52cf9f1f7951644d098d38e7b6a by jranieri
[analyzer] Fix SARIF column locations
Differential revision: https://reviews.llvm.org/D70689
The file was modifiedclang/test/Analysis/diagnostics/sarif-multi-diagnostic-test.c
The file was modifiedclang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif
The file was modifiedclang/test/Analysis/diagnostics/Inputs/expected-sarif/sarif-multi-diagnostic-test.c.sarif
The file was modifiedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
Commit 651128f557229e79598e22102edb7fad3bf288c0 by akhuang
[DebugInfo] Add option to clang to limit debug info that is emitted for
classes.
Summary: This patch adds an option to limit debug info by only emitting
complete class type information when its constructor is emitted. This
applies to classes that have nontrivial user defined constructors.
I implemented the option by adding another level to `DebugInfoKind`, and
a flag `-flimit-debug-info-constructor`.
Total object file size on Windows, compiling with RelWithDebInfo:
before: 4,257,448 kb
after:  2,104,963 kb
And on Linux
before: 9,225,140 kb
after:  4,387,464 kb
According to the Windows clang.pdb files, here is a list of types that
are no longer complete with this option enabled:
https://reviews.llvm.org/P8182
Reviewers: rnk, dblaikie
Subscribers: aprantl, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D72427
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was addedclang/test/CodeGenCXX/debug-info-limited-ctor.cpp
Commit 04e586151e7987089d760662126e247012431e90 by nikita.ppv
[InstCombine] Fix worklist management when removing guard intrinsic
When multiple guard intrinsics are merged into one, currently the result
of eraseInstFromFunction() is returned -- however, this should only be
done if the current instruction is being removed. In this case we're
removing a different instruction and should instead report that the
current one has been modified by returning it.
For this test case, this reduces the number of instcombine iterations
from 5 to 2 (the minimum possible).
Differential Revision: https://reviews.llvm.org/D72558
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/call-guard.ll
Commit 986202fad41529af8288aca54f2ff62d4c501d71 by Jan Korous
[clang][test][NFC] Use more widely supported sanitizer for file
dependency tests
The tests aren't concerned at all by the actual sanitizer - only by
blacklist being reported as a dependency. We're unfortunately limited by
platform support for any particular sanitizer but we can at least use
one that is widely supported.
Post-commit review: https://reviews.llvm.org/D72729
The file was modifiedclang/test/Frontend/dependency-gen.c
The file was removedclang/test/Frontend/Inputs/resource_dir_with_cfi_blacklist/share/cfi_blacklist.txt
The file was addedclang/test/Frontend/Inputs/resource_dir_with_sanitizer_blacklist/share/ubsan_blacklist.txt
Commit fe37d9ecaabda4f9948f35bb20c1a13687a7eaca by fedor.sergeev
[GVN] fix comment/argument name to match actual implementation. NFC
The file was modifiedllvm/include/llvm/Transforms/Scalar/GVN.h
Commit 9ee90ea55c1656b75e40f595dc351fbf667f5b79 by craig.topper
[LegalizeTypes] Remove untested code from ExpandIntOp_UINT_TO_FP
This code is untested in tree because the
"APFloat::semanticsPrecision(sem) >= SrcVT.getSizeInBits() - 1" check is
false for most combinations for int and fp types except maybe i32 and
f64. For that you would need i32 to be an illegal type, but f64 to be
legal and have custom handling for legalizing the split sint_to_fp. The
precision check itself was added in 2010 to fix a double rounding issue
in the algorithm that would occur if the sint_to_fp was not able to do
the conversion without rounding.
Differential Revision: https://reviews.llvm.org/D72728
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
Commit 1ca51c06729d7f7326fcc2a826e07d1c92158dfd by maskray
[Driver][test] Fix Driver/hexagon-toolchain-elf.c for
-DCLANG_DEFAULT_LINKER=lld builds
Reviewed By: nathanchance, sidneym
Differential Revision: https://reviews.llvm.org/D72668
The file was modifiedclang/test/Driver/hexagon-toolchain-elf.c
Commit 6078f2fedcac5797ac39ee5ef3fd7a35ef1202d5 by Amara Emerson
[AArch64][GlobalISel]: Support @llvm.{return,frame}address selection.
These intrinsics expand to a variable number of instructions so just
like in ISelLowering.cpp we use custom code to deal with them.
Committing Tim's original patch.
Differential Revision: https://reviews.llvm.org/D65656
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-frameaddr.ll
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/select-returnaddr.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
Commit a3490e3e3d38d502179329f76138d96c5b2bab88 by michael.hliao
Remove trailing `;`. NFC.
The file was modifiedclang/lib/Tooling/Syntax/Tree.cpp
Commit 1bd14ce39293df61888042916a7e43b9e502a4de by riverriddle
[mlir] Use double format when parsing bfloat16 hexadecimal values
Summary: bfloat16 doesn't have a valid APFloat format, so we have to use
double semantics when storing it. This change makes sure that
hexadecimal values can be round-tripped properly given this fact.
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D72667
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/lib/Parser/Parser.cpp
Commit a48600c0a653d34f4af760f117755ed1776adf9d by a.bataev
[OPENMP]Do not emit special virtual function for NVPTX target.
There are no special virtual function handlers (like __cxa_pure_virtual)
defined for NVPTX target, so just emit such functions as null pointers
to prevent issues with linking and unresolved references.
The file was modifiedclang/lib/CodeGen/CGVTables.cpp
The file was addedclang/test/OpenMP/nvptx_target_pure_deleted_codegen.cpp
Commit 8d07f8d98c48ee0a9dca450aaf4e1cabc621ff68 by michael.hliao
[DAGCombine] Replace `getIntPtrConstant()` with `getVectorIdxTy()`.
- Prefer `getVectorIdxTy()` as the index operand type for
`EXTRACT_SUBVECTOR` as targets expect different types by overloading
`getVectorIdxTy()`.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was addedllvm/test/CodeGen/AMDGPU/extract-subvector.ll
Commit f52d71736b10e87b1aa1880b777dc9462a0085ce by ntv
[mlir][Linalg] Update the semantics, verifier and test for Linalg with
tensors.
Summary: This diff fixes issues with the semantics of linalg.generic on
tensors that appeared when converting directly from HLO to
linalg.generic. The changes are self-contained within MLIR and can be
captured and tested independently of XLA.
The linalg.generic and indexed_generic are updated to:
To allow progressive lowering from the value world (a.k.a tensor values)
to the buffer world (a.k.a memref values), a linalg.generic op accepts
mixing input and output ranked tensor values with input and output
memrefs.
```
%1 = linalg.generic #trait_attribute %A, %B {other-attributes} :
tensor<?x?xf32>,
memref<?x?xf32, stride_specification>
-> (tensor<?x?xf32>)
```
In this case, the number of outputs (args_out) must match the sum of (1)
the number of output buffer operands and (2) the number of tensor return
values. The semantics is that the linalg.indexed_generic op produces
(i.e. allocates and fills) its return values.
Tensor values must be legalized by a buffer allocation pass before most
transformations can be applied. Such legalization moves tensor return
values into output buffer operands and updates the region argument
accordingly.
Transformations that create control-flow around linalg.indexed_generic
operations are not expected to mix with tensors because SSA values do
not escape naturally. Still, transformations and rewrites that take
advantage of tensor SSA values are expected to be useful and will be
added in the near future.
Subscribers: bmahjour, mehdi_amini, rriddle, jpienaar, burmako,
shauheen, antiagainst, arpith-jacob, mgester, lucyrfox, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72555
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Analysis/DependenceAnalysis.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgTransforms.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/LinalgToLoops.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/Utils/Utils.h
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
Commit 729530f68fe135ad41d470fbed019cc5e31ac8a5 by l.lunak
-fmodules-codegen should not emit extern templates
If a header contains 'extern template', then the template should be
provided somewhere by an explicit instantiation, so it is not necessary
to generate a copy. Worse, this can lead to an unresolved symbol,
because the codegen's object file will not actually contain functions
from such a template because of the GVA_AvailableExternally, but the
object file for the explicit instantiation will not contain them either
because it will be blocked by the information provided by the module.
Differential Revision: https://reviews.llvm.org/D69779
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was addedclang/test/Modules/codegen-extern-template.h
The file was addedclang/test/Modules/codegen-extern-template.cpp
The file was addedclang/test/Modules/codegen-extern-template.modulemap
Commit b5b2cf7af47f1ca04635dae7b787c8a81d5af4c9 by l.lunak
fix recent -fmodules-codegen fix test
The file was removedclang/test/Modules/codegen-extern-template.modulemap
The file was addedclang/test/Modules/Inputs/codegen-extern-template.modulemap
The file was modifiedclang/test/Modules/codegen-extern-template.cpp
Commit cbc9d22e49b434b6ceb2eb94b67079d02e0a7b74 by l.lunak
make -fmodules-codegen and -fmodules-debuginfo work also with PCHs
Allow to build PCH's (with -building-pch-with-obj and the extra .o file)
with -fmodules-codegen -fmodules-debuginfo to allow emitting shared code
into the extra .o file, similarly to how it works with modules. A bit of
a misnomer, but the underlying functionality is the same. This saves up
to 20% of build time here.
Differential Revision: https://reviews.llvm.org/D69778
The file was addedclang/test/PCH/codegen.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/Modules/Inputs/codegen-flags/foo.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
Commit 20c6e0749461147df19a3b126d1a48106c63c351 by riverriddle
[mlir] Enable printing of FuncOp in the generic form.
Summary: This was previously disabled as FunctionType TypeAttrs could
not be roundtripped in the IR. This has been fixed, so we can now
generically print FuncOp.
Depends On D72429
Reviewed By: jpienaar, mehdi_amini
Differential Revision: https://reviews.llvm.org/D72642
The file was modifiedmlir/test/IR/wrapping_op.mlir
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
Commit 23058f9dd4d7e18239fd63b6da52549514b45fda by a.bataev
[OPENMP]Do not use RTTI by default for NVPTX devices.
NVPTX does not support RTTI, so disable it by default.
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was addedclang/test/Driver/openmp-offload-gpu.cpp
Commit fa9dd8336bbd1167926f93fe2018d0c47839d5d6 by riverriddle
[mlir] Refactor ModuleState into AsmState and expose it to users.
Summary: This allows for users to cache printer state, which can be
costly to recompute. Each of the IR print methods gain a new overload
taking this new state class.
Depends On D72293
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D72294
The file was addedmlir/include/mlir/IR/AsmState.h
The file was modifiedmlir/include/mlir/IR/Block.h
The file was modifiedmlir/include/mlir/IR/Module.h
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/include/mlir/IR/OpDefinition.h
The file was modifiedmlir/include/mlir/IR/Value.h
The file was modifiedmlir/include/mlir/IR/Operation.h
Commit 60d39479221d6bc09060f7816bcd7c54eb286603 by xur
[remark][diagnostics] Using clang diagnostic handler for IR input files
For IR input files, we currently use LLVM diagnostic handler even the
compilation is from clang. As a result, we are not able to use -Rpass to
get the transformation reports. Some warnings are not handled properly
either: We found many mysterious warnings in our ThinLTO backend
compilations in SamplePGO and CSPGO. An example of the warning:
"warning: net/proto2/public/metadata_lite.h:51:21: 0.02% (1 / 4999)"
This turns out to be a warning by Wmisexpect, which is supposed to be
filtered out by default. But since the filter is in clang's diagnostic
hander, we emit these incomplete warnings from LLVM's diagnostic
handler.
This patch uses clang diagnostic handler for IR input files. We create a
fake backendconsumer just to install the diagnostic handler.
With this change, we will have proper handling of all the warnings and
we can use -Rpass* options in IR input files compilation. Also note that
with is patch, LLVM's diagnostic options, like
"-mllvm -pass-remarks=*", are no longer be able to get optimization
remarks.
Differential Revision: https://reviews.llvm.org/D72523
The file was modifiedclang/lib/CodeGen/CodeGenAction.cpp
The file was modifiedclang/test/CodeGen/thinlto-diagnostic-handler-remarks-with-hotness.ll
The file was addedclang/test/CodeGen/thinlto-clang-diagnostic-handler-in-be.c
The file was addedclang/test/CodeGen/Inputs/thinlto_expect2.proftext
The file was addedclang/test/CodeGen/Inputs/thinlto_expect1.proftext
Commit 47c6ab2b97773ee5fb360fc093a5824be64b8c68 by antiagainst
[mlir][spirv] Properly support SPIR-V conversion target
This commit defines a new SPIR-V dialect attribute for specifying a
SPIR-V target environment. It is a dictionary attribute containing the
SPIR-V version, supported extension list, and allowed capability list. A
SPIRVConversionTarget subclass is created to take in the target
environment and sets proper dynmaically legal ops by querying the op
availability interface of SPIR-V ops to make sure they are available in
the specified target environment. All existing conversions targeting
SPIR-V is changed to use this SPIRVConversionTarget. It probes whether
the input IR has a `spv.target_env` attribute, otherwise, it uses the
default target environment: SPIR-V 1.0 with Shader capability and no
extra extensions.
Differential Revision: https://reviews.llvm.org/D72256
The file was modifiedmlir/docs/Dialects/SPIR-V.md
The file was addedmlir/test/Dialect/SPIRV/target-env.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVLowering.h
The file was modifiedmlir/include/mlir/Dialect/SPIRV/TargetAndABI.h
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/ConvertStandardToSPIRVPass.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVDialect.cpp
The file was modifiedmlir/test/Dialect/SPIRV/target-and-abi.mlir
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVLowering.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/ConvertGPUToSPIRVPass.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/TargetAndABI.cpp
The file was modifiedmlir/test/Dialect/SPIRV/TestAvailability.cpp
The file was modifiedmlir/include/mlir/Dialect/SPIRV/TargetAndABI.td
Commit 01a4b83154760ea286117ac4de9576b8a215cb8d by michael.hliao
[codegen,amdgpu] Enhance MIR DIE and re-arrange it for AMDGPU.
Summary:
- `dead-mi-elimination` assumes MIR in the SSA form and cannot be
arranged after phi elimination or DeSSA. It's enhanced to handle the
dead register definition by skipping use check on it. Once a register
def is `dead`, all its uses, if any, should be `undef`.
- Re-arrange the DIE in RA phase for AMDGPU by placing it directly after
`detect-dead-lanes`.
- Many relevant tests are refined due to different register assignment.
Reviewers: rampitec, qcolombet, sunfish
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl,
dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D72709
The file was modifiedllvm/lib/CodeGen/DeadMachineInstructionElim.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/bswap.ll
The file was addedllvm/test/CodeGen/AMDGPU/dead-machine-elim-after-dead-lane.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/loop_break.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/select.f16.ll
The file was removedllvm/test/CodeGen/AMDGPU/dead-mi-use-same-intr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-vgpr-to-agpr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll
Commit e244145ab08ae79ea3d22c2fe479ec084dbd7742 by georgios.rokos
[LIBOMPTARGET] Do not increment/decrement the refcount for "declare
target" objects
The reference counter for global objects marked with declare target is
INF. This patch prevents the runtime from incrementing /decrementing INF
refcounts. Without it, the map(delete: global_object) directive actually
deallocates the global on the device. With this patch, such a directive
becomes a no-op.
Differential Revision: https://reviews.llvm.org/D72525
The file was modifiedopenmp/libomptarget/src/omptarget.cpp
The file was modifiedopenmp/libomptarget/src/device.h
The file was addedopenmp/libomptarget/test/mapping/delete_inf_refcount.c
The file was modifiedopenmp/libomptarget/src/device.cpp
Commit c9ee5e996e3c89a751a35e8b771870e0ec24f3c0 by xur
Fix windows bot failures in c410adb092c9cb51ddb0b55862b70f2aa8c5b16f
(clang diagnostic handler for IR input files)
The file was modifiedclang/test/CodeGen/thinlto-clang-diagnostic-handler-in-be.c