SuccessChanges

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

Summary

  1. Revert "[ASTImporter] Friend class decl should not be visible in its (details)
  2. [SDAG] remove use restriction in isNegatibleForFree() when called from (details)
  3. Revert "[SDAG] remove use restriction in isNegatibleForFree() when (details)
  4. [SDAG] adjust isNegatibleForFree calculation to avoid crashing (details)
  5. [AMDGPU] Fix typo in SIInstrInfo::memOpsHaveSameBasePtr (details)
  6. [objc_direct] fix uniquing when re-declaring a readwrite-direct property (details)
  7. llvm-diff: Perform structural comparison on GlobalVariables, if possible (details)
  8. [Clang FE, SystemZ]  Recognize -mpacked-stack CL option (details)
  9. [WebAssembly] Convert MC tests to from bitcode to asm (details)
  10. [Attributor][NFC] Add test for sle comparison in h2s. (details)
  11. [Attributor] H2S fix. (details)
  12. [LIBOPENMP][NVPTX]Fix the build error in the runtime. (details)
  13. [OPENMP50]Add parsing/sema analysis for nontemporal clause. (details)
  14. [FPEnv] Remove unnecessary rounding mode argument for constrained (details)
  15. [perf-training] Change profile file pattern string to use %4m instead of (details)
  16. Recommit "[DebugInfo] Refactored macro related generation, added a test (details)
  17. [Frontend] Fixes -Wrange-loop-analysis warnings (details)
  18. [Sema] Fixes -Wrange-loop-analysis warnings (details)
  19. [Driver] Avoid copies in range-based for loops (details)
  20. [IR] Use a reference in a range-based for (details)
  21. Fix buildbot failures after removing REQUIRES-ANY (details)
  22. AMDGPU/SILoadStoreOptimillzer: Refactor CombineInfo struct (details)
  23. [AIX] Avoid unset csect assert for functions defined after their use in (details)
  24. [LoopFusion] Move instructions from FC0.Latch to FC1.Latch. (details)
  25. [driver][darwin] Use explicit -mlinker-version in the -platform_version (details)
  26. [FPEnv][LegalizeTypes][LegalizeDAG][AArch64] Few fixes/improvements for (details)
  27. [analysis] Discard type qualifiers when casting values retrieved from (details)
  28. Revert "[ MC ] Match labels to existing fragments even when switching (details)
  29. [WebAssembly] Implement SIMD {i8x16,i16x8}.avgr_u instructions (details)
  30. [AMDGPU] Fixed cost model for packed 16 bit ops (details)
  31. [FPEnv][LegalizeTypes] Make ScalarizeVecOp_STRICT_FP_ROUND do its own (details)
  32. [AArch64][GlobalISel]: Fix a crash in GlobalIsel in dealing with 16bit (details)
  33. [X86] Manually format some setOperationAction calls to line up arguments (details)
  34. Temporarily Revert "[gicombiner] Add the MatchDag structure and parse (details)
  35. gn build: Merge e62e760f295 (details)
  36. [PowerPC] Add missing legalization for vector BSWAP (details)
  37. [docs] Remove `git llvm push` and `git llvm revert` from GettingStarted (details)
  38. [ELF] Fix a comment. NFC (details)
  39. [unwind] Don't link libpthread and libdl on Fuchsia (details)
  40. [CFG] Add an option to expand CXXDefaultInitExpr into aggregate (details)
  41. [X86] Add strict fma support (details)
  42. [X86] Add calculation for elements in structures in getting uniform base (details)
