SuccessChanges

Summary

  1. [mips] Reduce code duplication in the `loadAndAddSymbolAddress`. NFC (details)
  2. [mips] Mark tests for lw/sw expansion in PIC by a separate "check (details)
  3. [mips] Pass "xgot" flag as a subtarget feature (details)
  4. [lldb] Fix a test assertion after r372192 (details)
  5. Fix command-script-import.test on linux (details)
  6. [SDA] Don't stop divergence propagation at the IPD. (details)
  7. Fir TestAPILog for gcc (details)
  8. Revert r372082 "[Clang] Pragma vectorize_width() implies (details)
  9. Follow-up to r372209: Use single quotes for host_ldflags in the lit (details)
  10. [SimplifyLibCalls] fix crash with empty function name (PR43347) (details)
  11. Revert "[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize" (details)
  12. Recommit -r372180 (details)
  13. [Alignment][NFC] Use Align::None instead of 1 (details)
  14. [Alignment][NFC] Remove LogAlignment functions (details)
  15. [SampleFDO] Minimize performance impact when profile-sample-accurate is (details)
  16. unwind: remove a could of extraneous `else` (NFC) (details)
  17. [Alignment][NFC] Align(1) to Align::None() conversions (details)
  18. [OPENMP5.0]Allow multiple context selectors in the context selector (details)
  19. [InstSimplify] add tests for fma/fmuladd; NFC (details)
  20. [c++20] P1331R2: Allow transient use of uninitialized objects in (details)
  21. Data Dependence Graph Basics (details)
  22. gn build: Merge r372238 (details)
  23. [DDG] Break a cyclic dependency from Analysis to ScalarOpts (details)
  24. Revert "Revert "Implement std::condition_variable via (details)
  25. Fix compile-time regression caused by rL371928 (details)
  26. [NFC][InstCombine] More tests for PR42563 "Dropping pointless masking (details)
  27. [InstCombine] dropRedundantMaskingOfLeftShiftInput(): some cleanup (details)
  28. [clang-format][PR41964] Fix crash with SIGFPE when TabWidth is set to 0 (details)
  29. [Sema] Suppress -Wformat diagnostics for bool types when printed using (details)
  30. make -frewrite-includes also rewrite conditions in #if/#elif (details)
  31. [clang-format][PR41899] PointerAlignment: Left leads to useless space in (details)
  32. actually also compile output in tests for -frewrite-includes (details)
  33. [mips] Expand 'lw/sw' instructions for 32-bit GOT (details)
  34. [OPENMP]Fix for PR43349: Crash for privatized loop bound. (details)
  35. [CodeGen][MIPS][NFC] Some standalone tests for D66805 "or vectors, (details)
  36. [MIPS] For vectors, select `add %x, C` as `sub %x, -C` if it results in (details)
  37. [SimplifyCFG] mergeConditionalStoreToAddress(): consider cost, not (details)
  38. [AArch64] Don't implicitly enable global isel on Darwin if (details)
  39. [InstCombine] foldUnsignedUnderflowCheck(): handle last few cases (details)
  40. [CodeGen][X86][NFC] Tests for (sub Carry, X) -> (addcarry (sub 0, X), 0, (details)
  41. [DAGCombine][ARM][X86] (sub Carry, X)  ->  (addcarry (sub 0, X), 0, (details)
  42. On PowerPC, Secure-PLT by default for FreeBSD 13 and higher (details)
  43. On PowerPC, Secure-PLT by default for FreeBSD 13 and higher (details)
  44. [SimplifyCFG] mergeConditionalStoreToAddress(): try to pacify MSAN (details)
  45. fix build, adjust test also for Windows path separator (details)
  46. llvm-reduce: Add pass to reduce basic blocks (details)
  47. gn build: Merge r372264 (details)
  48. [lld][WebAssembly] Fix use after free of archive path (details)
  49. Add AutoUpgrade function to add new address space datalayout string to (details)
  50. gn build: Merge r372267 (details)
  51. [analyzer] PR43102: Fix an assertion and an out-of-bounds error for (details)
  52. llvm-reduce: Fix inconsistencies between int/unsigned usage (standardize (details)
  53. llvm-reduce: Remove inaccurate doxy comment about a return that isn't (details)
  54. Remove the obsolete BlockByRefStruct flag from LLVM IR (details)
  55. [AArch64][GlobalISel] Support lowering musttail calls (details)
  56. [Docs] Moves topics to new categories (details)
  57. [WebAssembly] Restore defaults for stores per memop (details)
  58. [utils] Amend update_llc_test_checks.py to non-llc tooling, NFC (details)
  59. [utils] Add minimal support for MIR inputs to update_llc_test_checks.py (details)
  60. [Object] Extend MachOUniversalBinary::getObjectForArch (details)
  61. llvm-reduce: Avoid use-after-free when removing a branch instruction (details)
  62. Initialize all fields in ABIArgInfo. (details)
  63. llvm-reduce: Add pass to reduce instructions (details)
  64. gn build: Merge r372282 (details)
  65. [WebAssembly] Sort output data sections to place .bss last (details)
  66. GlobalISel: Don't materialize immarg arguments to intrinsics (details)
  67. AMDGPU/GlobalISel: Fix RegBankSelect G_SMULH/G_UMULH pre-gfx9 (details)
  68. MachineScheduler: Fix assert from not checking subregs (details)
  69. Fix typo (details)
  70. AMDGPU/GlobalISel: Attempt to RegBankSelect image intrinsics (details)
  71. AMDGPU/GlobalISel: RegBankSelect llvm.amdgcn.raw.buffer.{load|store} (details)
  72. AMDGPU/GlobalISel: RegBankSelect struct buffer load/store (details)
  73. AMDGPU/GlobalISel: Select llvm.amdgcn.raw.buffer.store (details)
  74. AMDGPU/GlobalISel: Select llvm.amdgcn.raw.buffer.store.format (details)
  75. [CLANG][BPF] change __builtin_preserve_access_index() signature (details)
  76. AMDGPU/GlobalISel: RegBankSelect tbuffer load/store (details)
  77. AMDGPU/GlobalISel: RegBankSelect llvm.amdgcn.ds.swizzle (details)
  78. AMDGPU/SILoadStoreOptimizer: Add const to more functions (details)
  79. [Builtins] Delete setjmp_syscall and qsetjmp (details)
  80. [lldb] [Process/gdb-remote] Correct more missing (details)
  81. [X86] Remove unused argument from a helper function. NFC (details)
  82. [X86] Change a SmallVector& argument to SmallVectorImpl&. NFC (details)
  83. [ARM] Fix for buildbots (details)
  84. [X86] Prevent crash in LowerBUILD_VECTORvXi1 for v64i1 vectors on 32-bit (details)
  85. [Unroll] Add an option to control complete unrolling (details)
  86. [TestCommit] Trivial change to test commit access. (details)
  87. [TestCommit] Trivial change to test commit access. (details)
  88. Fix MSVC "result of 32-bit shift implicitly converted to 64 bits" (details)
  89. [llvm-ar] Include a line number when failing to parse an MRI script (details)
  90. Fix -Wdocumentation "@returns in a void function" warning. NFCI. (details)
  91. Revert [llvm-ar] Include a line number when failing to parse an MRI (details)
  92. [cmake] Strip quotes in try_compile_only (details)
Commit 59d0cc82b5c0382c0d1768d43818ed4dda45ec56 by simon
[mips] Reduce code duplication in the `loadAndAddSymbolAddress`. NFC
llvm-svn: 372218
The file was modifiedllvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Commit 1ebdbad4751c5e0951974dd954a7e3b069ffd320 by simon
[mips] Mark tests for lw/sw expansion in PIC by a separate "check
prefix". NFC
That simplify adding XGOT tests later.
llvm-svn: 372219
The file was modifiedllvm/test/MC/Mips/mips64-expansions.s
The file was modifiedllvm/test/MC/Mips/mips-expansions.s
Commit 9c36de99caa5356c7ed8760ce43d8c70cd15b2e6 by simon
[mips] Pass "xgot" flag as a subtarget feature
We need "xgot" flag in the MipsAsmParser to implement correct expansion
of some pseudo instructions in case of using 32-bit GOT (XGOT).
MipsAsmParser does not have reference to MipsSubtarget but has a
reference to "feature bit set".
llvm-svn: 372220
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedllvm/test/CodeGen/Mips/mirparser/target-flags-pic-mxgot-tls.mir
The file was modifiedclang/test/Driver/mips-integrated-as.s
The file was modifiedclang/lib/Driver/ToolChains/Arch/Mips.cpp
The file was modifiedclang/test/Driver/mips-features.c
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Mips/biggot.ll
The file was modifiedllvm/lib/Target/Mips/Mips.td
The file was modifiedllvm/test/CodeGen/Mips/address-selection.ll
The file was modifiedllvm/lib/Target/Mips/MipsSubtarget.h
Commit 98c0dc39de24d85e3d7dca488babff952f35578c by krasimir
[lldb] Fix a test assertion after r372192
Summary: The `CHECK: frame:py: None` seems to have been a typo, causing
build bot failures:
```
# CHECK: frame:py: None
         ^
<stdin>:1:1: note: scanning from here
(lldb) command source -s 0
'E:/build_slave/lldb-x64-windows-ninja/build/tools/lldb\lit\lit-lldb-init'
^
<stdin>:23:1: note: possible intended match here
frame:py: No value
^
```
This update fixes the build bots.
--
Reviewers: bkramer
Reviewed By: bkramer
Differential Revision: https://reviews.llvm.org/D67702
llvm-svn: 372221
The file was modifiedlldb/lit/Commands/command-script-import.test
Commit fc1fd6bf9fcfac412b10b4193805ec5de0e8df57 by pavel
Fix command-script-import.test on linux
The test was expecting the value of "lldb.frame" to be None, because it
is cleared after each python interpreter session. However, this is not
true in the very first session, because lldb.py sets these values to
invalid objects (lldb.SBFrame(), etc.).
I have not investigated why is it that this test passes on darwin, but
my guess is that this is because we do extra work on darwin (loading the
objc runtime, etc), which causes us to enter the python interpreter
sooner.
This patch changes lldb.py to also initialize these values to None, as
that seems to make more sense. I also fixed some typos in the test while
I was in there.
llvm-svn: 372222
The file was modifiedlldb/scripts/lldb.swig
The file was modifiedlldb/lit/Commands/Inputs/frame.py
The file was modifiedlldb/lit/Commands/command-script-import.test
Commit c92e51d84bb78e4b32c229441af239f154daf75a by jay.foad
[SDA] Don't stop divergence propagation at the IPD.
Summary: This fixes B42473 and B42706.
This patch makes the SDA propagate branch divergence until the end of
the RPO traversal. Before, the SyncDependenceAnalysis propagated
divergence only until the IPD in rpo order. RPO is incompatible with
post dominance in the presence of loops. This made the SDA crash because
blocks were missed in the propagation.
Reviewers: foad, nhaehnle
Reviewed By: foad
Subscribers: jvesely, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65274
llvm-svn: 372223
The file was addedllvm/test/Analysis/DivergenceAnalysis/AMDGPU/b42473-r1-crash.ll
The file was modifiedllvm/lib/Analysis/SyncDependenceAnalysis.cpp
Commit 89ad7f7a1ba245fccf1f64f95a146ada6f6aaac6 by pavel
Fir TestAPILog for gcc
different compilers will put different things into __PRETTY_FUNCTION__.
For instance gcc will not put a " " in the "const char *" argument,
causing our regex matching to fail.
This patch relaxes the regexes in this test to account for this
difference.
llvm-svn: 372224
The file was modifiedlldb/packages/Python/lldbsuite/test/api/log/TestAPILog.py
Commit 858a1ae37d260ae454751bbf5d74742138f10676 by hans
Revert r372082 "[Clang] Pragma vectorize_width() implies
vectorize(enable)"
This broke the Chromium build. Consider the following code:
  float ScaleSumSamples_C(const float* src, float* dst, float scale, int
width) {
   float fsum = 0.f;
   int i;
#if defined(__clang__)
#pragma clang loop vectorize_width(4)
#endif
   for (i = 0; i < width; ++i) {
     float v = *src++;
     fsum += v * v;
     *dst++ = v * scale;
   }
   return fsum;
}
Compiling at -Oz, Clang  now warns:
  $ clang++ -target x86_64 -Oz -c /tmp/a.cc
/tmp/a.cc:1:7: warning: loop not vectorized: the optimizer was unable
to
perform the requested transformation; the transformation might be
disabled or
specified as part of an unsupported transformation ordering
[-Wpass-failed=transform-warning]
this suggests it's not actually enabling vectorization hard enough.
At -Os it asserts instead:
  $ build.release/bin/clang++ -target x86_64 -Os -c /tmp/a.cc
clang-10:
/work/llvm.monorepo/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:2734:
void
llvm::InnerLoopVectorizer::emitMemRuntimeChecks(llvm::Loop*,
llvm::BasicBlock*): Assertion `
!BB->getParent()->hasOptSize() && "Cannot emit memory checks when
optimizing for size"' failed.
Of course neither of these are what the developer expected from the
pragma.
> Specifying the vectorization width was supposed to implicitly enable
> vectorization, except that it wasn't really doing this. It was only
> setting the vectorize.width metadata, but not vectorize.enable.
>
> This should fix PR27643.
>
> Differential Revision: https://reviews.llvm.org/D66290
llvm-svn: 372225
The file was modifiedclang/lib/CodeGen/CGLoopInfo.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop.cpp
The file was modifiedclang/test/CodeGenCXX/pragma-loop-predicate.cpp
Commit 40fdacbf4c9ab40fe41b9c4cb2a2d45fc57d4d0e by hans
Follow-up to r372209: Use single quotes for host_ldflags in the lit
config
HOST_LDFLAGS is now using double quotes, and that would break the lit
config file.
llvm-svn: 372226
The file was modifiedllvm/test/lit.site.cfg.py.in
Commit d46bf63fbbad623d73ec8c6889f9e8efa802ce40 by spatel
[SimplifyLibCalls] fix crash with empty function name (PR43347)
...and improve some variable names while here.
https://bugs.llvm.org/show_bug.cgi?id=43347
llvm-svn: 372227
The file was modifiedllvm/test/Transforms/InstCombine/sqrt.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit 2f1bba7fd0777477542f7f87d485994bf00453c3 by krasimir
Revert "[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize"
Summary: This reverts commit r372204.
This change causes build bot failures under msan:
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fast/builds/35236/steps/check-llvm%20msan/logs/stdio:
``` FAIL: LLVM :: DebugInfo/AArch64/asan-stack-vars.mir (19531 of 33579)
******************** TEST 'LLVM ::
DebugInfo/AArch64/asan-stack-vars.mir' FAILED ********************
Script:
--
: 'RUN: at line 1'; 
/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc -O0
-start-before=livedebugvalues -filetype=obj -o -
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
|
/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llvm-dwarfdump
-v - |
/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
-- Exit Code: 2
Command Output (stderr):
--
==62894==WARNING: MemorySanitizer: use-of-uninitialized-value
   #0 0xdfcafb in
llvm::AArch64FrameLowering::resolveFrameOffsetReference(llvm::MachineFunction
const&, int, bool, unsigned int&, bool, bool) const
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1658:3
   #1 0xdfae8a in resolveFrameIndexReference
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1580:10
   #2 0xdfae8a in
llvm::AArch64FrameLowering::getFrameIndexReference(llvm::MachineFunction
const&, int, unsigned int&) const
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1536
   #3 0x46642c1 in (anonymous
namespace)::LiveDebugValues::extractSpillBaseRegAndOffset(llvm::MachineInstr
const&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:582:21
   #4 0x4647cb3 in transferSpillOrRestoreInst
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:883:11
   #5 0x4647cb3 in process
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:1079
   #6 0x4647cb3 in (anonymous
namespace)::LiveDebugValues::ExtendRanges(llvm::MachineFunction&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:1361
   #7 0x463ac0e in (anonymous
namespace)::LiveDebugValues::runOnMachineFunction(llvm::MachineFunction&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/LiveDebugValues.cpp:1415:18
   #8 0x4854ef0 in
llvm::MachineFunctionPass::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/CodeGen/MachineFunctionPass.cpp:73:13
   #9 0x53b0b01 in llvm::FPPassManager::runOnFunction(llvm::Function&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1648:27
   #10 0x53b15f6 in llvm::FPPassManager::runOnModule(llvm::Module&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1685:16
   #11 0x53b298d in runOnModule
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1750:27
   #12 0x53b298d in llvm::legacy::PassManagerImpl::run(llvm::Module&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/IR/LegacyPassManager.cpp:1863
   #13 0x905f21 in compileModule(char**, llvm::LLVMContext&)
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/tools/llc/llc.cpp:601:8
   #14 0x8fdc4e in main
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/tools/llc/llc.cpp:355:22
   #15 0x7f67673632e0 in __libc_start_main
(/lib/x86_64-linux-gnu/libc.so.6+0x202e0)
   #16 0x882369 in _start
(/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/llc+0x882369)
MemorySanitizer: use-of-uninitialized-value
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1658:3
in
llvm::AArch64FrameLowering::resolveFrameOffsetReference(llvm::MachineFunction
const&, int, bool, unsigned int&, bool, bool) const Exiting error: -:
The file was not recognized as a valid object file FileCheck error: '-'
is empty. FileCheck command line:
/b/sanitizer-x86_64-linux-fast/build/llvm_build_msan/bin/FileCheck
/b/sanitizer-x86_64-linux-fast/build/llvm-project/llvm/test/DebugInfo/AArch64/asan-stack-vars.mir
```
Reviewers: bkramer
Reviewed By: bkramer
Subscribers: sdardis, aprantl, kristof.beyls, jrtc27, atanasyan,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67710
llvm-svn: 372228
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/lib/CodeGen/RegUsageInfoCollector.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/test/DebugInfo/MIR/Mips/live-debug-values-reg-copy.mir
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was removedllvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
Commit f124ab9fe11574b11d47397af70555766acf25f9 by erich.keane
Recommit -r372180
Commit message below, original caused the sphinx build bot to fail, this
one should fix it.
Create UsersManual section entitled 'Controlling Floating Point
Behavior'
Create a new section for documenting the floating point options. Move
all the floating point options into this section, and add new entries
for the floating point options that exist but weren't previously
described in the UsersManual.
Patch By: mibintc Differential Revision: https://reviews.llvm.org/D67517
llvm-svn: 372229
The file was modifiedclang/docs/UsersManual.rst
Commit 35b4b403b441c7105a58fcfe35748ccfd89faf53 by gchatelet
[Alignment][NFC] Use Align::None instead of 1
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: sdardis, nemanjai, hiraditya, kbarton, jrtc27, MaskRay,
atanasyan, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67704
llvm-svn: 372230
The file was modifiedllvm/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/MachineFrameInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/include/llvm/CodeGen/AsmPrinter.h
Commit d4c4671aa70a3e18f97cd0fd00352a73b18b1d40 by gchatelet
[Alignment][NFC] Remove LogAlignment functions
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: arsenm, sdardis, nemanjai, jvesely, nhaehnle, hiraditya,
kbarton, jrtc27, MaskRay, atanasyan, jsji, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67620
llvm-svn: 372231
The file was modifiedllvm/lib/CodeGen/BranchRelaxation.cpp
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
The file was modifiedllvm/lib/CodeGen/MIRParser/MIParser.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonFixupHwLoops.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCBranchSelector.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineBasicBlock.h
The file was modifiedllvm/lib/CodeGen/MIRPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZLongBranch.cpp
The file was modifiedllvm/lib/Target/X86/X86RetpolineThunks.cpp
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonBranchRelaxation.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBasicBlockInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMBasicBlockInfo.h
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
Commit 5f7e822dc7242c482bbcbcd84ac1bb6004b3b32f by wmi
[SampleFDO] Minimize performance impact when profile-sample-accurate is
enabled.
We can save memory and reduce binary size significantly by enabling
ProfileSampleAccurate. However when ProfileSampleAccurate is true,
function without sample will be regarded as cold and this could
potentially cause performance regression.
To minimize the potential negative performance impact, we want to be a
little conservative here saying if a function shows up in the profile,
no matter as outline instance, inline instance or call targets, treat
the function as not being cold. This will handle the cases such as most
callsites of a function are inlined in sampled binary (thus outline copy
don't get any sample) but not inlined in current build (because of
source code drift, imprecise debug information, or the callsites are all
cold individually but not cold accumulatively...), so that the outline
function showing up as cold in sampled binary will actually not be cold
after current build. After the change, such function will be treated as
not cold even profile-sample-accurate is enabled.
At the same time we lower the hot criteria of callsiteIsHot check when
profile-sample-accurate is enabled. callsiteIsHot is used to determined
whether a callsite is hot and qualified for early inlining. When
profile-sample-accurate is enabled, functions without profile will be
regarded as cold and much less inlining will happen in CGSCC inlining
pass, so we can worry less about size increase and be aggressive to
allow more early inlining to happen for warm callsites and it is helpful
for performance overall.
Differential Revision: https://reviews.llvm.org/D67561
llvm-svn: 372232
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
The file was addedllvm/test/Transforms/SampleProfile/Inputs/profsampleacc.extbinary.afdo
The file was addedllvm/test/Transforms/SampleProfile/profile-sample-accurate.ll
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
Commit 8f16cc46f7d8983e0075ff698f23ffdb74fe7188 by Saleem Abdulrasool
unwind: remove a could of extraneous `else` (NFC)
Simplify `if return else return` by removing the unnecessary `else`.
llvm-svn: 372233
The file was modifiedlibunwind/src/libunwind.cpp
Commit 97a18dc70430a2dbd03ef794ca072c0e39033ff6 by gchatelet
[Alignment][NFC] Align(1) to Align::None() conversions
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67715
llvm-svn: 372234
The file was modifiedllvm/lib/CodeGen/MIRPrinter.cpp
The file was modifiedllvm/lib/CodeGen/MachineBasicBlock.cpp
Commit 0736f7f5d72f80a509f6913113ec9f9d5032c963 by a.bataev
[OPENMP5.0]Allow multiple context selectors in the context selector
sets.
According to OpenMP 5.0, context selector set might include several
context selectors, separated with commas. Patch fixes this problem.
llvm-svn: 372235
The file was modifiedclang/include/clang/Parse/Parser.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.c
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
Commit e406a3f2d64ca3a047d7289add5932bd41e881a4 by spatel
[InstSimplify] add tests for fma/fmuladd; NFC
llvm-svn: 372236
The file was modifiedllvm/test/Transforms/InstSimplify/call.ll
Commit c667cdc850c2aa821ffeedbc08c24bc985c59edd by richard-llvm
[c++20] P1331R2: Allow transient use of uninitialized objects in
constant evaluation.
llvm-svn: 372237
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/www/cxx_status.html
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
The file was modifiedclang/lib/AST/Interp/State.h
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/CXX/drs/dr14xx.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
Commit db800c267d8f3a4ce8dfc449b8d1d9c87708845a by bmahjour
Data Dependence Graph Basics
Summary: This is the first patch in a series of patches that will
implement data dependence graph in LLVM. Many of the ideas used in this
implementation are based on the following paper: D. J. Kuck, R. H. Kuhn,
D. A. Padua, B. Leasure, and M. Wolfe (1981). DEPENDENCE GRAPHS AND
COMPILER OPTIMIZATIONS. This patch contains support for a basic DDGs
containing only atomic nodes (one node for each instruction). The edges
are two fold: def-use edges and memory-dependence edges. The
implementation takes a list of basic-blocks and only considers
dependencies among instructions in those basic blocks. Any dependencies
coming into or going out of instructions that do not belong to those
basic blocks are ignored.
The algorithm for building the graph involves the following steps in
order:
  1. For each instruction in the range of basic blocks to consider,
create an atomic node in the resulting graph.
2. For each node in the graph establish def-use edges to/from other
nodes in the graph.
3. For each pair of nodes containing memory instruction(s) create
memory edges between them. This part of the algorithm goes through the
instructions in lexicographical order and creates edges in reverse order
if the sink of the dependence occurs before the source of it.
Authored By: bmahjour
Reviewer: Meinersbur, fhahn, myhsu, xtian, dmgreen, kbarton, jdoerfert
Reviewed By: Meinersbur, fhahn, myhsu
Subscribers: ychen, arphaman, simoll, a.elovikov, mgorny, hiraditya,
jfb, wuzish, llvm-commits, jsji, Whitney, etiotto
Tag: #llvm
Differential Revision: https://reviews.llvm.org/D65350
llvm-svn: 372238
The file was modifiedllvm/docs/SubsystemDocumentation.rst
The file was addedllvm/test/Analysis/DDG/basic-b.ll
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was addedllvm/docs/DependenceGraphs/uml_builder_pattern.png
The file was addedllvm/docs/DependenceGraphs/cycle.png
The file was addedllvm/docs/DependenceGraphs/uml_nodes_and_edges.png
The file was addedllvm/include/llvm/Analysis/DDG.h
The file was addedllvm/test/Analysis/DDG/basic-a.ll
The file was addedllvm/test/Analysis/DDG/basic-loopnest.ll
The file was addedllvm/docs/DependenceGraphs/cycle_pi.png
The file was addedllvm/include/llvm/Analysis/DependenceGraphBuilder.h
The file was addedllvm/docs/DependenceGraphs/index.rst
The file was addedllvm/lib/Analysis/DDG.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was addedllvm/lib/Analysis/DependenceGraphBuilder.cpp
Commit fb6052c6516f7b9249d07e9e14418952a9fc005c by llvmgnsyncbot
gn build: Merge r372238
llvm-svn: 372239
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Commit 4b661f94e288b56f49579da2dea7a70cdf5b66e3 by benny.kra
[DDG] Break a cyclic dependency from Analysis to ScalarOpts
llvm-svn: 372240
The file was modifiedllvm/include/llvm/Analysis/DDG.h
Commit 85e26f56cbf3e1ae3aed155b817912f02172bbef by danalbert
Revert "Revert "Implement std::condition_variable via
pthread_cond_clockwait() where available""
With the fix for non-Linux.
This reverts commit c1c519d2f1a66dd2eeaa4c321d8d7b50f623eb71.
llvm-svn: 372242
The file was modifiedlibcxx/include/__mutex_base
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
Commit 1723364a68487c1c070ca58799a0a5c39adca85d by daniel_l_sanders
Fix compile-time regression caused by rL371928
Summary: Also fixup rL371928 for cases that occur on our out-of-tree
backend
There were still quite a few intermediate APInts and this caused the
compile time of MCCodeEmitter for our target to jump from 16s up to
~5m40s. This patch, brings it back down to ~17s by eliminating pretty
much all of them using two new APInt functions
(extractBitsAsZExtValue(), insertBits() but with a uint64_t). The exact
conditions for eliminating them is that the field extracted/inserted
must be <=64-bit which is almost always true.
Note: The two new APInt API's assume that APInt::WordSize is at least
64-bit because that means they touch at most 2 APInt words. They
statically assert that's true. It seems very unlikely that someone is
patching it to be smaller so this should be fine.
Reviewers: jmolloy
Reviewed By: jmolloy
Subscribers: hiraditya, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67686
llvm-svn: 372243
The file was modifiedllvm/include/llvm/ADT/APInt.h
The file was modifiedllvm/utils/TableGen/CodeEmitterGen.cpp
The file was modifiedllvm/lib/Support/APInt.cpp
The file was modifiedllvm/unittests/ADT/APIntTest.cpp
The file was modifiedllvm/test/TableGen/BigEncoder.td
Commit 8b719a3b8a4efc8f0b84400fcbb7cdfea6d3b2f3 by lebedev.ri
[NFC][InstCombine] More tests for PR42563 "Dropping pointless masking
before left shift"
For patterns c/d/e we too can deal with the pattern even if we can't
just drop the mask, we can just apply it afterwars:
  https://rise4fun.com/Alive/gslRa
llvm-svn: 372244
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-f.ll
The file was addedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-c.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-e.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-c.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
The file was addedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-e.ll
The file was addedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
Commit ba4cad9039660d322937f7f44bcb30b4849c3d58 by lebedev.ri
[InstCombine] dropRedundantMaskingOfLeftShiftInput(): some cleanup
before upcoming patch
llvm-svn: 372245
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 79983be5a027c0ff8a7ef7a8f67481ce61efc523 by mydeveloperday
[clang-format][PR41964] Fix crash with SIGFPE when TabWidth is set to 0
and line starts with tab
Summary: clang-format 8.0 crashes with SIGFPE (floating point exception)
when formatting following file: app.cpp: void a() {
//line starts with '\t'
}
$ clang-format -style='{TabWidth: 0}' app.cpp
Reviewers: owenpan, klimek, russellmcc, timwoj
Reviewed By: klimek
Subscribers: cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D67670
llvm-svn: 372246
The file was modifiedclang/lib/Format/Encoding.h
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/WhitespaceManager.cpp
The file was modifiedclang/lib/Format/FormatTokenLexer.cpp
Commit 5741d19f046f24450ebda3a421a8ce49043ad2b8 by erik.pilkington
[Sema] Suppress -Wformat diagnostics for bool types when printed using
%hhd
Also, add a diagnostic under -Wformat for printing a boolean value as a
character.
rdar://54579473
Differential revision: https://reviews.llvm.org/D66856
llvm-svn: 372247
The file was modifiedclang/lib/AST/FormatString.cpp
The file was addedclang/test/Sema/format-bool.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit 533434fc728ad457533fac2c8c4ef7b8906dd05e by l.lunak
make -frewrite-includes also rewrite conditions in #if/#elif
Those conditions may use __has_include, which needs to be rewritten. The
existing code has already tried to rewrite just __has_include, but it
didn't work with macro expansion, so e.g. Qt's
"#define QT_HAS_INCLUDE(x) __has_include(x)" didn't get handled
properly. Since the preprocessor run knows what each condition evaluates
to, just rewrite the entire condition. This of course requires that the
-frewrite-include pass has the same setup as the following compilation,
but that has always been the requirement.
Differential Revision: https://reviews.llvm.org/D63508
llvm-svn: 372248
The file was modifiedclang/lib/Frontend/Rewrite/InclusionRewriter.cpp
The file was modifiedclang/test/Frontend/rewrite-includes.c
The file was addedclang/test/Frontend/rewrite-includes-conditions.c
The file was modifiedclang/test/Modules/preprocess-module.cpp
Commit a767a0688b096f4c8188a484f08a3f77bab0ce73 by mydeveloperday
[clang-format][PR41899] PointerAlignment: Left leads to useless space in
lambda intializer expression
Summary: https://bugs.llvm.org/show_bug.cgi?id=41899
```auto lambda = [&a = a]() { a = 2; };```
is formatted as
```auto lambda = [& a = a]() { a = 2; };```
With an extra space if PointerAlignment is set to Left
> The space "& a" looks strange when there is no type in the lambda's
intializer expression. This can be worked around with by setting
"PointerAlignment: Right", but ideally "PointerAlignment: Left" would
not add a space in this case.
Reviewers: klimek, owenpan, krasimir, timwoj
Reviewed By: klimek
Subscribers: cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D67718
llvm-svn: 372249
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 1e9c1d2b7bfcc27d3d47deac60ce20dc59aee75a by l.lunak
actually also compile output in tests for -frewrite-includes
Checking that the created output matches something is nice, but this
should also check whether the output makes sense.
Differential Revision: https://reviews.llvm.org/D63979
llvm-svn: 372250
The file was modifiedclang/test/Frontend/rewrite-includes.c
The file was modifiedclang/test/Frontend/Inputs/NextIncludes/rewrite-includes9.h
The file was modifiedclang/test/Frontend/Inputs/rewrite-includes2.h
The file was modifiedclang/test/Frontend/Inputs/rewrite-includes1.h
The file was modifiedclang/test/Frontend/Inputs/rewrite-includes6.h
The file was modifiedclang/test/Frontend/rewrite-includes-cli-include.c
The file was modifiedclang/test/Frontend/Inputs/rewrite-includes5.h
The file was modifiedclang/test/Frontend/rewrite-includes-conditions.c
The file was modifiedclang/test/Frontend/Inputs/rewrite-includes4.h
The file was modifiedclang/test/Frontend/Inputs/rewrite-includes3.h
The file was modifiedclang/test/Frontend/Inputs/rewrite-includes7.h
Commit 164dbd386d00fe62991d3ab4e7b25b599f3fb7dc by simon
[mips] Expand 'lw/sw' instructions for 32-bit GOT
In case of using 32-bit GOT access to the table requires two
instructions with attached %got_hi and %got_lo relocations. This patch
implements correct expansion of 'lw/sw' instructions in that case.
Differential Revision: https://reviews.llvm.org/D67705
llvm-svn: 372251
The file was modifiedllvm/test/MC/Mips/mips64-expansions.s
The file was modifiedllvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
The file was modifiedllvm/test/MC/Mips/mips-expansions.s
Commit f71939c0995191bea1adca754e9b7e17f9c1572a by a.bataev
[OPENMP]Fix for PR43349: Crash for privatized loop bound.
If the variable, used in the loop boundaries, is not captured in the
construct, this variable must be considered as undefined if it was
privatized.
llvm-svn: 372252
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
Commit 260b6949040985b8c315d080b8e197d0ddcc5dec by lebedev.ri
[CodeGen][MIPS][NFC] Some standalone tests for D66805 "or vectors,
select `add %x, C` as `sub %x, -C` if it results in inline immediate"
llvm-svn: 372253
The file was modifiedllvm/test/CodeGen/Mips/msa/arithmetic.ll
Commit ec6b91b6655a92d02c88e942d83366004575a234 by lebedev.ri
[MIPS] For vectors, select `add %x, C` as `sub %x, -C` if it results in
inline immediate
Summary: As discussed in https://reviews.llvm.org/D62341#1515637, for
MIPS `add %x, -1` isn't optimal. Unlike X86 there are no fastpaths to
matearialize such `-1`/`1` vector constants, and `sub %x, 1` results in
better codegen, so undo canonicalization
Reviewers: atanasyan, Petar.Avramovic, RKSimon
Reviewed By: atanasyan
Subscribers: sdardis, arichardson, hiraditya, jrtc27, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66805
llvm-svn: 372254
The file was modifiedllvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelDAGToDAG.h
The file was modifiedllvm/test/CodeGen/Mips/msa/arithmetic.ll
Commit dd0170ab24577f76a5c8c78b4f7e068ac29de40c by lebedev.ri
[SimplifyCFG] mergeConditionalStoreToAddress(): consider cost, not
instruction count
Summary: As it can be see in the changed test, while `div` is really
costly, we were speculating it. This does not seem correct.
Also, the old code would run for every single insturuction in BB,
instead of eagerly bailing out as soon as there are too many
instructions.
This function still has a problem that `PHINodeFoldingThreshold` is
per-basic-block, while it should be for all the basic blocks.
Reviewers: efriedma, craig.topper, dmgreen, jmolloy
Reviewed By: jmolloy
Subscribers: xbolva00, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67315
llvm-svn: 372255
The file was modifiedllvm/test/Transforms/SimplifyCFG/X86/merge-cond-stores-cost.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 366ab0d086a457b085e3c9ba1c987d5499079cd6 by Lang Hames
[AArch64] Don't implicitly enable global isel on Darwin if
code-model==large.
Summary: AArch64 GlobalISel doesn't support MachO's large code model, so
this patch adds a check for that combination before implicitly enabling
it.
Reviewers: paquette
Subscribers: kristof.beyls, ributzka, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67724
llvm-svn: 372256
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64-code-model-large-darwin.ll
Commit b646dd92c2385d31104057e8ff6f651b28c931b6 by lebedev.ri
[InstCombine] foldUnsignedUnderflowCheck(): handle last few cases
(PR43251)
Summary: I don't have a direct motivational case for this, but it would
be good to have this for completeness/symmetry.
This pattern is basically the motivational pattern from
https://bugs.llvm.org/show_bug.cgi?id=43251 but with different predicate
that requires that the offset is non-zero.
The completeness bit comes from the fact that a similar pattern (offset
!= zero) will be needed for https://bugs.llvm.org/show_bug.cgi?id=43259,
so it'd seem to be good to not overlook very similar patterns..
Proofs: https://rise4fun.com/Alive/21b
Also, there is something odd with `isKnownNonZero()`, if the non-zero
knowledge was specified as an assumption, it didn't pick it up (PR43267)
With this, i see no other missing folds for
https://bugs.llvm.org/show_bug.cgi?id=43251
Reviewers: spatel, nikic, xbolva00
Reviewed By: spatel
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67412
llvm-svn: 372257
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/result-of-usub-is-non-zero-and-no-overflow.ll
Commit a042aa1d829bbf37dc1feeca66d1c3fe77d53272 by lebedev.ri
[CodeGen][X86][NFC] Tests for (sub Carry, X) -> (addcarry (sub 0, X), 0,
Carry) fold (D62392)
llvm-svn: 372258
The file was modifiedllvm/test/CodeGen/X86/subcarry.ll
Commit c00f3182243d097382b71af199719c3027d96900 by lebedev.ri
[DAGCombine][ARM][X86] (sub Carry, X)  ->  (addcarry (sub 0, X), 0,
Carry)  fold
Summary:
`DAGCombiner::visitADDLikeCommutative()` already has a sibling fold:
`(add X, Carry) -> (addcarry X, 0, Carry)`
This fold, as suggested by @efriedma, helps recover from //some// of the
regressions of D62266
Reviewers: efriedma, deadalnix
Subscribers: javed.absar, kristof.beyls, llvm-commits, efriedma
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D62392
llvm-svn: 372259
The file was modifiedllvm/test/CodeGen/ARM/addsubcarry-promotion.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/subcarry.ll
Commit f88e75525d253a2af2e5ccfc860673aedbafc552 by dimitry
On PowerPC, Secure-PLT by default for FreeBSD 13 and higher
Summary: In https://svnweb.freebsd.org/changeset/base/349351, FreeBSD 13
and higher transitioned to Secure-PLT for PowerPC.  This part contains
the changes in llvm's PPC subtarget.
Reviewers: emaste, jhibbits, hfinkel
Reviewed By: jhibbits
Subscribers: wuzish, nemanjai, krytarowski, kbarton, MaskRay, jsji,
shchenz, steven.zhang, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67118
llvm-svn: 372260
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
Commit ab8b456ce5d85d3143b04475449733b2f5e02233 by dimitry
On PowerPC, Secure-PLT by default for FreeBSD 13 and higher
Summary: In https://svnweb.freebsd.org/changeset/base/349351, FreeBSD 13
and higher transitioned to Secure-PLT for PowerPC.  This part contains
the changes in clang's PPC architecture defaults.
Reviewers: emaste, jhibbits, hfinkel
Reviewed By: jhibbits
Subscribers: wuzish, nemanjai, krytarowski, kbarton, MaskRay, jsji,
shchenz, steven.zhang, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67119
llvm-svn: 372261
The file was modifiedclang/lib/Driver/ToolChains/Arch/PPC.cpp
Commit feea722cf3dc9bcabec7350cfb3e8ac9ed19de10 by lebedev.ri
[SimplifyCFG] mergeConditionalStoreToAddress(): try to pacify MSAN
MSAN bot complains that there is use-of-uninitialized-value of this
FreeStores later in IsWorthwhile(). Perhaps FreeStores needs to be
stored in a vector?
llvm-svn: 372262
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 3425a896767621d2cb594edbca16424c3ee8b73d by l.lunak
fix build, adjust test also for Windows path separator
Introduced in 1e9c1d2b7bfc.
llvm-svn: 372263
The file was modifiedclang/test/Frontend/rewrite-includes-conditions.c
The file was modifiedclang/test/Frontend/rewrite-includes.c
Commit 070598bb529a9ac1b10e4c65a9644c90855255c4 by dblaikie
llvm-reduce: Add pass to reduce basic blocks
Patch by Diego Treviño!
Differential Revision: https://reviews.llvm.org/D66320
llvm-svn: 372264
The file was addedllvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.h
The file was addedllvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.h
The file was addedllvm/test/Reduce/Inputs/remove-bbs.py
The file was addedllvm/test/Reduce/remove-bbs.ll
Commit 79718839d282506f1c2d5e439fc433e94c3abf3f by llvmgnsyncbot
gn build: Merge r372264
llvm-svn: 372265
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Commit e40ef12bfad0108024d7d3979565096843bb29a7 by sbc
[lld][WebAssembly] Fix use after free of archive path
This was fixed in the ELF backend in https://reviews.llvm.org/D34554.
Differential Revision: https://reviews.llvm.org/D67676
llvm-svn: 372266
The file was modifiedlld/wasm/InputFiles.h
Commit 68eae4985995f06a8bbfadb9cf420a66cbfbe04a by akhuang
Add AutoUpgrade function to add new address space datalayout string to
existing datalayouts.
Summary: Add function to AutoUpgrade to change the datalayout of old X86
datalayout strings. This adds "-p270:32:32-p271:32:32-p272:64:64" to X86
datalayouts that are otherwise valid and don't already contain it.
This also removes the compatibility changes in
https://reviews.llvm.org/D66843. Datalayout change in
https://reviews.llvm.org/D64931.
Reviewers: rnk, echristo
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67631
llvm-svn: 372267
The file was modifiedllvm/lib/IR/AutoUpgrade.cpp
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was addedllvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp
The file was modifiedllvm/unittests/Bitcode/CMakeLists.txt
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.h
The file was addedllvm/test/Bitcode/upgrade-datalayout.ll
The file was addedllvm/test/Bitcode/upgrade-datalayout2.ll
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedllvm/include/llvm/IR/AutoUpgrade.h
The file was addedllvm/test/Bitcode/upgrade-datalayout3.ll
Commit bdad30a8b8fa48a62a37e7400b3ae5a99a6aca53 by llvmgnsyncbot
gn build: Merge r372267
llvm-svn: 372268
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Bitcode/BUILD.gn
Commit b8ac93c73b618dd9bec20dc2d94ec9afb0140780 by kristof.umann
[analyzer] PR43102: Fix an assertion and an out-of-bounds error for
diagnostic location construction
Summary: https://bugs.llvm.org/show_bug.cgi?id=43102
In today's edition of "Is this any better now that it isn't crashing?",
I'd like to show you a very interesting test case with loop widening.
Looking at the included test case, it's immediately obvious that this is
not only a false positive, but also a very bad bug report in general. We
can see how the analyzer mistakenly invalidated `b`, instead of its
pointee, resulting in it reporting a null pointer dereference error. Not
only that, the point at which this change of value is noted at is at the
loop, rather then at the method call.
It turns out that `FindLastStoreVisitor` works correctly, rather the
supplied explodedgraph is faulty, because `BlockEdge` really is the
`ProgramPoint` where this happens.
{F9855739} So it's fair to say that this needs improving on multiple
fronts. In any case, at least the crash is gone.
Full ExplodedGraph: {F9855743}
Reviewers: NoQ, xazax.hun, baloghadamsoftware, Charusso, dcoughlin,
rnkovacs, TWeaver
Subscribers: JesperAntonsson, uabelho, Ka-Ka, bjope, whisperity, szepet,
a.sidorin, mikhail.ramalho, donat.nagy, dkrupp, gamesh411, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66716
llvm-svn: 372269
The file was modifiedclang/lib/Analysis/PathDiagnostic.cpp
The file was addedclang/test/Analysis/loop-widening.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
Commit c4da7eeccde607dc7a0d9efe0ddf299aee54ef01 by dblaikie
llvm-reduce: Fix inconsistencies between int/unsigned usage (standardize
on int)
llvm-svn: 372270
The file was modifiedllvm/tools/llvm-reduce/deltas/Delta.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/Delta.h
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
Commit 69a92352022338417f27bfa45c0471beb6a92cc7 by dblaikie
llvm-reduce: Remove inaccurate doxy comment about a return that isn't
returned
Addressing post-commit code review feedback from Dávid Bolvanský -
thanks!
llvm-svn: 372271
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
Commit 0779dffbd4a927d7bf9523482481248c51796907 by Adrian Prantl
Remove the obsolete BlockByRefStruct flag from LLVM IR
DIFlagBlockByRefStruct is an unused DIFlag that originally was used by
clang to express (Objective-)C block captures in debug info. For the
last year Clang has been emitting complex DIExpressions to describe
block captures instead, which makes all the code supporting this flag
redundant.
This patch removes the flag and all supporting "dead" code, so we can
reuse the bit for something else in the future.
Since this only affects debug info generated by Clang with the block
extension this mostly affects Apple platforms and I don't have any
bitcode compatibility concerns for removing this. The Verifier will
reject debug info that uses the bit and thus degrade gracefully when
LTO'ing older bitcode with a newer compiler.
rdar://problem/44304813
Differential Revision: https://reviews.llvm.org/D67453
llvm-svn: 372272
The file was modifiedllvm/test/Verifier/blockbyref.ll
The file was modifiedllvm/test/DebugInfo/Generic/block-asan.ll
The file was modifiedllvm/include/llvm/IR/DebugInfoFlags.def
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/include/llvm-c/DebugInfo.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
The file was modifiedllvm/bindings/go/llvm/dibuilder.go
The file was modifiedllvm/test/CodeGen/ARM/debug-info-blocks.ll
Commit ce65ebc39e5bac42308038aab90507611d319d26 by Jessica Paquette
[AArch64][GlobalISel] Support lowering musttail calls
Since we now lower most tail calls, it makes sense to support musttail.
Instead of always falling back to SelectionDAG, only fall back when a
musttail call was not able to be emitted as a tail call. Once we can
handle most incoming and outgoing arguments, we can change this to a
`report_fatal_error` like in ISelLowering.
Remove the assert that we don't have varargs and a musttail, and replace
it with a return false. Implementing this requires that we implement
`saveVarArgRegisters` from AArch64ISelLowering, which is an entirely
different patch.
Add GlobalISel lines to vararg-tallcall.ll to make sure that we produce
correct code. Right now we only fall back, but eventually this will be
relevant.
Differential Revision: https://reviews.llvm.org/D67681
llvm-svn: 372273
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-translator-musttail.ll
The file was modifiedllvm/test/CodeGen/AArch64/vararg-tallcall.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
Commit 8535ba6fa01e355521398c164e5b3d665be2125b by d4m1887
[Docs] Moves topics to new categories
This commit moves several topics to new categories. It also removes a
few duplicate links in Subsystem Documentation.
llvm-svn: 372274
The file was modifiedllvm/docs/index.rst
The file was modifiedllvm/docs/ProgrammingDocumentation.rst
The file was modifiedllvm/docs/UserGuides.rst
The file was modifiedllvm/docs/SubsystemDocumentation.rst
Commit dbcd7f560270890ee0857b86721bf561103192d8 by tlively
[WebAssembly] Restore defaults for stores per memop
Summary: Large slowdowns were observed in Rust due to many small,
constant sized copies in conjunction with poorly-optimized memory.copy
implementations. Since memory.copy cannot be expected to be inlined
efficiently by engines at this time, stop using it for the smallest
copies. We continue to lower all memcpy intrinsics to memory.copy,
though.
Reviewers: aheejin, alexcrichton
Subscribers: dschuff, sbc100, jgravelle-google, hiraditya, JDevlieghere,
sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67639
llvm-svn: 372275
The file was modifiedllvm/test/CodeGen/WebAssembly/bulk-memory.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Commit 73778e9878fab279b4f8654d3eecff2571c6398b by rtereshin
[utils] Amend update_llc_test_checks.py to non-llc tooling, NFC
Very minor change aiming to make it easier to extend the script
downstream to support non-llc, but llc-like tools. The main objective is
to decrease the probability of merge conflicts.
llvm-svn: 372276
The file was modifiedllvm/utils/update_llc_test_checks.py
Commit 84c368e2e22f240565f76fbd396af7544b30b60d by rtereshin
[utils] Add minimal support for MIR inputs to update_llc_test_checks.py
update_{llc,mir}_test_checks.py applicability is determined by the
output (assembly or MIR), not the input, which makes
update_llc_test_checks.py the right tool to generate tests that start at
MIR and stop at the final assembly.
This commit adds the minimal support for this path. Main limitation that
remains:
- MIR has to have LLVM IR section, and the CHECK lines will be inserted
into the LLVM IR functions that correspond to the MIR functions.
Running
../utils/update_llc_test_checks.py --llc-binary ./bin/llc on a slightly
modified  ../test/CodeGen/X86/bad-tls-fold.mir
produces the following diff:
+# NOTE: Assertions have been autogenerated by
utils/update_llc_test_checks.py
+# RUN: llc %s -o - | FileCheck %s
--- |
  target triple = "x86_64-unknown-linux-gnu"
@@ -6,17 +7,31 @@
  @i = external thread_local global i32
   define i32 @or() {
+  ; CHECK-LABEL: or:
+  ; CHECK:       # %bb.0: # %entry
+  ; CHECK-NEXT:    movq {{.*}}(%rip), %rax
+  ; CHECK-NEXT:    orq $7, %rax
+  ; CHECK-NEXT:    movq i@{{.*}}(%rip), %rcx
+  ; CHECK-NEXT:    orq %rax, %rcx
+  ; CHECK-NEXT:    movl %fs:(%rcx), %eax
+  ; CHECK-NEXT:    retq
  entry:
    ret i32 undef
  }
-
  define i32 @and() {
+  ; CHECK-LABEL: and:
+  ; CHECK:       # %bb.0: # %entry
+  ; CHECK-NEXT:    movq {{.*}}(%rip), %rax
+  ; CHECK-NEXT:    orq $7, %rax
+  ; CHECK-NEXT:    movq i@{{.*}}(%rip), %rcx
+  ; CHECK-NEXT:    andq %rax, %rcx
+  ; CHECK-NEXT:    movl %fs:(%rcx), %eax
+  ; CHECK-NEXT:    retq
  entry:
    ret i32 undef
  }
...
(not applied)
llvm-svn: 372277
The file was modifiedllvm/utils/update_llc_test_checks.py
Commit 4fd11c1e456ef36ce7c49c51c9daef6d0ffd8cbc by shal1t712
[Object] Extend MachOUniversalBinary::getObjectForArch
Make the method MachOUniversalBinary::getObjectForArch return
MachOUniversalBinary::ObjectForArch and add helper methods
MachOUniversalBinary::getMachOObjectForArch,
MachOUniversalBinary::getArchiveForArch for those who explicitly expect
to get a MachOObjectFile or an Archive.
Differential revision: https://reviews.llvm.org/D67700
Test plan: make check-all
llvm-svn: 372278
The file was modifiedllvm/tools/llvm-lipo/llvm-lipo.cpp
The file was modifiedllvm/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modifiedllvm/tools/llvm-objdump/MachODump.cpp
The file was modifiedllvm/include/llvm/Object/MachOUniversal.h
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
The file was modifiedllvm/lib/Object/MachOUniversal.cpp
The file was modifiedllvm/lib/Object/Object.cpp
Commit fa7f168a371200456b1dd237302597260c22f99e by dblaikie
llvm-reduce: Avoid use-after-free when removing a branch instruction
Found my msan buildbot & pointed out by Nico Weber - thanks Nico!
llvm-svn: 372280
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
Commit e93aded7f02d661234ad81aac0785ccdef6a79dd by sguelton
Initialize all fields in ABIArgInfo.
Due to usage of an uninitialized fields, we end up with a Conditional
jump or move depends on uninitialised value
Fixes https://bugs.llvm.org/show_bug.cgi?id=40547
Commited on behalf of Martin Liska <mliska@suse.cz>
llvm-svn: 372281
The file was modifiedclang/include/clang/CodeGen/CGFunctionInfo.h
Commit 798fe477e39db137ec0f76c94cbee17761bdef0a by dblaikie
llvm-reduce: Add pass to reduce instructions
Patch by Diego Treviño!
Differential Revision: https://reviews.llvm.org/D66263
llvm-svn: 372282
The file was addedllvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
The file was addedllvm/test/Reduce/remove-instructions.ll
The file was addedllvm/test/Reduce/Inputs/remove-instructions.py
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt
The file was modifiedllvm/test/Reduce/remove-global-vars.ll
The file was addedllvm/tools/llvm-reduce/deltas/ReduceInstructions.h
The file was modifiedllvm/test/Reduce/Inputs/remove-bbs.py
The file was modifiedllvm/test/Reduce/Inputs/remove-global-vars.py
The file was modifiedllvm/tools/llvm-reduce/DeltaManager.h
Commit 98a57332ef0e4b859e74a3a43f7f31e9ff1683e0 by llvmgnsyncbot
gn build: Merge r372282
llvm-svn: 372283
The file was modifiedllvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Commit 21143b93a6ee1121b96ee7f4a75ee542580ba57c by tlively
[WebAssembly] Sort output data sections to place .bss last
Summary: This was always the intended behavior, but had not been
implemented. This ordering is important for Emscripten when generating
.mem files while compiling to JS, since only zeros at the end of
initialized memory can be dropped.
Fixes https://github.com/emscripten-core/emscripten/issues/8999
Reviewers: sbc100
Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67736
llvm-svn: 372284
The file was modifiedlld/test/wasm/data-segment-merging.ll
The file was modifiedlld/test/wasm/data-segments.ll
The file was modifiedlld/wasm/OutputSegment.h
The file was modifiedlld/test/wasm/tls-align.ll
The file was modifiedlld/test/wasm/tls.ll
The file was modifiedlld/test/wasm/reloc-addend.ll
The file was addedlld/test/wasm/custom-section-name.ll
The file was modifiedlld/test/wasm/data-layout.ll
The file was modifiedlld/test/wasm/relocatable.ll
The file was modifiedlld/wasm/Writer.cpp
Commit d8399d12cd851dacd8f3e1be8b7ca79372626f38 by Matthew.Arsenault
GlobalISel: Don't materialize immarg arguments to intrinsics
Encode them directly as an imm argument to G_INTRINSIC*.
Since now intrinsics can now define what parameters are required to be
immediates, avoid using registers for them. Intrinsics could potentially
want a constant that isn't a legal register type. Also, since G_CONSTANT
is subject to CSE and legalization, transforms could potentially obscure
the value (and create extra work for the selector). The register bank of
a G_CONSTANT is also meaningful, so this could throw off future folding
and legalization logic for AMDGPU.
This will be much more convenient to work with than needing to call
getConstantVRegVal and checking if it may have failed for every constant
intrinsic parameter. AMDGPU has quite a lot of intrinsics wth immarg
operands, many of which need inspection during lowering. Having to find
the value in a register is going to add a lot of boilerplate and waste
compile time.
SelectionDAG has always provided TargetConstant for constants which
should not be legalized or materialized in a register. The distinction
between Constant and TargetConstant was somewhat fuzzy, and there was no
automatic way to force usage of TargetConstant for certain intrinsic
parameters. They were both ultimately ConstantSDNode, and it was
inconsistently used. It was quite easy to mis-select an instruction
requiring an immediate. For SelectionDAG, start emitting TargetConstant
for these arguments, and using timm to match them.
Most of the work here is to cleanup target handling of constants. Some
targets process intrinsics through intermediate custom nodes, which need
to preserve TargetConstant usage to match the intrinsic expectation.
Pattern inputs now need to distinguish whether a constant is merely
compatible with an operand or whether it is mandatory.
The GlobalISelEmitter needs to treat timm as a special case of a leaf
node, simlar to MachineBasicBlock operands. This should also enable
handling of patterns for some G_* instructions with immediates, like
G_FENCE or G_EXTRACT.
This does include a workaround for a crash in GlobalISelEmitter when ARM
tries to uses "imm" in an output with a "timm" pattern source.
llvm-svn: 372285
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_vs.ll
The file was addedllvm/test/TableGen/immarg.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.s.sleep.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepOperands.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonIntrinsics.td
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/InstructionSelectorImpl.h
The file was modifiedllvm/lib/Target/Mips/MipsInstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86InstrTSX.td
The file was modifiedllvm/lib/Target/Mips/MipsDSPInstrInfo.td
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZOperands.td
The file was modifiedllvm/lib/Target/X86/X86InstrXOP.td
The file was modifiedllvm/include/llvm/Target/TargetSelectionDAG.td
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrFormats.td
The file was modifiedllvm/lib/Target/Mips/MipsSEISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-struct-return-intrinsics.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZOperators.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.s.sendmsg.mir
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZPatterns.td
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrSystem.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
The file was modifiedllvm/lib/Target/X86/X86InstrMMX.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn-exp.mir
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoA.td
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgcn-sendmsg.ll
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was modifiedllvm/lib/Target/Mips/MipsMSAInstrInfo.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrVector.td
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-amdgcn.exp.mir
The file was modifiedllvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrFormats.td
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/Mips64InstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP3Instructions.td
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_ps.ll
The file was modifiedllvm/lib/Target/Mips/MicroMipsDSPInstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
Commit 22e2c09515e33f11955e7af6dfd09de093c5385b by Matthew.Arsenault
AMDGPU/GlobalISel: Fix RegBankSelect G_SMULH/G_UMULH pre-gfx9
The scalar versions were only introduced in gfx9.
llvm-svn: 372286
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-umulh.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-smulh.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
Commit c189f023ac44d64e7d245e08dee53003da74f5d1 by Matthew.Arsenault
MachineScheduler: Fix assert from not checking subregs
The assert would fail if there was a dead def of a subregister if there
was a previous use of a different subregister.
llvm-svn: 372287
The file was addedllvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
The file was modifiedllvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
The file was modifiedllvm/lib/CodeGen/ScheduleDAGInstrs.cpp
Commit 01213407c4114f5b587b29eae11f0a417666f965 by Matthew.Arsenault
Fix typo
llvm-svn: 372288
The file was modifiedllvm/test/CodeGen/AMDGPU/sched-assert-dead-def-subreg-use-other-subreg.mir
Commit a30d022db6d4c0b7f16c50c322667eedd45553d2 by Matthew.Arsenault
AMDGPU/GlobalISel: Attempt to RegBankSelect image intrinsics
Images should always have 2 consecutive, mandatory SGPR arguments.
llvm-svn: 372289
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.sample.1d.ll
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.image.load.1d.ll
Commit a62ef58346818bbd30201dc81a4d10ecfc1c9ca9 by Matthew.Arsenault
AMDGPU/GlobalISel: RegBankSelect llvm.amdgcn.raw.buffer.{load|store}
llvm-svn: 372290
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.buffer.store.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.buffer.load.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit 838ff36553ae4933134ee0a383a238bbedcba0ec by Matthew.Arsenault
AMDGPU/GlobalISel: RegBankSelect struct buffer load/store
llvm-svn: 372291
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.store.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.struct.buffer.load.ll
Commit 67f1f6ff8c07b5eef7239679a6b534efe933ceaa by Matthew.Arsenault
AMDGPU/GlobalISel: Select llvm.amdgcn.raw.buffer.store
llvm-svn: 372292
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
The file was removedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.raw.buffer.store.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
Commit 494243597b46350a248ee25efb0e3a728fc5900c by Matthew.Arsenault
AMDGPU/GlobalISel: Select llvm.amdgcn.raw.buffer.store.format
This needs special handling due to some subtargets that have a
nonstandard register layout for f16 vectors
Also reject some illegal types on other targets.
llvm-svn: 372293
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f16.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.store.format.f32.ll
Commit c15aa241f8213334f6980b7981cee1f28f81112a by yhs
[CLANG][BPF] change __builtin_preserve_access_index() signature
The clang intrinsic __builtin_preserve_access_index() currently has
signature:
const void * __builtin_preserve_access_index(const void * ptr)
This may cause compiler warning when:
- parameter type is "volatile void *" or "const volatile void *", or
- the assign-to type of the intrinsic does not have "const" qualifier.
Further, this signature does not allow dereference of the builtin result
pointer as it is a "const void *" type, which adds extra step for the
user to do type casting.
Let us change the signature to:
PointerT __builtin_preserve_access_index(PointerT ptr) such that the
result and argument types are the same. With this, directly
dereferencing the builtin return value becomes possible.
Differential Revision: https://reviews.llvm.org/D67734
llvm-svn: 372294
The file was modifiedclang/test/Sema/builtin-preserve-access-index.c
The file was modifiedclang/include/clang/Basic/Builtins.def
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit 4f663a63677d71fbeaeab29d716525fd8cfe1477 by Matthew.Arsenault
AMDGPU/GlobalISel: RegBankSelect tbuffer load/store
These have the same operand structure as the non-t buffer operations.
llvm-svn: 372296
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
Commit bffbeecb44a4a727784b1777e56fe8c9a0fea3fb by Matthew.Arsenault
AMDGPU/GlobalISel: RegBankSelect llvm.amdgcn.ds.swizzle
llvm-svn: 372297
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.ds.swizzle.mir
Commit 9f4c7571a1fedd627218b62535a378f85e1fe43c by tstellar
AMDGPU/SILoadStoreOptimizer: Add const to more functions
Reviewers: arsenm, pendingchaos, rampitec, nhaehnle, vpykhtin
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye,
hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65901
llvm-svn: 372298
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Commit 84dc688bc71f26257866070f2e33170dfb336065 by maskray
[Builtins] Delete setjmp_syscall and qsetjmp
Similar to the resolution of gcc PR71876. Nobody uses them or needs the
[-Wincomplete-setjmp-declaration] diagnostic.
llvm-svn: 372299
The file was modifiedclang/include/clang/Basic/Builtins.def
Commit c36b0bf31067b258af59b9f865cef5a091bf906f by mgorny
[lldb] [Process/gdb-remote] Correct more missing
LLDB_INVALID_SIGNAL_NUMBER
Correct more uses of 0 instead of LLDB_INVALID_SIGNAL_NUMBER.
Differential Revision: https://reviews.llvm.org/D67727
llvm-svn: 372300
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
Commit eff4fd69998217837ba8b1d7a2e0394d21e34949 by craig.topper
[X86] Remove unused argument from a helper function. NFC
llvm-svn: 372301
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit d103bb654fe1e7adf60b085c295a38b182859a7d by craig.topper
[X86] Change a SmallVector& argument to SmallVectorImpl&. NFC
Avoids repeating the size.
llvm-svn: 372302
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 56aa691c4149a20c28b1ec3a1f0ee06b591fa49c by sam.parker
[ARM] Fix for buildbots
I had missed that massive.mir also needed updating.
llvm-svn: 372303
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/massive.mir
Commit c2d25ed1b36d1c9cd02421b09635c1ee55b8099d by craig.topper
[X86] Prevent crash in LowerBUILD_VECTORvXi1 for v64i1 vectors on 32-bit
targets when the vector is a mix of constants and non-constant.
We need to materialize the constants as two 32-bit values that are
casted to v32i1 and then concatenated.
llvm-svn: 372304
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll
Commit a44768858c75ae3e020bb2951af00743ae48742e by serguei.katkov
[Unroll] Add an option to control complete unrolling
Add an ability to specify the max full unroll count for LoopUnrollPass
pass in pass options.
Reviewers: fhahn, fedor.sergeev Reviewed By: fedor.sergeev Subscribers:
hiraditya, zzheng, dmgreen, llvm-commits Differential Revision:
https://reviews.llvm.org/D67701
llvm-svn: 372305
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/UnrollLoop.h
The file was addedllvm/test/Transforms/LoopUnroll/disable-full-unroll-by-opt.ll
The file was modifiedllvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 5e7c76aa382967b5792f2c448df9eab9fbcd2322 by mark.murray
[TestCommit] Trivial change to test commit access.
llvm-svn: 372306
The file was modifiedclang/bindings/python/README.txt
Commit 8a12e40185cd0ce7031e6abab4af12e6fc923110 by mark.murray
[TestCommit] Trivial change to test commit access.
llvm-svn: 372307
The file was modifiedclang/bindings/python/README.txt
Commit da89495a3e73bfc02ffb7d881da1db628d1d0815 by llvm-dev
Fix MSVC "result of 32-bit shift implicitly converted to 64 bits"
warning. NFCI.
llvm-svn: 372308
The file was modifiedllvm/lib/Target/ARM/ARMBasicBlockInfo.h
Commit 04398c729b20c16aa06bfab4330cf1831d1f8dec by gbreynoo
[llvm-ar] Include a line number when failing to parse an MRI script
Errors that occur when reading an MRI script now include a corresponding
line number.
Differential Revision: https://reviews.llvm.org/D67449
llvm-svn: 372309
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
The file was addedllvm/test/tools/llvm-ar/mri-errors.test
The file was modifiedllvm/test/tools/llvm-ar/mri-addlib.test
Commit cce2342d4691ab34915025b9959c3f12589dce51 by llvm-dev
Fix -Wdocumentation "@returns in a void function" warning. NFCI.
llvm-svn: 372310
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Commit aa03c14827fab3caba6306fc2e5d7f1757230f73 by gbreynoo
Revert [llvm-ar] Include a line number when failing to parse an MRI
script
Revert r372309 due to buildbot failures
Differential Revision: https://reviews.llvm.org/D67449
llvm-svn: 372311
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
The file was modifiedllvm/test/tools/llvm-ar/mri-addlib.test
The file was removedllvm/test/tools/llvm-ar/mri-errors.test
Commit ec841cf36ca1cb6a154393d7e9f48e8723a38966 by hans
[cmake] Strip quotes in try_compile_only
After r372209, the compile command can end up including an argument with
quotes in it, e.g.
  -fprofile-instr-use="/foo/bar.profdata"
when invoking the compiler with execute_process, the compiler ends up
getting that argument with quotes and all, and fails to open the file.
This all seems horribly broken, but one way of working around it is to
simply strip the quotes from the string here. If they were there to
protect a path that's got spaces in it, that wasn't going to work anyway
because the string is later split by spaces.
llvm-svn: 372312
The file was modifiedcompiler-rt/cmake/Modules/BuiltinTests.cmake