SuccessChanges

Summary

  1. [ARM] Fix for MVE load/store stack accesses (details)
  2. [LoopVectorize] Don't dereference a dyn_cast result. NFCI. (details)
  3. InterleavedAccessInfo - Don't dereference a dyn_cast result. NFCI. (details)
  4. [X86] X86DAGToDAGISel::tryFoldLoad - assert root/parent pointers are (details)
  5. [OpenCL] Tidy up some comments; NFC (details)
  6. [RISCV][NFC] Use NoRegister instead of 0 literal (details)
  7. [ARM] Fix for buildbots (details)
  8. [llvm-readobj/llvm-objdump] - Improve how tool locate the dynamic table (details)
  9. gn build: (manually) merge r372076 (details)
  10. Add SpellingNotCalculated to Attribute Enums to suppress UBSan warnings (details)
  11. Revert "[SLC] Preserve attrs for strncpy(x, "", y) -> memset(align 1 x, (details)
  12. [ARM] Fix for buildbots (details)
  13. [RISCV] Unbreak the build (details)
  14. [clangd] Fix another TSAN issue (details)
  15. [clang-format] Fix cleanup of `AnnotatedLine` to include children nodes. (details)
  16. [OPENMP]Try to rework the test to pacify the buildbots, NFC. (details)
  17. [ARM] Reserve an emergency spill slot for fp16 addressing modes that (details)
  18. [ARM] Fixup pipeline test. NFC (details)
  19. [ARM] Add a SelectTAddrModeImm7 for MVE narrow loads and stores (details)
  20. GSYM: add encoding and decoding to FunctionInfo (details)
  21. Move DK_Misexpect for compatability with (details)
  22. [MemorySSA] Update MSSA for non-conventional AA. (details)
  23. [MemorySSA] Fix phi insertion when inserting a def. (details)
  24. [PowerPC] Exploit single instruction load-and-splat for word and (details)
  25. [ASAN] Adjust asan tests due to new optimizations (details)
  26. Reland "[SLC] Preserve attrs for strncpy(x, "", y) -> memset(align 1 x, (details)
  27. Remove asan test for strncat(x, y, 0) (details)
  28. Fix MSVC lambda capture warnings. NFCI. (details)
  29. [ARM][AsmParser] Don't dereference a dyn_cast result. NFCI. (details)
  30. [TableGen] CodeGenMapTable - Don't dereference a dyn_cast result. NFCI. (details)
  31. [OPENMP5.0]Introduce attribute for declare variant directive. (details)
  32. [OPENMP] Rework the test, NFC. (details)
  33. GSYM: Add the llvm::gsym::Header header class with tests (details)
  34. gn build: Merge r372149 (details)
  35. [AMDGPU] Added MI bit IsDOT (details)
  36. Use 'BOOL' instead of BOOL in diagnostic messages (details)
  37. [X86] Simplify some code in LowerBUILD_VECTORvXi1. NFCI (details)
  38. [X86] Call SimplifyDemandedVectorElts on KSHIFTL/KSHIFTR nodes during (details)
  39. [X86] Simplify b2b KSHIFTL+KSHIFTR using demanded elts. (details)
  40. [docs][Bugpoint]Add notes about multiple crashes (details)
  41. [SimplifyDemandedBits] Use APInt::intersects to instead of ANDing and (details)
  42. [X86] Use APInt::operator<<= and APInt::lshrInPlace. NFC (details)
  43. [docs][Bugpoint] Fix build break. (details)
  44. [docs][Bugpoint] Revert 5584ead50 a5aa3353 (details)
  45. Data Dependence Graph Basics (details)
  46. gn build: Merge r372162 (details)
  47. [AArch64][GlobalISel][NFC] Refactor tail call lowering code (details)
  48. WasmEmitter - Don't dereference a dyn_cast result. NFCI. (details)
  49. NVPTXAsmPrinter - Don't dereference a dyn_cast result. NFCI. (details)
  50. Revert "Data Dependence Graph Basics" (details)
  51. [NFC][InstCombine] More tests for "Dropping pointless masking before (details)
  52. [NFC][InstCombine] dropRedundantMaskingOfLeftShiftInput(): some NFC diff (details)
  53. AArch64CallLowering::lowerCall(): fix build by not passing InArgs into (details)
  54. gn build: Merge r372168 (details)
  55. [clang-scan-deps] Add verbose mode (details)
  56. [AArch64][GlobalISel] Support -tailcallopt (details)
  57. Ignore exception specifier mismatch when merging redeclarations (details)
  58. Fix buildbots. (details)
  59. Create UsersManual section entitled 'Controlling Floating Point (details)
  60. Reland "[docs][Bugpoint]Add notes about multiple crashes" (details)
  61. [PGO] Don't use comdat groups for counters & data on COFF (details)
  62. [Sema] Split of versions of -Wimplicit-{float,int}-conversion for (details)
  63. Revert "Create UsersManual section entitled 'Controlling Floating Point" (details)
  64. [ARM] VFPv2 only supports 16 D registers. (details)
  65. [ARM] Update clang for removal of vfp2d16 and vfp2d16sp (details)
  66. [CodeGen] Handle outlining of CopyStmts. (details)
  67. [PGO] Change hardcoded thresholds for cold/inlinehint to use summary (details)
  68. [ScriptInterpreter] Remove ScriptInterpreterPythonImpl::Clear() (NFC) (details)
  69. [Timers] Fix printing some `-ftime-report` sections twice. Fixes (details)
  70. [ScriptInterpreter] Limit LLDB's globals to interactive mode. (details)
  71. TestFoundationDisassembly.py is not dependent on debug information. (details)
  72. Cache PYTHON_EXECUTABLE for windows (details)
  73. [Remarks] Allow the RemarkStreamer to be used directly with a stream (details)
  74. Clean up this test. (details)
  75. [X86] Prevent assertion when calling a function that returns double with (details)
  76. [BPF] Permit all user instructed offset relocatiions (details)
  77. [X86] Add test case for passing a v17i1 vector with avx512 (details)
  78. [X86] Break non-power of 2 vXi1 vectors into scalars for argument (details)
  79. [Support] Replace function with function_ref in writeFileAtomically. NFC (details)
  80. Revert "r372201: [Support] Replace function with function_ref in (details)
  81. [lldb] Print better diagnostics for user expressions and modules (details)
  82. [AArch64][DebugInfo] Do not recompute CalleeSavedStackSize (details)
  83. tsan: allow the Go runtime to return multiple stack frames for a single (details)
  84. [clang-tidy] Fix a potential infinite loop in (details)
  85. [Alignment] Add a None() member function (details)
  86. [AMDGPU] Allow FP inline constant in v_madak_f16 and v_fmaak_f16 (details)
  87. [cmake] Changes to get Windows self-host working with PGO (details)
  88. [lldb][CMake] Infer `Clang_DIR` if not passed explicitly (details)
  89. Fix -Wdocumentation "Unknown param" warning. NFCI. (details)
  90. Fix -Wdocumentation "@returns in a void function" warning. NFCI. (details)
  91. [lldb][CMake] Build LLDB.framework with -Wdocumentation in Xcode (details)
  92. Fix -Wdocumentation "empty paragraph passed to '\brief'" warning. NFCI. (details)
  93. Fix -Wdocumentation warning. NFCI. (details)
  94. [AST] CommentLexer - Remove (optional) Invalid parameter from (details)