Commit 55c55f8eb86ba3e77fe73ccdf7c861e2c2c7ae92 by thakis
Revert "[ASTImporter] Friend class decl should not be visible in its
context"
This reverts commit 4becf68c6f17fe143539ceac954b21175914e1c1. Breaks
building on Windows, see comments on D71020
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit 36b1232ec5f370ab9fe8fcff0458d2fca5ca9b7f by spatel
[SDAG] remove use restriction in isNegatibleForFree() when called from
getNegatedExpression()
This is an alternate fix for the bug discussed in D70595. This also
includes minimal tests for other in-tree targets to show the problem
more generally.
We check the number of uses as a predicate for whether some value is
free to negate, but that use count can change as we rewrite the
expression in getNegatedExpression(). So something that was marked free
to negate during the cost evaluation phase becomes not free to negate
during the rewrite phase (or the inverse - something that was not free
becomes free). This can lead to a crash/assert because we expect that
everything in an expression that is negatible to be handled in the
corresponding code within getNegatedExpression().
This patch adds a hack to work-around the case where we probably no
longer detect that either multiply operand of an FMA isNegatibleForFree
which is assumed to be true when we started rewriting the expression.
Differential Revision: https://reviews.llvm.org/D70975
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fmadd.ll
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine-2.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 5b0251da1c7aeaa641955974e7961e1fb07af9e0 by spatel
Revert "[SDAG] remove use restriction in isNegatibleForFree() when
called from getNegatedExpression()"
This reverts commit 36b1232ec5f370ab9fe8fcff0458d2fca5ca9b7f. Need to
adjust commit message - that was a leftover from the earlier version.
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fmadd.ll
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine-2.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 6a77e369755e59b92ac5b689a010bd0796810e35 by spatel
[SDAG] adjust isNegatibleForFree calculation to avoid crashing
This is an alternate fix for the bug discussed in D70595. This also
includes minimal tests for other in-tree targets to show the problem
more generally.
We check the number of uses as a predicate for whether some value is
free to negate, but that use count can change as we rewrite the
expression in getNegatedExpression(). So something that was marked free
to negate during the cost evaluation phase becomes not free to negate
during the rewrite phase (or the inverse - something that was not free
becomes free). This can lead to a crash/assert because we expect that
everything in an expression that is negatible to be handled in the
corresponding code within getNegatedExpression().
This patch adds a hack to work-around the case where we probably no
longer detect that either multiply operand of an FMA isNegatibleForFree
which is assumed to be true when we started rewriting the expression.
Differential Revision: https://reviews.llvm.org/D70975
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine-2.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-fmadd.ll
Commit 0412f518dcb05216d2321c28366eb760b65baebc by jay.foad
[AMDGPU] Fix typo in SIInstrInfo::memOpsHaveSameBasePtr
Summary: The typo has been present since memOpsHaveSameBasePtr was
introduced in r313208.
It caused SIInstrInfo::shouldClusterMemOps to cluster more mem ops than
it was supposed to.
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl,
dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71616
The file was modifiedllvm/test/CodeGen/AMDGPU/trunc-combine.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sub.v2i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/madak.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4u.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ctpop.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fadd.f16.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/shl_add_ptr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wait.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/add.i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/max.i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sub.i16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ctpop16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/global_smrd.ll
Commit a4e1819c16836dba928e646024a2406bb2eb3f94 by Alex Lorenz
[objc_direct] fix uniquing when re-declaring a readwrite-direct property
ObjCMethodDecl::getCanonicalDecl() for re-declared readwrite properties,
only looks in the ObjCInterface for the declaration of the setter
method, which it won't find.
When the method is a property accessor, we must look in extensions for a
possible redeclaration.
Radar-Id: rdar://problem/57991337
Differential Revision: https://reviews.llvm.org/D71588
The file was modifiedclang/test/CodeGenObjC/direct-method.m
The file was modifiedclang/lib/AST/DeclObjC.cpp
Commit 79b4c897b8ea5d28af1a2455c7409fc0df803079 by d.c.ddcc
llvm-diff: Perform structural comparison on GlobalVariables, if possible
Summary: Names of GlobalVariables may not be preserved depending on
compilation options, so prefer a structural diff
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71582
The file was modifiedllvm/tools/llvm-diff/DifferenceEngine.cpp
Commit 599d1cc07a51e9a556afa2a995930f7ffe0e42cd by paulsson
[Clang FE, SystemZ]  Recognize -mpacked-stack CL option
Recognize -mpacked-stack from the command line and add a function
attribute
"mpacked-stack" when passed. This is needed for building the Linux
kernel.
If this option is passed for any other target than SystemZ, an error is
generated.
Review: Ulrich Weigand https://reviews.llvm.org/D71441
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was addedclang/test/CodeGen/packed-stack.c
The file was modifiedclang/include/clang/Driver/Options.td
Commit 8aee6b414a8918993e9ae4cdabe67322ec0f6e63 by sbc
[WebAssembly] Convert MC tests to from bitcode to asm
Now that our `.s` format is stable(ish) and useable we should really
convert all our MC and lld tests over to .s format to match other
targets.
This is a test PR that just converts 2 of our MC tests to see what it
might look like.
Differential Revision: https://reviews.llvm.org/D71506
The file was removedllvm/test/MC/WebAssembly/weak.ll
The file was removedllvm/test/MC/WebAssembly/weak-alias.ll
The file was addedllvm/test/MC/WebAssembly/weak-alias.s
The file was addedllvm/test/MC/WebAssembly/weak.s
Commit d020e67575d9806d318787eec9d71828eab8f57a by sstipanovic
[Attributor][NFC] Add test for sle comparison in h2s.
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
Commit fff8ec98139379968cc7cebb71d771cf58a39a5c by sstipanovic
[Attributor] H2S fix.
Summary: Fixing issues that were noticed in D71521
Reviewers: jdoerfert, lebedev.ri, uenoku
Subscribers:
Differential Revision: https://reviews.llvm.org/D71564
The file was modifiedllvm/test/Transforms/Attributor/heap_to_stack.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 15d47deedd1623289ef8f56cabd44bc2592745ac by a.bataev
[LIBOPENMP][NVPTX]Fix the build error in the runtime.
The file was modifiedopenmp/libomptarget/deviceRTLs/common/src/libcall.cu
Commit b6e7084e25ad0592b8e29ceea6462952e2ad79b9 by a.bataev
[OPENMP50]Add parsing/sema analysis for nontemporal clause.
Add basic support for parsing/sema analysis of the nontemporal clause in
simd-based directives.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_messages.cpp
The file was modifiedclang/test/OpenMP/simd_ast_print.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/taskloop_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/parallel_for_simd_misc_messages.c
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/test/OpenMP/distribute_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/target_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/for_simd_ast_print.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/OpenMP/teams_distribute_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/simd_misc_messages.c
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_ast_print.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_misc_messages.c
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_simd_misc_messages.c
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/OpenMP/master_taskloop_simd_misc_messages.c
The file was modifiedclang/test/OpenMP/teams_distribute_simd_messages.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/OpenMP/for_simd_misc_messages.c
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
Commit 1e89188d3537d419f6bdc3276ab8848adf6752f5 by ulrich.weigand
[FPEnv] Remove unnecessary rounding mode argument for constrained
intrinsics
The following intrinsics currently carry a rounding mode metadata
argument:
    llvm.experimental.constrained.minnum
   llvm.experimental.constrained.maxnum
   llvm.experimental.constrained.ceil
   llvm.experimental.constrained.floor
   llvm.experimental.constrained.round
   llvm.experimental.constrained.trunc
This is not useful since the semantics of those intrinsics do not in any
way depend on the rounding mode. In similar cases, other constrained
intrinsics do not have the rounding mode argument. Remove it here as
well.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D71218
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/test/CodeGen/PowerPC/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
The file was modifiedclang/test/CodeGen/constrained-math-builtins.c
The file was modifiedllvm/include/llvm/IR/ConstrainedOps.def
The file was modifiedllvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
The file was modifiedllvm/include/llvm/IR/Intrinsics.td
The file was modifiedllvm/test/CodeGen/X86/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
The file was modifiedllvm/test/CodeGen/ARM/fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-round-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-min-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-round-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-max-01.ll
The file was modifiedllvm/test/CodeGen/X86/fp128-libcalls-strict.ll
The file was modifiedllvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
Commit b3f789e037cbfdb1439c01a4eefc9ab9bb0d2c64 by apl
[perf-training] Change profile file pattern string to use %4m instead of
%p
Summary: With %p, each test file that we're using to generate profile
data will make its own profraw file which is around 60 MB in size. If we
have a lot of test files, that quickly uses a lot of space. Use %4m
instead to share the profraw files used to store the profile data. We
use 4 here based on the default value in
https://reviews.llvm.org/source/llvm-github/browse/master/llvm/CMakeLists.txt$604
Reviewers: beanz, phosek, xiaobai, smeenai, vsk
Reviewed By: vsk
Subscribers: vsk, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D71585
The file was modifiedclang/utils/perf-training/lit.cfg
Commit 399273e5ebac04f85257ed37934bb27f521d0617 by SourabhSingh.Tomar
Recommit "[DebugInfo] Refactored macro related generation, added a test
case for macinfo.dwo emission."
This was reverted in caa412090666c10f854322cdc701c1cbf8ed726e, since it
was causing an assertion failure on Windows bots. This revision is
revised to fix that.
Original commit message -
[DebugInfo] Refactored macro related generation, added a test case for
macinfo.dwo emission.
Reviewers: dblaikie, aprantl, jini.susan.george
Tags: #debug-info #llvm
Differential Revision: https://reviews.llvm.org/D71008
The file was addedllvm/test/DebugInfo/X86/debug-macinfo-split-dwarf.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 385339034f08212d95ade89fdbacb014d86be1e2 by koraq
[Frontend] Fixes -Wrange-loop-analysis warnings
This avoids new warnings due to D68912 adds -Wrange-loop-analysis to
-Wall.
Differential Revision: https://reviews.llvm.org/D71530
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 3ec6128daeeaadde7dd2eca8b343a56f60a8364d by koraq
[Sema] Fixes -Wrange-loop-analysis warnings
This avoids new warnings due to D68912 adds -Wrange-loop-analysis to
-Wall.
Differential Revision: https://reviews.llvm.org/D71529
The file was modifiedclang/lib/Sema/SemaCodeComplete.cpp
The file was modifiedclang/lib/Sema/AnalysisBasedWarnings.cpp
Commit b750486c5d96320daf77a9760166f78b4a0c942e by koraq
[Driver] Avoid copies in range-based for loops
This avoids new warnings due to D68912 adds -Wrange-loop-analysis to
-Wall.
Differential Revision: https://reviews.llvm.org/D71527
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/lib/Driver/ToolChain.cpp
Commit 1a8ff89653d2a80a013701fe927d2d32491bff59 by koraq
[IR] Use a reference in a range-based for
This avoids unneeded copies when using a range-based for loops.
This avoids new warnings due to D68912 adds -Wrange-loop-analysis to
-Wall.
Differential Revision: https://reviews.llvm.org/D70870
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/lib/IR/ModuleSummaryIndex.cpp
Commit ba5a00167bf30df5d544fdbe9fd28ce1a8341b89 by nemanja.i.ibm
Fix buildbot failures after removing REQUIRES-ANY
It would appear that the removal of this lit feature was incomplete and
there is a test case that still tests for this. This patch removes the
remaining tests to bring the bots back to green. I would encourage the
author to do a post-commit review on this in case there is a more
desirable fix.
The file was modifiedllvm/utils/lit/tests/shtest-format.py
Commit c3bc805f4f99d7a75d0d45ce97ade6ade554e505 by tstellar
AMDGPU/SILoadStoreOptimillzer: Refactor CombineInfo struct
Summary: Modify CombineInfo to only store information about a single
instruction. This is a little easier to work with and removes a lot of
duplicate initialization code.
Reviewers: arsenm, nhaehnle
Reviewed By: arsenm, nhaehnle
Subscribers: merge_guards_bot, kzhuravl, jvesely, wdng, yaxunl,
dstuttard, tpr, t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71045
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Commit 84161f18ccdc8f8f5a8fc16ca16d402ddc2b9ed4 by daltenty
[AIX] Avoid unset csect assert for functions defined after their use in
TOC
Summary: If a function is defined after it appears in a TOC expression,
we may try to access an unset containing csect when returning a symbol
for the expression.
Reviewers: Xiangling_L, DiggerLin, jasonliu, hubert.reinterpretcast
Reviewed By: hubert.reinterpretcast
Subscribers: hubert.reinterpretcast, wuzish, nemanjai, hiraditya,
kbarton, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71125
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Commit 36bdc3dc35a509450d52a79225b1509f587236e9 by whitneyt
[LoopFusion] Move instructions from FC0.Latch to FC1.Latch.
Summary:This PR move instructions from FC0.Latch bottom up to the
beginning of FC1.Latch as long as they are proven safe.
To illustrate why this is beneficial, let's consider the following
example: Before Fusion: header1:
br header2 header2:
br header2, latch1 latch1:
br header1, preheader3 preheader3:
br header3 header3:
br header4 header4:
br header4, latch3 latch3:
br header3, exit3
After Fusion (before this PR): header1:
br header2 header2:
br header2, latch1 latch1:
br header3 header3:
br header4 header4:
br header4, latch3 latch3:
br header1, exit3
Note that preheader3 is removed during fusion before this PR. Notice
that we cannot fuse loop2 with loop4 as there exists block latch1 in
between. This PR move instructions from latch1 to beginning of latch3,
and remove block latch1. LoopFusion is now able to fuse loop nest
recursively.
After Fusion (after this PR): header1:
br header2 header2:
br header3 header3:
br header4 header4:
br header2, latch3 latch3:
br header1, exit3
Reviewer: kbarton, jdoerfert, Meinersbur, dmgreen, fhahn, hfinkel,
bmahjour, etiotto Reviewed By: kbarton, Meinersbur Subscribers:
hiraditya, llvm-commits Tag: LLVM Differential Revision:
https://reviews.llvm.org/D71165
The file was modifiedllvm/test/Transforms/LoopFusion/simple.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/CodeMoverUtils.h
The file was modifiedllvm/test/Transforms/LoopFusion/guarded.ll
The file was modifiedllvm/test/Transforms/LoopFusion/four_loops.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopFuse.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeMoverUtils.cpp
The file was modifiedllvm/test/Transforms/LoopFusion/loop_nest.ll
Commit be88a20c900463c4919433109e4c17cd001da580 by Alex Lorenz
[driver][darwin] Use explicit -mlinker-version in the -platform_version
tests
The driver actually adds a default -mlinker-version, based on
HOST_LINK_VERSION cmake variable. The tests should be explicit about
which version they're using to trigger the right behavior.
The file was modifiedclang/test/Driver/darwin-ld-platform-version-watchos.c
The file was modifiedclang/test/Driver/darwin-ld-platform-version-tvos.c
The file was modifiedclang/test/Driver/darwin-ld-platform-version-ios.c
The file was modifiedclang/test/Driver/darwin-ld-platform-version-macos.c
Commit 84d8fa30f93a58a360524b93925ebfb0d36eba2e by craig.topper
[FPEnv][LegalizeTypes][LegalizeDAG][AArch64] Few fixes/improvements for
legalizing fp<->int conversion nodes.
This started with adding a test to support get code coverage on
ScalarizeVecOp_UnaryOp_StrictFP by copying an existing AArch64 test and
using constrained sitofp/uitofp intrinsics.
This found 3 separate issues:
-ScalarizeVecOp_UnaryOp_StrictFP needs to do its own replacement
because the caller can't handle replacing multiple results.
-Missing integer promotion support for sitofp/uitofp
-Chain result not always assigned in ExpandLegalINT_TO_FP.
Committing them together so I can add the test case.
The file was addedllvm/test/CodeGen/AArch64/fpconv-vector-op-scalarize-strict.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
Commit 6d3f43ec61a60c37963ee5f54289cf0759fb5d61 by Artem Dergachev
[analysis] Discard type qualifiers when casting values retrieved from
the Store.
This canonicalizes the representation of unknown pointer symbols, which
reduces the overall confusion in pointer cast representation.
Patch by Vince Bridgers!
Differential Revision: https://reviews.llvm.org/D70836
The file was modifiedclang/lib/StaticAnalyzer/Core/Store.cpp
The file was addedclang/test/Analysis/uninit-val-const-likeness.c
Commit f827aff8598873194bccdfaf469f2dde7e5620d1 by 31459023+hctim
Revert "[ MC ] Match labels to existing fragments even when switching
sections."
This reverts commit 4272372c571cd33edc77a8844b0a224ad7339138.
Caused an MSan buildbot failure. More information available in the patch
that introduced the bug: https://reviews.llvm.org/D71368
The file was modifiedllvm/include/llvm/MC/MCObjectStreamer.h
The file was modifiedllvm/lib/MC/MCObjectStreamer.cpp
The file was removedllvm/test/MC/MachO/pending-labels.s
The file was modifiedllvm/include/llvm/MC/MCSection.h
The file was modifiedllvm/lib/MC/MCSection.cpp
Commit f1b351e14a912dbb797b731807d81d4c9af4db0e by tlively
[WebAssembly] Implement SIMD {i8x16,i16x8}.avgr_u instructions
Summary: These instructions were added to the spec proposal in
https://github.com/WebAssembly/simd/pull/126. Their semantics are
equivalent to `(a + b + 1) / 2`. The opcode for the experimental
i32x4.dot_i16x8_s is also bumped due to a collision with the
i8x16.avgr_u opcode.
Reviewers: aheejin
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, sunfish,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71628
The file was modifiedllvm/test/MC/WebAssembly/simd-encodings.s
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
The file was modifiedllvm/test/CodeGen/WebAssembly/simd-arith.ll
Commit b8ac5894a115987fcc7e871049ec31a8eba66741 by Stanislav.Mekhanoshin
[AMDGPU] Fixed cost model for packed 16 bit ops
Differential Revision: https://reviews.llvm.org/D71622
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fmul.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fsub.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/add-sub.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/bit-ops.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/mul.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/fadd.ll
The file was modifiedllvm/test/Analysis/CostModel/AMDGPU/shifts.ll
Commit c36773c78eb52ae0c549dc286a441af0d1b8b712 by craig.topper
[FPEnv][LegalizeTypes] Make ScalarizeVecOp_STRICT_FP_ROUND do its own
replacements and return SDValue()
The caller will assert for nodes with more than 2 results unless we
return a null SDValue.
I tried to test this by copying an AArch64 test for
ScalarizeVecOp_FP_ROUND. While it did hit the assert and this commited
fixed that. It also hit a later problem that couldn't be fixed without
adding strict FP support to AArch64.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit a17619e0b0977f922f63522790c82a9644b7a069 by mark.lacey
[AArch64][GlobalISel]: Fix a crash in GlobalIsel in dealing with 16bit
uadd.with.overflow.
Summary: AArch64 doesn't support uadd.with.overflow.i16 natively. This
change adds a legalization rule to convert the 32bit add result to
16bit. This should fix PR43981.
Reviewers: arsenm, qcolombet, paquette, aemerson
Reviewed By: paquette
Subscribers: wdng, rovka, kristof.beyls, hiraditya, Petar.Avramovic,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71587
The file was modifiedllvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/legalize-uaddo.mir
Commit 004fdbe04172c251db1e6d3482c0a6b1ab2e6d4f by craig.topper
[X86] Manually format some setOperationAction calls to line up arguments
to improve readability. NFC
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit e62e760f29567fe0841af870c65a4f8ef685d217 by echristo
Temporarily Revert "[gicombiner] Add the MatchDag structure and parse
instruction DAG's from the input" and follow-on patches.
This is breaking a few build bots and local builds with follow-up
already on the patch thread.
This reverts commits 390c8baa5440dda8907688d9ef860f6982bd925f and
520e3d66e7257c77f1226185504bbe1cb90afcfa.
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDag.cpp
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagEdge.h
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagInstr.h
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagOperands.cpp
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagPredicateDependencyEdge.h
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagPredicate.h
The file was modifiedllvm/test/TableGen/GICombinerEmitter/match-invalid.td
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDag.h
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagPredicateDependencyEdge.cpp
The file was modifiedllvm/utils/TableGen/GlobalISel/CMakeLists.txt
The file was modifiedllvm/include/llvm/ADT/iterator.h
The file was modifiedllvm/utils/TableGen/GICombinerEmitter.cpp
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagEdge.cpp
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagOperands.h
The file was removedllvm/test/TableGen/GICombinerEmitter/parse-match-pattern.td
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagInstr.cpp
The file was removedllvm/utils/TableGen/GlobalISel/GIMatchDagPredicate.cpp
Commit 758825c5b8e3f3814b39620ae6cff78444ed9a41 by llvmgnsyncbot
gn build: Merge e62e760f295
The file was modifiedllvm/utils/gn/secondary/llvm/utils/TableGen/GlobalISel/BUILD.gn
Commit a5da8d90daa3a0c7aead8ef864cc3c291660054b by nemanja.i.ibm
[PowerPC] Add missing legalization for vector BSWAP
We somehow missed doing this when we were working on Power9
exploitation. This just adds the missing legalization and cost for
producing the vector intrinsics.
Differential revision: https://reviews.llvm.org/D70436
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/Transforms/LoopVectorize/PowerPC/vectorize-bswap.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was addedllvm/test/CodeGen/PowerPC/vec-bswap.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
Commit b6f5caa48f1f9b4c5dedcf498757185c34b3c15e by Justin Bogner
[docs] Remove `git llvm push` and `git llvm revert` from GettingStarted
These sections aren't accurate since the github move.
Differential Revision: https://reviews.llvm.org/D71640
The file was modifiedllvm/docs/GettingStarted.rst
Commit 07522e4e2383788a64f36b1b9daa8c85f6a3f8b5 by maskray
[ELF] Fix a comment. NFC
The file was modifiedlld/ELF/SyntheticSections.h
Commit 547659ae56f5827055f71b495d7b08c10badadb5 by phosek
[unwind] Don't link libpthread and libdl on Fuchsia
This is a follow up to D71135.
The file was modifiedlibunwind/cmake/config-ix.cmake
Commit ea93d7d6421612e9ea51b321eaf97fbdd64fe39b by xazax
[CFG] Add an option to expand CXXDefaultInitExpr into aggregate
initialization
This is useful for clients that are relying on linearized CFGs for
evaluating subexpressions and want the default initializer to be
evaluated properly.
The upcoming lifetime analysis is using this but it might also be useful
for the static analyzer at some point.
Differential Revision: https://reviews.llvm.org/D71642
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
The file was modifiedclang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
The file was modifiedclang/include/clang/Analysis/CFG.h
The file was modifiedclang/test/Analysis/analyzer-config.c
The file was addedclang/test/Analysis/aggrinit-cfg-output.cpp
The file was modifiedclang/lib/Analysis/CFG.cpp
Commit 1949235d13be8858784f227c40bcec017fbef40f by pengfei.wang
[X86] Add strict fma support
Summary: Add strict fma support
Reviewers: craig.topper, RKSimon, LiuChen3
Subscribers: hiraditya, llvm-commits, LuoYuanke
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71604
The file was modifiedllvm/lib/Target/X86/X86InstrFragmentsSIMD.td
The file was modifiedllvm/test/CodeGen/X86/vec-strict-128.ll
The file was modifiedllvm/test/CodeGen/X86/fp-strict-scalar.ll
The file was modifiedllvm/test/CodeGen/X86/vec-strict-256.ll
The file was modifiedllvm/lib/Target/X86/X86InstrFMA.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/test/CodeGen/X86/vec-strict-512.ll
Commit 8cc0b586738157728a93af145c8f8dec1bf59ee1 by pengfei.wang
[X86] Add calculation for elements in structures in getting uniform base
for the Gather/Scatter intrinsic.
Summary: Add calculation for elements in structures in getting uniform
base for the Gather/Scatter intrinsic.
Reviewers: craig.topper, c-rhodes, RKSimon
Subscribers: hiraditya, llvm-commits, annita.zhang, LuoYuanke
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71442
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/CodeGen/X86/masked_gather.ll