Commit 1ff955305768b772be19ce8ee76246ab249bbe1c by david.green
[ARM] Fix for MVE load/store stack accesses
MVE loads and stores have a 7 bit immediate range, scaled by the length
of the type. This needs to be taught to the stack estimation code to
ensure that an emergency spill slot is reserved in case we run out of
registers when materialising stack indices.
Also the narrowing loads/stores can be created with frame indices even
though they do not accept SP as a register. We need in those cases to
make sure we have an emergency register to use as the frame base, as SP
can never be used.
Differential Revision: https://reviews.llvm.org/D67327
llvm-svn: 372114
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was addedllvm/test/CodeGen/Thumb2/mve-stacksplot.mir
Commit a2719f38c12d7208d2f931899e628d15562ee581 by llvm-dev
[LoopVectorize] Don't dereference a dyn_cast result. NFCI.
The static analyzer is warning about potential null dereferences of
dyn_cast<> results, we can use cast<> directly as we know that these
cases should all be CastInst, which is why its working atm and anyway
cast<> will assert if they aren't.
llvm-svn: 372116
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit c52a7093dfacacb65aabfff84c7e4fed854bb454 by llvm-dev
InterleavedAccessInfo - Don't dereference a dyn_cast result. NFCI.
llvm-svn: 372117
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
Commit f12a3da5a7aea556e326f50163c961c1ad5a4aa9 by llvm-dev
[X86] X86DAGToDAGISel::tryFoldLoad - assert root/parent pointers are
non-null. NFCI.
Silences a static analyzer warning.
llvm-svn: 372118
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Commit 47e95ff8133f2f24ea0aa5c4b0dc7e2b89cd11b7 by sven.vanhaastregt
[OpenCL] Tidy up some comments; NFC
llvm-svn: 372119
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td
Commit 6cf896b284bbdd6330a73bf1c9e976db19678a41 by luismarques
[RISCV][NFC] Use NoRegister instead of 0 literal
Summary: Trivial cleanup.
Reviewers: asb, lenary
Reviewed By: lenary
Subscribers: hiraditya, rbar, johnrusso, simoncook, apazos, sabuasal,
niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones,
rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei,
psnobl, benna, Jim, s.egerton, pzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67526
llvm-svn: 372120
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Commit f1d069e54df350a807e9b90462485483139327ea by sam.parker
[ARM] Fix for buildbots
Add --verifymachineinstrs and update the remaining low overhead loop
tests.
llvm-svn: 372121
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/multiblock-massive.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/size-limit.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/revert-non-header.mir
The file was modifiedllvm/test/CodeGen/Thumb2/LowOverheadLoops/switch.mir
Commit a3569aced05dd0238e286283da46bb55cd1f4c83 by grimar
[llvm-readobj/llvm-objdump] - Improve how tool locate the dynamic table
and report warnings about that.
Before this patch we gave a priority to a dynamic table found from the
section header.
It was discussed (here:
https://reviews.llvm.org/D67078?id=218356#inline-602082) that probably
preferring the table from PT_DYNAMIC is better, because it is what
runtime loader sees.
This patch makes the table from PT_DYNAMIC be chosen at first place if
it is available. But also it adds logic to fall back to SHT_DYNAMIC if
the table from the dynamic segment is broken or fall back to use no
table if both are broken.
It adds a few more diagnostic warnings for the logic above.
Differential revision: https://reviews.llvm.org/D67547
llvm-svn: 372122
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-not-in-pt-dynamic.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-non-dynamic-in-pt-dynamic.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-malformed.test
Commit 84a2f5e8b7874e111c7212008ec2fb6372a4a2c7 by nicolasweber
gn build: (manually) merge r372076
llvm-svn: 372123
The file was addedllvm/utils/gn/secondary/llvm/unittests/Target/ARM/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/BUILD.gn
Commit 68b0977e646abda3254a1eed123f75183b4aad3d by erich.keane
Add SpellingNotCalculated to Attribute Enums to suppress UBSan warnings
UBSan downstreams noticed that the assignment of SpellingNotCalculated
to the spellings caused warnings.
llvm-svn: 372124
The file was modifiedclang/utils/TableGen/ClangAttrEmitter.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit bdff164e0e07224948244ddc9bce5fd7052e09b9 by krasimir
Revert "[SLC] Preserve attrs for strncpy(x, "", y) -> memset(align 1 x,
'\0', y)"
Summary: This reverts commit r372101.
Causes ASAN build bot failures:
http://lab.llvm.org:8011/builders/sanitizer-ppc64be-linux/builds/14176
From
http://lab.llvm.org:8011/builders/sanitizer-ppc64be-linux/builds/14176/steps/64-bit%20check-asan/logs/stdio:
```
[ RUN      ] AddressSanitizer.StrNCatOOBTest
/home/buildbots/ppc64be-sanitizer/sanitizer-ppc64be/build/llvm-project/compiler-rt/lib/asan/tests/asan_str_test.cpp:462:
Failure Death test: strncat(to - 1, from, 0)
   Result: failed to die.
```
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67658
llvm-svn: 372125
The file was modifiedllvm/test/Transforms/InstCombine/strncpy-1.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit 1d9ba08543dca55f1d5e8ba83d065fc2090ba106 by sam.parker
[ARM] Fix for buildbots
Remove setPreservesCFG from ARMConstantIslandPass and add a couple of
-verify-machine-dom-info instances into the existing codegen tests.
llvm-svn: 372126
The file was modifiedllvm/test/CodeGen/Thumb2/constant-islands.ll
The file was modifiedllvm/test/CodeGen/ARM/constant-islands-cfg.mir
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Commit 167b3020753a339cc23fdd591b9d99543ab71038 by benny.kra
[RISCV] Unbreak the build
llvm-svn: 372127
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Commit 957a6c6bedfa87e5384703724c18ddeada9e189e by benny.kra
[clangd] Fix another TSAN issue
llvm-svn: 372128
The file was modifiedclang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
Commit 45b6ca5cd604d9dc0f957a5d80724acd54766f19 by yitzhakm
[clang-format] Fix cleanup of `AnnotatedLine` to include children nodes.
Summary: AnnotatedLine has a tree structure, and things like the body of
a lambda will be a child of the lambda expression. For example,
    [&]() { foo(a); };
will have an AnnotatedLine with a child:
    [&]() {};
    '- foo(a);
Currently, when the `Cleaner` class analyzes the affected lines, it does
not cleanup the lines' children nodes, which results in missed cleanup
opportunities, like the lambda body in the example above.
This revision extends the algorithm to visit children, thereby fixing
the above problem.
Patch by Eric Li.
Reviewers: krasimir
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67659
llvm-svn: 372129
The file was modifiedclang/unittests/Format/CleanupTest.cpp
The file was modifiedclang/lib/Format/Format.cpp
Commit d0cc0a39be47cabd1325395197a3b7276f7b9fd9 by a.bataev
[OPENMP]Try to rework the test to pacify the buildbots, NFC.
llvm-svn: 372130
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
Commit 22a2209433a40508c2866ce8f547fcf319f83186 by david.green
[ARM] Reserve an emergency spill slot for fp16 addressing modes that
need it
Similar to D67327, but this time for the FP16 VLDR and VSTR instructions
that use the AddrMode5FP16 addressing mode. We need to reserve an
emergency spill slot for instructions that will be out of range to use
sp directly. AddrMode5FP16 is 8 bits with a scale of 2.
Differential Revision: https://reviews.llvm.org/D67483
llvm-svn: 372132
The file was addedllvm/test/CodeGen/Thumb2/fp16-stacksplot.mir
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
Commit c42ca16cfa07da901b00940397e1a321623fd577 by david.green
[ARM] Fixup pipeline test. NFC
llvm-svn: 372133
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
Commit 91724b85307609f56eb2b547203107a578ea3fee by david.green
[ARM] Add a SelectTAddrModeImm7 for MVE narrow loads and stores
We were previously using the SelectT2AddrModeImm7 for both normal and
narrowing MVE loads/stores. As the narrowing instructions do not accept
sp as a register, it makes little sense to optimise a FrameIndex into
the load, only to have to recover that later on. This adds a
SelectTAddrModeImm7 which does not do that folding, and uses it for
narrowing load/store patterns.
Differential Revision: https://reviews.llvm.org/D67489
llvm-svn: 372134
The file was modifiedllvm/test/CodeGen/Thumb2/mve-stack.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
Commit b52650d57f86653de3ec259ee1ddaa19ec89d638 by clayborg
GSYM: add encoding and decoding to FunctionInfo
This patch adds encoding and decoding of the FunctionInfo objects along
with full error handling and tests. Full details of the FunctionInfo
encoding format appear in the FunctionInfo.h header file.
Differential Revision: https://reviews.llvm.org/D67506
llvm-svn: 372135
The file was modifiedllvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
The file was modifiedllvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
Commit 39c5106eec79629f807589794d161bf2ba54fab0 by phosek
Move DK_Misexpect for compatability with
getNextAvailablePluginDiagnosticKind
First identified after D66324 landed.
Patch By: paulkirth Differential Revision:
https://reviews.llvm.org/D67648
llvm-svn: 372136
The file was modifiedllvm/include/llvm/IR/DiagnosticInfo.h
Commit 6b2d1346d8ed4c47fb61a249e0bb246dc9731144 by asbirlea
[MemorySSA] Update MSSA for non-conventional AA.
Summary: Regularly when moving an instruction that may not read or write
memory, the instruction is not modelled in MSSA, so not action is
necessary. For a non-conventional AA pipeline, MSSA needs to explicitly
check when creating accesses, so as to not model instructions that may
not read and write memory.
Reviewers: george.burgess.iv
Subscribers: Prazek, sanjoy.google, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67562
llvm-svn: 372137
The file was addedllvm/test/Analysis/MemorySSA/loop-rotate-disablebasicaa.ll
The file was modifiedllvm/lib/Analysis/MemorySSA.cpp
Commit 4e9082ef95db5d760df4cce00a4351fa122176d6 by asbirlea
[MemorySSA] Fix phi insertion when inserting a def.
Summary: When inserting a Def, the current algorithm is walking edges
backward and inserting new Phis where needed. There may be additional
Phis needed in the IDF of the newly inserted Def and Phis. Adding Phis
in the IDF of the Def was added ina  previous patch, but we may also
need other Phis in the IDF of the newly added Phis.
Reviewers: george.burgess.iv
Subscribers: Prazek, sanjoy.google, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67637
llvm-svn: 372138
The file was addedllvm/test/Analysis/MemorySSA/pr43320.ll
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
Commit 1461fb6e783cb946b061f66689b419f74f7fad63 by nemanja.i.ibm
[PowerPC] Exploit single instruction load-and-splat for word and
doubleword
We currently produce a load, followed by (possibly a move for integers
and) a splat as separate instructions. VSX has always had a splatting
load for doublewords, but as of Power9, we have it for words as well.
This patch just exploits these instructions.
Differential revision: https://reviews.llvm.org/D63624
llvm-svn: 372139
The file was modifiedllvm/test/CodeGen/PowerPC/build-vector-tests.ll
The file was modifiedllvm/test/CodeGen/PowerPC/power9-moves-and-splats.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/test/CodeGen/PowerPC/VSX-XForm-Scalars.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was addedllvm/test/CodeGen/PowerPC/load-and-splat.ll
The file was modifiedllvm/test/CodeGen/PowerPC/qpx-load-splat.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/test/CodeGen/PowerPC/swaps-le-7.ll
Commit 5abd6f46ae8ae1a8b0f52b60fb52e1ba444b3d9b by david.bolvansky
[ASAN] Adjust asan tests due to new optimizations
llvm-svn: 372141
The file was modifiedcompiler-rt/lib/asan/tests/asan_str_test.cpp
Commit 0c0de794f1affc7460eb90626b8483e4a0cbde6c by david.bolvansky
Reland "[SLC] Preserve attrs for strncpy(x, "", y) -> memset(align 1 x,
'\0', y)"
llvm-svn: 372142
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/strncpy-1.ll
Commit 9a14ee81d2b4912641393ab73c72aadbd8eaba29 by david.bolvansky
Remove asan test for strncat(x, y, 0)
llvm-svn: 372143
The file was modifiedcompiler-rt/lib/asan/tests/asan_str_test.cpp
Commit 08a448fcbd4eda19be77919f52a7b177fe9bbbc6 by llvm-dev
Fix MSVC lambda capture warnings. NFCI.
llvm-svn: 372144
The file was modifiedllvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
Commit a9a27d1ded79dd7772f2165f7939510cd8083787 by llvm-dev
[ARM][AsmParser] Don't dereference a dyn_cast result. NFCI.
The static analyzer is warning about potential null dereferences of
dyn_cast<> results - in these cases we can safely use cast<> directly as
we know that these cases should all be the correct type, which is why
its working atm and anyway cast<> will assert if they aren't.
llvm-svn: 372145
The file was modifiedllvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Commit c191c24314cb88597429a9c2047905fe6ee7e1ed by llvm-dev
[TableGen] CodeGenMapTable - Don't dereference a dyn_cast result. NFCI.
The static analyzer is warning about potential null dereferences of
dyn_cast<> results - in these cases we can safely use cast<> directly as
we know that these cases should all be the correct type, which is why
its working atm and anyway cast<> will assert if they aren't.
llvm-svn: 372146
The file was modifiedllvm/utils/TableGen/CodeGenMapTable.cpp
Commit bf5d4290943b8a4da873987be7b8fd47b8cfdcb9 by a.bataev
[OPENMP5.0]Introduce attribute for declare variant directive.
Added attribute for declare variant directive. It will allow to handle
declare variant directive at the codegen and will allow to add extra
checks.
llvm-svn: 372147
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was addedclang/test/OpenMP/declare_variant_ast_print.c
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/OpenMP/declare_variant_ast_print.cpp
Commit 5801e6257627378e414d1a0d6be68aa71f67ef28 by a.bataev
[OPENMP] Rework the test, NFC.
llvm-svn: 372148
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
Commit c6b156cbb83a714d662b83a17692f6426afc3fc8 by clayborg
GSYM: Add the llvm::gsym::Header header class with tests
This patch adds the llvm::gsym::Header class which appears at the start
of a stand alone GSYM file, or in the first bytes of the GSYM data in a
GSYM section within a file. Added encode and decode methods with full
error handling and full tests.
Differential Revision: https://reviews.llvm.org/D67666
llvm-svn: 372149
The file was addedllvm/lib/DebugInfo/GSYM/Header.cpp
The file was modifiedllvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
The file was modifiedllvm/lib/DebugInfo/GSYM/CMakeLists.txt
The file was addedllvm/include/llvm/DebugInfo/GSYM/Header.h
Commit 8c2d2f6ee36afaf9d935ed11a480d4f7c6193a5c by llvmgnsyncbot
gn build: Merge r372149
llvm-svn: 372150
The file was modifiedllvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Commit 1fb584f7a272ba2ed91a735d4d97a2abeb85693e by Stanislav.Mekhanoshin
[AMDGPU] Added MI bit IsDOT
NFC, needed for future commit.
Differential Revision: https://reviews.llvm.org/D67669
llvm-svn: 372151
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrFormats.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/SIDefines.h
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP3PInstructions.td
Commit a1e29a3407fbb801a6a23e490f1bbf8a4167a5b8 by erik.pilkington
Use 'BOOL' instead of BOOL in diagnostic messages
Type names should be enclosed in single quotes.
llvm-svn: 372152
The file was modifiedclang/test/Sema/objc-bool-constant-conversion.m
The file was modifiedclang/test/Sema/tautological-objc-bool-compare.m
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit b50894b9c369992c28f5669820bc7a1955aca947 by craig.topper
[X86] Simplify some code in LowerBUILD_VECTORvXi1. NFCI
The case were Immediate is 0 and HasConstElts is true should never
happen since that would mean the constant elts were all zero. But we
check for all zero build vector earlier. So just use HasConstElts and
blindly take Immediate without checking if its 0.
Move the code that bitcasts and extract the immediate into the the
HasConstElts case since the other code just creates an undef with the
right type. No casting needed.
llvm-svn: 372153
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit f1ba94ade0b60470e076e27ad6dd6233441b3377 by craig.topper
[X86] Call SimplifyDemandedVectorElts on KSHIFTL/KSHIFTR nodes during
DAG combine.
llvm-svn: 372154
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-ext.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll
Commit f9a89b67885b21a2d0c76a7d6dd8ee9038cf28ac by craig.topper
[X86] Simplify b2b KSHIFTL+KSHIFTR using demanded elts.
llvm-svn: 372155
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-op.ll
The file was modifiedllvm/test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-ext.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll
Commit a5aa3353946d7c51cf086629763a5cb507d4a26f by Jinsong Ji
[docs][Bugpoint]Add notes about multiple crashes
Summary:
   When reducing case for a CodeGenCrash, bugpoint may generate a new
   reduced
   testcase that exposes/causes another crash or break something due to
   limitation.
    Bugpoint does not distiguish different crashes currently,
   so when this happens, bugpoint will go on reducing for the new crash,
   or just abort, we can't get the case reduced for the origial crash.
    An advice is added into usage doc to connect to recommend checking
error
   message with scripts and `-compile-command`.
Reviewers: modocache, bogner, sebpop, reames, vsk, MatzeB
Reviewed By: vsk
Subscribers: mehdi_amini, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66832
llvm-svn: 372157
The file was modifiedllvm/docs/Bugpoint.rst
Commit b5ffbd0b14529f382f9788abf0dd43b20bcdd6b5 by craig.topper
[SimplifyDemandedBits] Use APInt::intersects to instead of ANDing and
comparing to 0 separately. NFC
llvm-svn: 372158
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit c198ffd8c34b537726e236dfc25992ecb423ee2e by craig.topper
[X86] Use APInt::operator<<= and APInt::lshrInPlace. NFC
llvm-svn: 372159
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 5584ead50e627a98498993339597f5a90b36c91a by Jinsong Ji
[docs][Bugpoint] Fix build break.
Bugpoint.rst:124: WARNING: Mismatch: both interpreted text role prefix
and reference suffix.
llvm-svn: 372160
The file was modifiedllvm/docs/Bugpoint.rst
Commit 6fce46a5f137dff54d33995a655f347a966e61be by Jinsong Ji
[docs][Bugpoint] Revert 5584ead50 a5aa3353
No sure why there are still warnings, revert while I investigate.
llvm-svn: 372161
The file was modifiedllvm/docs/Bugpoint.rst
Commit c98ec60993a7aa65073692b62f6d728b36e68ccd 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: 372162
The file was addedllvm/lib/Analysis/DependenceGraphBuilder.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was addedllvm/docs/DependenceGraphs/uml_builder_pattern.png
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was addedllvm/lib/Analysis/DDG.cpp
The file was addedllvm/test/Analysis/DDG/basic-loopnest.ll
The file was addedllvm/include/llvm/Analysis/DDG.h
The file was addedllvm/docs/DependenceGraphs/DDG.rst
The file was addedllvm/docs/DependenceGraphs/cycle_pi.png
The file was addedllvm/docs/DependenceGraphs/cycle.png
The file was addedllvm/include/llvm/Analysis/DependenceGraphBuilder.h
The file was addedllvm/docs/DependenceGraphs/uml_nodes_and_edges.png
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was addedllvm/test/Analysis/DDG/basic-a.ll
The file was modifiedllvm/docs/SubsystemDocumentation.rst
The file was addedllvm/test/Analysis/DDG/basic-b.ll
Commit 59f1f86c863d5a499f6293f632b8b90c27678fe3 by llvmgnsyncbot
gn build: Merge r372162
llvm-svn: 372163
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Commit d16cf40f8c355bdf6415be2f25b59ae72f2526a8 by Jessica Paquette
[AArch64][GlobalISel][NFC] Refactor tail call lowering code
When you begin implementing -tailcallopt, this gets somewhat hairy.
Refactor the call lowering code so that the tail call lowering stuff
gets its own function.
Differential Revision: https://reviews.llvm.org/D67577
llvm-svn: 372164
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
Commit 6e1a9b0fdf430721d74de2860f6bcdfe2e56554a by llvm-dev
WasmEmitter - Don't dereference a dyn_cast result. NFCI.
llvm-svn: 372165
The file was modifiedllvm/lib/ObjectYAML/WasmEmitter.cpp
Commit 5a5f04afcb27ddcfdc199b15e1051df6c0765e40 by llvm-dev
NVPTXAsmPrinter - Don't dereference a dyn_cast result. NFCI.
llvm-svn: 372166
The file was modifiedllvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
Commit 6476d7cf0b2bc509e88a00c541f475b7676c4141 by bmahjour
Revert "Data Dependence Graph Basics"
This reverts commit c98ec60993a7aa65073692b62f6d728b36e68ccd, which
broke the sphinx-docs build.
llvm-svn: 372168
The file was modifiedllvm/lib/Analysis/CMakeLists.txt
The file was removedllvm/docs/DependenceGraphs/uml_nodes_and_edges.png
The file was removedllvm/lib/Analysis/DependenceGraphBuilder.cpp
The file was removedllvm/docs/DependenceGraphs/cycle_pi.png
The file was removedllvm/lib/Analysis/DDG.cpp
The file was modifiedllvm/docs/SubsystemDocumentation.rst
The file was removedllvm/include/llvm/Analysis/DependenceGraphBuilder.h
The file was removedllvm/docs/DependenceGraphs/uml_builder_pattern.png
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was removedllvm/docs/DependenceGraphs/DDG.rst
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was removedllvm/include/llvm/Analysis/DDG.h
The file was removedllvm/test/Analysis/DDG/basic-loopnest.ll
The file was removedllvm/docs/DependenceGraphs/cycle.png
The file was removedllvm/test/Analysis/DDG/basic-a.ll
The file was removedllvm/test/Analysis/DDG/basic-b.ll
Commit bed6e08e23b36dc5ac38d675c2a705c2f41a4a94 by lebedev.ri
[NFC][InstCombine] More tests for "Dropping pointless masking before
left shift" (PR42563)
While we already fold that pattern if the sum of shift amounts is not
smaller than bitwidth, there's painfully obvious generalization:
https://rise4fun.com/Alive/F5R I.e. the "sub of shift amounts" tells us
how many bits will be left in the output. If it's less than bitwidth, we
simply need to apply a mask, which is constant.
llvm-svn: 372170
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-a.ll
The file was modifiedllvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-b.ll
The file was addedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-a.ll
The file was addedllvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-b.ll
Commit 97bc5ae993bfe82667f333b650e0aaa8c1b1b4a2 by lebedev.ri
[NFC][InstCombine] dropRedundantMaskingOfLeftShiftInput(): some NFC diff
shaving
llvm-svn: 372171
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit ad0c2e00a80bd3ea81c62b918ea880aeab1213f9 by lebedev.ri
AArch64CallLowering::lowerCall(): fix build by not passing InArgs into
lowerTailCall()
llvm-svn: 372172
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
Commit e2c61d726e85b7428c76e7f24e2640b68bc9233f by llvmgnsyncbot
gn build: Merge r372168
llvm-svn: 372173
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
Commit 1b87364f511afc43042c1938b2ab4430ab1cc61e by Jan Korous
[clang-scan-deps] Add verbose mode
When running in the default mode we don't print anything other than
actual output to stdout to make automated processing easier.
Differential Revision: https://reviews.llvm.org/D67522
llvm-svn: 372174
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
Commit 8a4d9f04b51afe079420cb65049ecc875418f72b by Jessica Paquette
[AArch64][GlobalISel] Support -tailcallopt
This adds support for `-tailcallopt` tail calls to CallLowering. This
piggy-backs off the changes from D67577, since doing it without a bit of
refactoring gets extremely ugly.
Support is basically ported from AArch64ISelLowering. The main
difference here is that tail calls in `-tailcallopt` change the ABI, so
there's some extra bookkeeping for the stack.
Show that we are correctly lowering these by updating tail-call.ll.
Also show that we don't do anything strange in general by updating
fastcc-reserved.ll, which passes `-tailcallopt`, but doesn't emit any
tail calls.
Differential Revision: https://reviews.llvm.org/D67580
llvm-svn: 372177
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/tail-call.ll
The file was modifiedllvm/test/CodeGen/AArch64/fastcc-reserved.ll
Commit 6f1f3cfc5ac2f3188370928668b8ca7d3f06d47f by rnk
Ignore exception specifier mismatch when merging redeclarations
Exception specifiers are now part of the function type in C++17.
Normally, it is illegal to redeclare the same function or specialize a
template with a different exception specifier, but under
-fms-compatibility, we accept it with a warning. Without this change,
the function types would not match due to the exception specifier, and
clang would claim that the types were "incompatible". Now we emit the
warning and merge the redeclaration as we would in C++14 and earlier.
Fixes PR42842, which is about compiling _com_ptr_t in C++17.
Based on a patch by Alex Fusco <alexfusco@google.com>!
Differential Revision: https://reviews.llvm.org/D67590
llvm-svn: 372178
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/SemaCXX/ms-exception-spec.cpp
Commit f71ececda2038b3ee2e448c8c151e1bea2906ba3 by clayborg
Fix buildbots.
MSVC doesn't correctly capture constexpr in lambdas, and other builds
warn if you do, others will error out if you do. Avoid lambdas.
llvm-svn: 372179
The file was modifiedllvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
Commit a08d5a4b0ebd44dc64f41049ed4e97a3c6d31498 by erich.keane
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: 372180
The file was modifiedclang/docs/UsersManual.rst
Commit 0c8e4a2e0d42b6af8a98e5f2b212f2a4954f5f95 by Jinsong Ji
Reland "[docs][Bugpoint]Add notes about multiple crashes"
Fix the warning. Bugpoint.rst:124:Mismatch: both interpreted text role
prefix and reference suffix.
Note that the line no here is wrong and misleading, the problem is in
line 128, not 124.
llvm-svn: 372181
The file was modifiedllvm/docs/Bugpoint.rst
Commit 23e872a3d0548dac30b5d282506198dddfe89b2a by rnk
[PGO] Don't use comdat groups for counters & data on COFF
For COFF, a comdat group is really a symbol marked
IMAGE_COMDAT_SELECT_ANY and zero or more other symbols marked
IMAGE_COMDAT_SELECT_ASSOCIATIVE. Typically the associative symbols in
the group are not external and are not referenced by other TUs, they are
things like debug info, C++ dynamic initializers, or other section
registration schemes. The Visual C++ linker reports a duplicate symbol
error for symbols marked IMAGE_COMDAT_SELECT_ASSOCIATIVE even if they
would be discarded after handling the leader symbol.
Fixes coverage-inline.cpp in check-profile after r372020.
llvm-svn: 372182
The file was modifiedllvm/test/Instrumentation/InstrProfiling/linkage.ll
The file was modifiedllvm/test/Instrumentation/InstrProfiling/comdat.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/test/Instrumentation/InstrProfiling/PR23499.ll
Commit 5c62152275c0642fb687af1f604b7a60aed82a7e by erik.pilkington
[Sema] Split of versions of -Wimplicit-{float,int}-conversion for
Objective-C BOOL
Also, add a diagnostic group, -Wobjc-signed-char-bool, to control all
these related diagnostics.
rdar://51954400
Differential revision: https://reviews.llvm.org/D67559
llvm-svn: 372183
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/objc-bool-constant-conversion-fixit.m
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was addedclang/test/SemaObjC/signed-char-bool-conversion.m
Commit f478c8bf92652151a73008ebc5c01b210e184ce7 by erich.keane
Revert "Create UsersManual section entitled 'Controlling Floating Point"
This reverts commit a08d5a4b0ebd44dc64f41049ed4e97a3c6d31498.
llvm-svn: 372185
The file was modifiedclang/docs/UsersManual.rst
Commit ddf5e86c222c6b5226be53e1250421fe608bb4d0 by efriedma
[ARM] VFPv2 only supports 16 D registers.
r361845 changed the way we handle "D16" vs. "D32" targets; there used to
be a negative "d16" which removed instructions from the instruction set,
and now there's a "d32" feature which adds instructions to the
instruction set.  This is good, but there was an oversight in the
implementation: the behavior of VFPv2 was changed.  In particular, the
"vfp2" feature was changed to imply "d32". This is wrong: VFPv2 only
supports 16 D registers.
In practice, this means if you specify -mfpu=vfpv2, the compiler will
generate illegal instructions.
This patch gets rid of "vfp2d16" and "vfp2d16sp", and fixes "vfp2" and
"vfp2sp" so they don't imply "d32".
Differential Revision: https://reviews.llvm.org/D67375
llvm-svn: 372186
The file was modifiedllvm/lib/Target/ARM/ARMPredicates.td
The file was modifiedllvm/lib/Target/ARM/ARM.td
The file was modifiedllvm/test/CodeGen/ARM/inlineasm-X-allocation.ll
The file was modifiedllvm/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir
The file was modifiedllvm/lib/Support/ARMTargetParser.cpp
The file was modifiedllvm/test/MC/ARM/vfp-aliases-diagnostics.s
The file was modifiedllvm/test/CodeGen/ARM/build-attributes.ll
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp
The file was modifiedllvm/test/CodeGen/ARM/softfp-constant-comparison.ll
The file was modifiedllvm/lib/Object/ELFObjectFile.cpp
The file was modifiedllvm/lib/Target/ARM/ARMSubtarget.h
The file was modifiedllvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
Commit 33054a02f762671d85253fc49fa819ccbc8b0474 by efriedma
[ARM] Update clang for removal of vfp2d16 and vfp2d16sp
Matching fix for https://reviews.llvm.org/D67375 (r372186).
Differential Revision: https://reviews.llvm.org/D67467
llvm-svn: 372187
The file was modifiedclang/test/CodeGen/arm-target-features.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
The file was modifiedclang/test/Driver/arm-mfpu.c
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
Commit 241b02e762872173dcb5bd27ff9fe3eb7dce1db2 by llvm
[CodeGen] Handle outlining of CopyStmts.
Since the removal of extensions nodes from schedule trees in r362257 it
is possible to emit parallel code for SCoPs containing
matrix-multiplications. However, the code looking for references used in
outlined statement was not prepared to handle CopyStmts introduced by
the matrix-matrix multiplication detection.
In this case, CopyStmts do not introduce references in addition to the
ones captured by MemoryAccesses, i.e. we change the assertion to accept
CopyStmts and add a regression test for this case.
This fixes llvm.org/PR43164
llvm-svn: 372188
The file was modifiedpolly/lib/CodeGen/IslNodeBuilder.cpp
The file was addedpolly/test/Isl/CodeGen/OpenMP/matmul-parallel.ll
Commit fd2044f29993ea014898cf0a21a03b2a147e6340 by tejohnson
[PGO] Change hardcoded thresholds for cold/inlinehint to use summary
Summary: The PGO counter reading will add cold and inlinehint (hot)
attributes to functions that are very cold or hot. This was using
hardcoded thresholds, instead of the profile summary cutoffs which are
used in other hot/cold detection and are more dynamic and adaptable.
Switch to using the summary-based cold/hot detection.
The hardcoded limits were causing some code that had a medium level of
hotness (per the summary) to be incorrectly marked with a cold
attribute, blocking inlining.
Reviewers: davidxl
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67673
llvm-svn: 372189
The file was modifiedllvm/test/Transforms/PGOProfile/Inputs/func_entry.proftext
The file was modifiedllvm/test/Transforms/PGOProfile/func_entry.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
The file was modifiedllvm/lib/ProfileData/InstrProfReader.cpp
Commit abb3d13778f7a93ae43f6fe906a06923e93a3350 by Jonas Devlieghere
[ScriptInterpreter] Remove ScriptInterpreterPythonImpl::Clear() (NFC)
This method is never called.
llvm-svn: 372190
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
Commit 6e353b4df3aa452ed4741a5e5caea02b1a876d8c by vsapsai
[Timers] Fix printing some `-ftime-report` sections twice. Fixes
PR40328.
Starting from r324788 timer groups aren't cleared automatically when
printed out. As a result some timer groups were printed one more time.
For example, "Pass execution timing report" was printed again in
`ManagedStatic<PassTimingInfo>` destructor, "DWARF Emission" in
`ManagedStatic<Name2PairMap> NamedGroupedTimers` destructor.
Fix by clearing timer groups manually.
Reviewers: thegameg, george.karpenkov
Reviewed By: thegameg
Subscribers: aprantl, jkorous, dexonsmith, ributzka, aras-p, cfe-commits
Differential Revision: https://reviews.llvm.org/D67683
llvm-svn: 372191
The file was modifiedclang/tools/driver/driver.cpp
The file was modifiedclang/tools/driver/cc1_main.cpp
The file was modifiedclang/tools/driver/cc1as_main.cpp
Commit 20b52c33ba3960340ecf326314517091b8ec98f4 by Jonas Devlieghere
[ScriptInterpreter] Limit LLDB's globals to interactive mode.
Jim pointed out that the LLDB global variables should only be available
in interactive mode. When used from a command for example, their values
might be stale or not at all what the user expects. Therefore we want to
explicitly make these variables unavailable.
Differential revision: https://reviews.llvm.org/D67685
llvm-svn: 372192
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/sbvalue_const_addrof/main.cpp
The file was modifiedlldb/lit/Commands/Inputs/frame.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/frame/recognizer/recognizer.py
The file was modifiedlldb/lit/Commands/command-script-import.test
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Commit f547cf12ee5764708ef70778a0acf3683e8c24f9 by jingham
TestFoundationDisassembly.py is not dependent on debug information.
This test is about disassembling symbols in a framework without debug
information. So we don't need to run it once per debug info flavor.
llvm-svn: 372193
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/objc/foundation/TestFoundationDisassembly.py
Commit 5f8a3270ae74d84599dc09c581c2a417d4bbfb5e by hhb
Cache PYTHON_EXECUTABLE for windows
Summary: This way it can be overwritten when cross compiling.
Subscribers: mgorny, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D67641
llvm-svn: 372194
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
Commit ba2e752c520b4ba31c30846269f8331cc217054f by francisvm
[Remarks] Allow the RemarkStreamer to be used directly with a stream
The filename in the RemarkStreamer should be optional to allow clients
to stream remarks to memory or to existing streams.
This introduces a new overload of `setupOptimizationRemarks`, and avoids
enforcing the presence of a filename at different places.
llvm-svn: 372195
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/IR/RemarkStreamer.cpp
The file was modifiedllvm/include/llvm/IR/RemarkStreamer.h
Commit d6cad39316359a8bebac830350b1d190ce9b0cee by jingham
Clean up this test.
I don't know what the intent of parts of this test were.  We set a bunch
of breakpoints and ran from one to the other, doing "self.runCmd("thread
backtrace")" then continuing to the next one.  We didn't actually verify
the contents of the backtrace, nor that we hit the breakpoints we set in
any particular order.  The only actual test was to run sel_getName at
two of these stops.
So I reduced the test to just stopping at the places where we were
actually going to run an expression, and tested the expression.
llvm-svn: 372196
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/objc/foundation/TestObjCMethods2.py
Commit 4a07336a886d6fa908ee19d72abe0ecb3732b377 by craig.topper
[X86] Prevent assertion when calling a function that returns double with
-mno-sse2 on x86-64.
As seen in the most recent updates to PR10498
llvm-svn: 372197
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedclang/test/CodeGen/x86_64-mno-sse2.c
Commit c68ee0ce70438c267f802b1c2f19cf011414c0c0 by yhs
[BPF] Permit all user instructed offset relocatiions
Currently, not all user specified relocations
(with clang intrinsic __builtin_preserve_access_index()) will turn into
relocations.
In the current implementation, a __builtin_preserve_access_index() chain
is turned into relocation only if the result of the clang intrinsic is
used in a function call or a nonzero offset computation of
getelementptr. For all other cases, the relocatiion request is ignored
and the __builtin_preserve_access_index() is turned into regular
getelementptr instructions. The main reason is to mimic bpf_probe_read()
requirement.
But there are other use cases where relocatable offset is generated but
not used for bpf_probe_read(). This patch relaxed previous constraints
when to generate relocations. Now, all user
__builtin_preserve_access_index() will have relocations generated.
Differential Revision: https://reviews.llvm.org/D67688
llvm-svn: 372198
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/offset-reloc-end-load.ll
The file was addedllvm/test/CodeGen/BPF/CORE/offset-reloc-end-ret.ll
Commit 11082d53665df43899bac3ed516852301f005047 by craig.topper
[X86] Add test case for passing a v17i1 vector with avx512
llvm-svn: 372199
The file was modifiedllvm/test/CodeGen/X86/avx512-calling-conv.ll
Commit 93e1f73b6b2dc751a27568da5797cc2ba8436385 by craig.topper
[X86] Break non-power of 2 vXi1 vectors into scalars for argument
passing with avx512.
This generates worse code, but matches what is done for avx2 and
prevents crashes when more arguments are passed than we have registers
for.
llvm-svn: 372200
The file was modifiedllvm/test/CodeGen/X86/masked_store.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-calling-conv.ll
The file was modifiedllvm/test/CodeGen/X86/masked_gather_scatter.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit edd5dfcd890dad921bb0c0edb1551597bd6124d7 by ibiryukov
[Support] Replace function with function_ref in writeFileAtomically. NFC
Summary: The latter is slightly more efficient and communicates the
intent of the API: writeFileAtomically does not own or copy the
callback, it merely calls it at some point.
Reviewers: jkorous
Reviewed By: jkorous
Subscribers: hiraditya, dexonsmith, jfb, llvm-commits, cfe-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67584
llvm-svn: 372201
The file was modifiedllvm/include/llvm/Support/FileUtilities.h
The file was modifiedllvm/lib/Support/FileUtilities.cpp
Commit 377aaa2ede8ce0bc73a85fb2f3b29cd07d79535c by ibiryukov
Revert "r372201: [Support] Replace function with function_ref in
writeFileAtomically. NFC"
function_ref causes calls to the function to be ambiguous, breaking
compilation.
Reverting for now.
llvm-svn: 372202
The file was modifiedllvm/lib/Support/FileUtilities.cpp
The file was modifiedllvm/include/llvm/Support/FileUtilities.h
Commit 1442efea9a045851a4c16908832f528574fb440e by Raphael Isemann
[lldb] Print better diagnostics for user expressions and modules
Summary: Currently our expression evaluators only prints very basic
errors that are not very useful when writing complex expressions.
For example, in the expression below the user made a type error, but
it's not clear from the diagnostic what went wrong:
```
(lldb) expr printf("Modulos are:", foobar%mo1, foobar%mo2, foobar%mo3)
error: invalid operands to binary expression ('int' and 'double')
```
This patch enables full Clang diagnostics in our expression evaluator.
After this patch the diagnostics for the expression look like this:
```
(lldb) expr printf("Modulos are:", foobar%mo1, foobar%mo2, foobar%mo3)
error: <user expression 1>:1:54: invalid operands to binary expression
('int' and 'float') printf("Modulos are:", foobar%mo1, foobar%mo2,
foobar%mo3)
                                              ~~~~~~^~~~
```
To make this possible, we now emulate a user expression file within our
diagnostics. This prevents that the user is exposed to our internal
wrapper code we inject.
Note that the diagnostics that refer to declarations from the debug
information (e.g. 'note' diagnostics pointing to a called function) will
not be improved by this as they don't have any source locations
associated with them, so caret or line printing isn't possible. We
instead just suppress these diagnostics as we already do with warnings
as they would otherwise just be a context message without any context
(and the original diagnostic in the user expression should be enough to
explain the issue).
Fixes rdar://24306342
Reviewers: JDevlieghere, aprantl, shafik, #lldb
Reviewed By: JDevlieghere, #lldb
Subscribers: usaxena95, davide, jingham, aprantl, arphaman, kadircet,
lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D65646
llvm-svn: 372203
The file was modifiedclang/lib/Frontend/TextDiagnostic.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/diagnostics/TestExprDiagnostics.py
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/objc/foundation/TestObjCMethods.py
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h
The file was modifiedclang/include/clang/Basic/DiagnosticOptions.def
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/diagnostics/Makefile
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
The file was addedlldb/packages/Python/lldbsuite/test/commands/expression/diagnostics/main.cpp
Commit dc2a7f5b39213bdc7574cabd3131ba0215c11e8e by sander.desmalen
[AArch64][DebugInfo] Do not recompute CalleeSavedStackSize
This patch fixes a bug exposed by D65653 where a subsequent invocation
of `determineCalleeSaves` ends up with a different size for the callee
save area, leading to different frame-offsets in debug information.
In the invocation by PEI, `determineCalleeSaves` tries to determine
whether it needs to spill an extra callee-saved register to get an
emergency spill slot. To do this, it calls 'estimateStackSize' and
manually adds the size of the callee-saves to this. PEI then allocates
the spill objects for the callee saves and the remaining frame layout is
calculated accordingly.
A second invocation in LiveDebugValues causes estimateStackSize to
return the size of the stack frame including the callee-saves. Given
that the size of the callee-saves is added to this, these callee-saves
are counted twice, which leads `determineCalleeSaves` to believe the
stack has become big enough to require spilling an extra callee-save as
emergency spillslot. It then updates CalleeSavedStackSize with a larger
value.
Since CalleeSavedStackSize is used in the calculation of the frame
offset in getFrameIndexReference, this leads to incorrect offsets for
variables/locals when this information is recalculated after PEI.
Reviewers: omjavaid, eli.friedman, thegameg, efriedma
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D66935
llvm-svn: 372204
The file was addedllvm/test/CodeGen/AArch64/wrong-callee-save-size-after-livedebugvariables.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir
The file was modifiedllvm/include/llvm/CodeGen/TargetFrameLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/lib/CodeGen/RegUsageInfoCollector.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FrameLowering.cpp
The file was modifiedllvm/lib/CodeGen/TargetFrameLoweringImpl.cpp
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
The file was modifiedllvm/test/DebugInfo/MIR/Mips/live-debug-values-reg-copy.mir
Commit d97865e530df4ad2ed9c2a999edf0a19ee567e79 by dvyukov
tsan: allow the Go runtime to return multiple stack frames for a single
PC
This fix allows tsan to report stack traces correctly even in the
presence of mid-stack inlining by the Go compiler.
See https://go-review.googlesource.com/c/go/+/195781 for the Go runtime
side of this change.
Author: randall77 (Keith Randall) Reviewed:
https://reviews.llvm.org/D67671 llvm-svn: 372205
The file was modifiedcompiler-rt/lib/tsan/go/tsan_go.cpp
Commit d94c7bf06e00582c07fc0e9d215710eb6866f79b by hokein
[clang-tidy] Fix a potential infinite loop in
readability-isolate-declaration check.
Reviewers: ilya-biryukov
Subscribers: xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67654
llvm-svn: 372206
The file was addedclang-tools-extra/test/clang-tidy/readability-isolate-declaration-no-infinite-loop.cpp
The file was modifiedclang-tools-extra/clang-tidy/utils/LexerUtils.h
Commit ef8ef1278af826f2489649c30b828e5542302eef by gchatelet
[Alignment] Add a None() member function
Summary: This will allow writing `if(A != llvm::Align::None())` which is
clearer than `if(A > llvm::Align(1))`
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: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67697
llvm-svn: 372207
The file was modifiedllvm/unittests/Support/AlignmentTest.cpp
The file was modifiedllvm/include/llvm/Support/Alignment.h
Commit 178611711122554be1e1a652cc151776cf1caca9 by tpr.llvm
[AMDGPU] Allow FP inline constant in v_madak_f16 and v_fmaak_f16
Differential Revision: https://reviews.llvm.org/D67680
Change-Id: Ic38f47cb2079c2c1070a441b5943854844d80a7c llvm-svn: 372208
The file was modifiedllvm/test/CodeGen/AMDGPU/twoaddr-fma.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/twoaddr-mad.mir
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
Commit a84b200e6048211ae74c511a1660fb2c2c5567da by russell.gallop
[cmake] Changes to get Windows self-host working with PGO
Fixes quoting of profile arguments to work on Windows Suppresses adding
profile arguments to linker flags when using lld-link Avoids
-fprofile-instr-use being added to rc.exe flags Removes duplicated
adding of -fprofile-instr-use to linker flags (since r355541) Move
handling LLVM_PROFDATA_FILE to HandleLLVMOptions.cmake
Differential Revision: https://reviews.llvm.org/D62063
llvm-svn: 372209
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
The file was modifiedllvm/CMakeLists.txt
Commit a206de8a0e6a657b5c5a48e894383590ef942fc7 by stefan.graenitz
[lldb][CMake] Infer `Clang_DIR` if not passed explicitly
Summary: If we only get `LLVM_DIR` and find Clang in the same provided
build-tree, automatically infer `Clang_DIR` like this:
``` LLVM_DIR = /path/to/build-llvm/lib/cmake/llvm Clang_DIR =
/paht/to/build-llvm/lib/cmake/clang
```
Reviewers: JDevlieghere, jingham, xiaobai, compnerd, labath
Reviewed By: JDevlieghere, labath
Subscribers: mgorny, lldb-commits, #lldb
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D65798
llvm-svn: 372210
The file was modifiedlldb/docs/resources/build.rst
The file was modifiedlldb/cmake/modules/LLDBStandalone.cmake
Commit 2dba9a2a9dfac822bd54f356fc96c60d85481c83 by llvm-dev
Fix -Wdocumentation "Unknown param" warning. NFCI.
llvm-svn: 372211
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 858d755c27216eea5c998f640885382025ca3031 by llvm-dev
Fix -Wdocumentation "@returns in a void function" warning. NFCI.
llvm-svn: 372212
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Commit 2c72b41757563eaf56f083f468f1b78545a9b549 by stefan.graenitz
[lldb][CMake] Build LLDB.framework with -Wdocumentation in Xcode
llvm-svn: 372213
The file was modifiedlldb/cmake/modules/LLDBFramework.cmake
Commit f8e3036522f3fba44d5e58caf6e29776614cd226 by llvm-dev
Fix -Wdocumentation "empty paragraph passed to '\brief'" warning. NFCI.
llvm-svn: 372214
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Commit 1541dd4841860589866ddf3befeac604fdd3d5ec by llvm-dev
Fix -Wdocumentation warning. NFCI.
llvm-svn: 372215
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
Commit 4b8b7f249c627639d2c529d460e7f015fe47385f by llvm-dev
[AST] CommentLexer - Remove (optional) Invalid parameter from
getSpelling.
The static analyzer noticed that we were dereferencing it even when the
default null value was being used. Further investigation showed that we
never explicitly set the parameter so I've just removed it entirely.
llvm-svn: 372217
The file was modifiedclang/lib/AST/CommentLexer.cpp
The file was modifiedclang/include/clang/AST/CommentLexer.h