AbortedChanges

Summary

  1. [sanitizer] Fix sanitizer-x86_64-linux-gn 'true' call
  2. [sanitizer] Make sanitizer-x86_64-linux-gn always pass
  3. [saninizer] Remove sanitizer-x86_64-linux-gn builder
  4. Revert "Disable e-mails until the Groovy exception is fixed" Attempt #2
  5. Revert "[lldb] Send e-mails on failure" Looks like e-mails are still broken, but now Jenkins is complaining about the pipeline syntax.
  6. [lldb] Send e-mails on failure This was disabled because of a bug in our template, which should be fixed now.
Revision 371154 by Vitaly Buka:
[sanitizer] Fix sanitizer-x86_64-linux-gn 'true' call
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_selector.pyzorg/buildbot/builders/sanitizers/buildbot_selector.py
Revision 371153 by Vitaly Buka:
[sanitizer] Make sanitizer-x86_64-linux-gn always pass
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_selector.pyzorg/buildbot/builders/sanitizers/buildbot_selector.py
Revision 371151 by Vitaly Buka:
[saninizer] Remove sanitizer-x86_64-linux-gn builder
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/buildbot/osuosl/master/config/builders.pybuildbot/osuosl/master/config/builders.py
Revision 371145 by Jonas Devlieghere:
Revert "Disable e-mails until the Groovy exception is fixed"

Attempt #2
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmakezorg/jenkins/jobs/jobs/lldb-cmake
Revision 371142 by Jonas Devlieghere:
Revert "[lldb] Send e-mails on failure"

Looks like e-mails are still broken, but now Jenkins is complaining
about the pipeline syntax.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmakezorg/jenkins/jobs/jobs/lldb-cmake
Revision 371140 by Jonas Devlieghere:
[lldb] Send e-mails on failure

This was disabled because of a bug in our template, which should be
fixed now.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmakezorg/jenkins/jobs/jobs/lldb-cmake

Summary

  1. [clang][Index] Replace CodegenNameGenerator with ASTNameGenerator (details)
  2. gn build: Merge r371117 (details)
  3. Add testing infrastructure to check if gdb is available for testing. (details)
  4. [MIR] MIRNamer pass for improving MIR test authoring experience. (details)
  5. [Diagnostics] Minor improvements for -Wxor-used-as-pow (details)
  6. gn build: Merge r371121 (details)
  7. Implement Microsoft-compatible mangling for decomposition declarations. (details)
  8. [GSYM][NFC] Fixed -Wdocumentation warning (details)
  9. [libcxx] Codesign test executables if necessary (details)
  10. Docs: Update Community section on homepage (details)
  11. [Bitstream] Add BitCodeAbbrev(std::initializer_list) constructor (details)
  12. [ADT] Add makeArrayRef(std::array<>) template specialization (details)
  13. Don't assume libcxx_gdb is always set. (details)
  14. Add gdb pretty printers for a wide variety of libc++ data structures (details)
  15. Remove `bugreport` command (details)
  16. [Remarks] Add comparison operators to the Remark object (details)
  17. gn build: Merge r371134 (details)
  18. AMDGPU: Avoid constructing new std::vector in initCandidate (details)
  19. [SimplifyCFG] Don't SimplifyBranchOnICmpChain with ExtraCase (details)
  20. [AliasSetTracker] Correct AAInfo check. (details)
  21. AMDGPU: Fix Register copypaste error (details)
  22. llvm-reduce: Use %python from lit to get the correct/valid python binary (details)
  23. [Reproducer] Add a `cont` to ModuleCXX.test (details)
  24. InstCombine: Fix crash on icmp of gep with addrspacecasted null (details)
  25. [AArch64] Add testcase for codegen for sdiv by 2. (details)
  26. AMDGPU: Fix emitting multiple stack loads for stack passed workitems (details)
  27. AMDGPU: Allow getMemOperandWithOffset to analyze stack accesses (details)
  28. GlobalISel/TableGen: Fix handling of EXTRACT_SUBREG constraints (details)
  29. AMDGPU/GlobalISel: Fix load/store of types in other address spaces (details)
  30. AMDGPU/GlobalISel: Avoid repeating 32-bit type lists (details)
  31. [llvm-readobj][yaml2obj] Support SHT_LLVM_SYMPART, SHT_LLVM_PART_EHDR (details)
  32. Cleanup test. (details)
  33. [MC] Fix undefined behavior in MCInstPrinter::formatHex (details)
  34. Update SHT_LLVM_PART_EHDR test after r371157 (details)
  35. gn build: Merge r371159 (details)
  36. [yaml2obj] Make e_phoff and e_phentsize 0 if there are no program (details)
  37. Fix failing test from rL371162 (details)
  38. Fix rL371162 again (details)
  39. [Windows] Add support of watchpoints to `ProcessWindows` (details)
  40. [X86] Fix bad indentation. NFC (details)
  41. [X86] Pre-commit vector of __int128 test cases for D64672. (details)
  42. [X86] Prevent passing vectors of __int128 as <X x i128> in llvm IR (details)
  43. [X86] Add tests for extending and truncating between v16i8 and v16i64 (details)
  44. [MIR] Change test case to read from stdin instead of file (details)
  45. [lldb] Remove xcode bot from website listing and fix link to sanitized (details)
  46. [CMake] LLVM_COMPILE_FLAGS also applies to C files (details)
  47. [mips] Make another set of test cases more tolerant to exact symbol (details)
  48. [lldb][NFC] Remove unused Args::GetArgumentQuoteCharAtIndex (details)
  49. [CodeGen] Do the Simple Early Return in block-placement pass to optimize (details)
  50. [ARM] MVE Tail Predication (details)
  51. [lldb][NFC] Extend ArgsTest (details)
  52. [lldb][NFC] Remove Args::StripSpaces (details)
  53. Reland [LifetimeAnalysis] Support more STL idioms (template forward (details)
  54. [yaml2obj] Rename SHOffset (e_shoff) field to SHOff. NFC (details)
  55. [ARM] Fix for buildbot (details)
  56. [ELF][test] Update test after r371185 (details)
  57. gn build: Merge r371179 (details)
  58. gn build: Merge r371182 (details)
  59. [AMDGPU] Mark s_barrier as having side effects but not accessing memory. (details)
  60. [DebugInfo] LiveDebugValues: explicitly terminate overwritten stack (details)
  61. [clangd] Use override keyword to override the base class method, NFC (details)
  62. Remove call to obsolete gethostbyname, using getaddrinfo (details)
  63. [DFAPacketizer] Track resources for packetized instructions (details)
  64. [test] Update the name of the debug entry values option. NFC (details)
  65. [Alignment][NFC] Use Align with TargetLowering::setMinFunctionAlignment (details)
  66. [llvm-readelf] - Print unknown st_other value if present in GNU output. (details)
  67. Revert r370635, it caused PR43241. (details)
  68. [Alignment] fix dubious min function alignment (details)
  69. libclang depends on ClangDriverOptions since r352803 (details)
  70. [NFC][CodeGen][UBSan] EmitCheckedInBoundsGEP(): add some comments to (details)
  71. [NFC][CodeGen][UBSan] EmitCheckedInBoundsGEP(): refactor (details)
  72. [NFC][CodeGen][UBSan] EmitCheckedInBoundsGEP(): pass a vector to (details)
  73. [Alignment][NFC] Use Align with TargetLowering::setPrefLoopAlignment (details)
  74. [Object] remove struct constructor, NFC (details)
  75. [Alignment][NFC] Use Align with TargetLowering::setPrefFunctionAlignment (details)
  76. [ELF][test] Simplify and reorganize tests (details)
  77. [AMDGPU] Enable constant offset promotion to immediate operand for VMEM (details)
  78. Revert "Revert r370635, it caused PR43241." (details)
  79. Reland D66717 [ELF] Do not ICF two sections with different output (details)
  80. [ARM] Sink add/mul(shufflevector(insertelement())) for MVE instruction (details)
  81. [SimplifyLibCalls] handle pow(x,-0.0) before it can assert (PR43233) (details)
  82. [Diagnostics] Refactor code for -Wsizeof-pointer-div, catch more cases; (details)
  83. [NFC] Added new tests for r371222 (details)
  84. [InstCombine] pow(x, +/- 0.0) -> 1.0 (details)
  85. [ELF] Replace error() with errorOrWarn() for the ASSERT command (details)
  86. [NFCI] Unbreak buildbots (details)
Commit 7e36ecd66dbe528edf67d1a412c4dea24019f178 by Jan Korous
[clang][Index] Replace CodegenNameGenerator with ASTNameGenerator
Follow-up to: 3ff8c3b73f6, d5d15b4c1fd
Should be NFC since the original patch just moved the code.
llvm-svn: 371117
The file was modifiedclang/lib/Index/CMakeLists.txt
The file was removedclang/include/clang/Index/CodegenNameGenerator.h
The file was modifiedclang/tools/c-index-test/core_main.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was removedclang/lib/Index/CodegenNameGenerator.cpp
Commit 1d138a47e21a08b663742ca3c19b09444823e856 by nicolasweber
gn build: Merge r371117
llvm-svn: 371119
The file was modifiedllvm/utils/gn/secondary/clang/lib/Index/BUILD.gn
Commit bf7602b261c7167966c6ae5cf153f6e4847ace3b by saugustine
Add testing infrastructure to check if gdb is available for testing.
Reviewers: echristo, EricWF
Subscribers: mgorny, christof, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67194
llvm-svn: 371120
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/test/CMakeLists.txt
The file was modifiedlibcxx/test/lit.site.cfg.in
Commit dc97ca9f25aca6d14981a889748fd0810e2dd0e8 by puyan
[MIR] MIRNamer pass for improving MIR test authoring experience.
This patch reuses the MIR vreg renamer from the MIRCanonicalizerPass to
cleanup names of vregs in a MIR file for MIR test authors. I found it
useful when writing a regression test for a globalisel failure I
encountered recently and thought it might be useful for other folks as
well.
Differential Revision: https://reviews.llvm.org/D67209
llvm-svn: 371121
The file was addedllvm/lib/CodeGen/MIRNamerPass.cpp
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was addedllvm/test/CodeGen/MIR/AArch64/mirnamer.mir
The file was modifiedllvm/lib/CodeGen/CodeGen.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
Commit 872108bea55fa4e5c5888bd93e43f2612cd5e78f by david.bolvansky
[Diagnostics] Minor improvements for -Wxor-used-as-pow
Extracted from D66397; implemented suggestion for 2^64; tests revisited.
llvm-svn: 371122
The file was modifiedclang/test/SemaCXX/warn-xor-as-pow.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 36b0571d2115acdf9de82c3f324a82caea3c007c by nicolasweber
gn build: Merge r371121
llvm-svn: 371123
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit a47dc841cd6cd0cfcef72e00950662e9d1c58556 by nicolasweber
Implement Microsoft-compatible mangling for decomposition declarations.
Match cl.exe's mangling for decomposition declarations.
Decomposition declarations are considered to be anonymous structs, and
use the same convention as for anonymous struct/union declarations.
Naming confirmed to match https://godbolt.org/z/K2osJa
Patch from Eric Astor <epastor@google.com>!
Differential Revision: https://reviews.llvm.org/D67202
llvm-svn: 371124
The file was modifiedclang/include/clang/AST/Mangle.h
The file was addedclang/test/CodeGenCXX/mangle-ms-cxx17.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
Commit 5916799293736e3bb1a6db61405129a7d9536175 by david.bolvansky
[GSYM][NFC] Fixed -Wdocumentation warning
lib/DebugInfo/GSYM/InlineInfo.cpp:68:12: warning: parameter 'Inline' not
found in the function declaration [-Wdocumentation]
llvm-svn: 371125
The file was modifiedllvm/lib/DebugInfo/GSYM/InlineInfo.cpp
Commit 1261f1b980d49c640f8ba8d75acdb7aacdc72421 by Vedant Kumar
[libcxx] Codesign test executables if necessary
If LLVM_CODESIGNING_IDENTITY is set, test executables need to be
codesigned.
Differential Revision: https://reviews.llvm.org/D66496
llvm-svn: 371126
The file was modifiedlibcxx/utils/libcxx/compiler.py
The file was modifiedlibcxx/test/lit.site.cfg.in
The file was modifiedlibcxx/test/libcxx/strings/basic.string/PR42676.sh.cpp
The file was addedlibcxx/utils/run.py
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 4533b4a3a627b4c9bf9a3c2243b9fc40f724d912 by d4m1887
Docs: Update Community section on homepage
This commit includes the following changes: Adds a Getting Involved
section under Community. Moves the Development Process section under
Community. Moves Sphinx Quickstart Template and How to submit an LLVM
bug report from User Guides section to Getting Involved.
llvm-svn: 371127
The file was modifiedllvm/docs/index.rst
The file was modifiedllvm/docs/UserGuides.rst
Commit e9a78e992ba5f39ea8d9a26e03b34f5dfe350fa1 by Jan Korous
[Bitstream] Add BitCodeAbbrev(std::initializer_list) constructor
llvm-svn: 371128
The file was modifiedllvm/include/llvm/Bitstream/BitCodes.h
Commit 995ff8a77e41eed8cda0e0cb4fe12f573885f62c by Jan Korous
[ADT] Add makeArrayRef(std::array<>) template specialization
llvm-svn: 371129
The file was modifiedllvm/include/llvm/ADT/ArrayRef.h
Commit a12779561729eeef1075b9ef18cc5e74ca5e98ab by saugustine
Don't assume libcxx_gdb is always set.
libc++abi also uses this file, but doesn't use the same CMakeLists.txt.
llvm-svn: 371130
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 3270941f1e7aa9e96f7806ff0306289f482147ce by saugustine
Add gdb pretty printers for a wide variety of libc++ data structures
(take 2).
Summary: This patch is an exact duplicate of
https://reviews.llvm.org/D65609, except that it uses the newly
introduced testing framework to detect if gdb is present so that the
tests won't fail on machines without gdb.
Reviewers: echristo, EricWF
Subscribers: christof, ldionne, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67238
llvm-svn: 371131
The file was addedlibcxx/utils/gdb/libcxx/printers.py
The file was addedlibcxx/test/pretty_printers/gdb_pretty_printer_test.py
The file was addedlibcxx/test/pretty_printers/gdb_pretty_printer_test.sh.cpp
Commit f5687d7c1257a53b46045ebc725e0967def38a3d by Jonas Devlieghere
Remove `bugreport` command
The bugreport command exists to create domain-specific bug reports.
Currently it has one implementation for filing bugs on the unwinder. As
far as we can tell, it has never been of use. Although not exactly the
same as the reproducers, it's a bit confusing to have two parallel
command trees for (kind of) the same thing.
Differential revision: https://reviews.llvm.org/D65469
llvm-svn: 371132
The file was removedlldb/source/Commands/CommandObjectBugreport.h
The file was modifiedlldb/source/Commands/CMakeLists.txt
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was removedlldb/source/Commands/CommandObjectBugreport.cpp
Commit d39720399c7adc676a2bd89419139617eeafc6eb by francisvm
[Remarks] Add comparison operators to the Remark object
and related structs.
This also adds tests for the remarks::Remark object in general.
llvm-svn: 371134
The file was addedllvm/unittests/Remarks/RemarksAPITest.cpp
The file was modifiedllvm/include/llvm/Remarks/Remark.h
The file was modifiedllvm/unittests/Remarks/CMakeLists.txt
Commit 3e144ab7fd0fb516b4819504aa423a70cd6732e9 by nicolasweber
gn build: Merge r371134
llvm-svn: 371135
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Remarks/BUILD.gn
Commit f54daffc2d73866312e6f50b75fe15035e62b4e8 by Matthew.Arsenault
AMDGPU: Avoid constructing new std::vector in initCandidate
Approximately 30% of the time was spent in the std::vector constructor.
In one testcase this pushes the scheduler to being the second slowest
pass.
I'm not sure I understand why these vector are necessary. The default
scheduler initCandidate seems to use some pre-existing vectors for the
pressure.
llvm-svn: 371136
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.h
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Commit 9020f113770598f2064c1f19730aea5c1db754f6 by Vitaly Buka
[SimplifyCFG] Don't SimplifyBranchOnICmpChain with ExtraCase
Summary: Here we try to avoid issues with "explicit branch" with
SimplifyBranchOnICmpChain which can check on undef. Msan by design
reports branches on uninitialized memory and undefs, so we have false
report here.
In general msan does not like when we convert
```
// If at least one of them is true we can MSAN is ok if another is
undefs if (a || b)
return;
``` into
```
// If 'a' is undef MSAN will complain even if 'b' is true if (a)
return; if (b)
return;
```
Example
Before optimization we had something like this:
``` while (true) {
bool maybe_undef = doStuff();
  while (true) {
   char c = getChar();
   if (c != 10 && c != 13)
    continue
   break;
}
  // we know that c == 10 || c == 13 if we get here,
// so msan know that branch is not affected by maybe_undef
if (maybe_undef || c == 10 || c == 13)
   continue;
return;
}
```
SimplifyBranchOnICmpChain will convert that into
``` while (true) {
bool maybe_undef = doStuff();
  while (true) {
   char c = getChar();
   if (c != 10 && c != 13)
     continue;
   break;
}
  // however msan will complain here:
if (maybe_undef)
   continue;
  // we know that c == 10 || c == 13, so either way we will get continue
switch(c) {
   case 10: continue;
   case 13: continue;
}
return;
}
```
Reviewers: eugenis, efriedma
Reviewed By: eugenis, efriedma
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67205
llvm-svn: 371138
The file was addedllvm/test/Transforms/SimplifyCFG/switch_msan.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit 35548e80d67dd0d6e61c489432cfb1dafe0ddb65 by asbirlea
[AliasSetTracker] Correct AAInfo check.
Properly check if NewAAInfo conflicts with AAInfo. Update local variable
and alias set that a change occured when a conflict is found. Resolves
PR42969.
llvm-svn: 371139
The file was modifiedllvm/include/llvm/Analysis/AliasSetTracker.h
The file was addedllvm/test/Transforms/LICM/pr42969.ll
Commit 2a7304c806a1c57146598eaee84c6a74eb4c41b8 by Matthew.Arsenault
AMDGPU: Fix Register copypaste error
llvm-svn: 371141
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
Commit 707be7ef9c1e4e2923acced60462a760fe2a6ae3 by dblaikie
llvm-reduce: Use %python from lit to get the correct/valid python binary
for the reduction script
llvm-svn: 371143
The file was modifiedllvm/test/Reduce/Inputs/remove-funcs.py
The file was modifiedllvm/test/Reduce/remove-funcs.ll
The file was modifiedllvm/test/Reduce/remove-global-vars.ll
Commit a8a816c163b2301fe825ea6dad51b9b812d4ef23 by Jonas Devlieghere
[Reproducer] Add a `cont` to ModuleCXX.test
On more than one occasion I've found this test got stuck during replay
while waiting for a packet from debugserver when the debugger was in the
process of being destroyed. For some reason it's more prevalent on the
downstream Swift fork. Adding a cont mitigates the problem while I
investigate.
llvm-svn: 371144
The file was modifiedlldb/lit/Reproducer/Modules/Inputs/ModuleCXX.in
Commit 524a9d5774ff448ae9c05f0483cf449918d8c8d7 by Matthew.Arsenault
InstCombine: Fix crash on icmp of gep with addrspacecasted null
llvm-svn: 371146
The file was modifiedllvm/test/Transforms/InstCombine/gep-inbounds-null.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 9dd453ce8d6b0d0970ed11a93d5180f74f620078 by efriedma
[AArch64] Add testcase for codegen for sdiv by 2.
llvm-svn: 371147
The file was modifiedllvm/test/CodeGen/AArch64/sdivpow2.ll
Commit 59ff77ee38c6902ffa4b4bc71e80ab01032babec by Matthew.Arsenault
AMDGPU: Fix emitting multiple stack loads for stack passed workitems
The same stack is loaded for each workitem ID, and each use. Nothing
prevents you from creating multiple fixed stack objects with the same
offsets, so this was creating a load for each unique frame index,
despite them being the same offset. Re-use the same frame index so the
loads are CSEable.
llvm-svn: 371148
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
Commit 60c8b8bcf232cfb0537f3d6638d8f36c29ef7095 by Matthew.Arsenault
AMDGPU: Allow getMemOperandWithOffset to analyze stack accesses
Report soffset as a base register if the scratch resource can be
ignored.
llvm-svn: 371149
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/byval-frame-setup.ll
Commit 9ceb6edf1145fca5dc43dc486f9129d9b8e01b8e by Matthew.Arsenault
GlobalISel/TableGen: Fix handling of EXTRACT_SUBREG constraints
This was only using the correct register constraints if this was the
final result instruction. If the extract was a sub instruction of the
result, it would attempt to use GIR_ConstrainSelectedInstOperands on a
COPY, which won't work. Move the handling to
createAndImportSubInstructionRenderer so it works correctly.
I don't fully understand why runOnPattern and
createAndImportSubInstructionRenderer both need to handle these special
cases, and constrain them with slightly different methods. If I remove
the runOnPattern handling, it does break the constraint when the final
result instruction is EXTRACT_SUBREG.
llvm-svn: 371150
The file was modifiedllvm/test/TableGen/GlobalISelEmitterSubreg.td
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-stlxr-intrin.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-stx.mir
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp
Commit 4d906252713510ffdfdd9d21e427e525005ddce3 by Matthew.Arsenault
AMDGPU/GlobalISel: Fix load/store of types in other address spaces
There should probably be a size only matcher.
llvm-svn: 371155
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-local.mir
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-private.mir
Commit ee093ba5c9b535d526b6d4e8f81099794598207e by Matthew.Arsenault
AMDGPU/GlobalISel: Avoid repeating 32-bit type lists
llvm-svn: 371156
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
Commit 9d2504b6d805c08f333143e27b2f09a9e839554a by maskray
[llvm-readobj][yaml2obj] Support SHT_LLVM_SYMPART, SHT_LLVM_PART_EHDR
and SHT_LLVM_PART_PHDR
See http://lists.llvm.org/pipermail/llvm-dev/2019-February/130583.html
and D60242 for the lld partition feature.
This patch:
* Teaches yaml2obj to parse the 3 section types.
* Teaches llvm-readobj/llvm-readelf to dump the 3 section types.
There is no test for SHT_LLVM_DEPENDENT_LIBRARIES in llvm-readobj. Add
it as well.
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D67228
llvm-svn: 371157
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-section-types.test
The file was modifiedllvm/lib/Object/ELF.cpp
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 57fcb1d7fc01741a744eae8c8950ebbe308f8f44 by asbirlea
Cleanup test.
llvm-svn: 371158
The file was modifiedllvm/test/Transforms/LICM/pr42969.ll
Commit bee0f7ddd70120a05605682487bb34f0a074167b by Jonas Devlieghere
[MC] Fix undefined behavior in MCInstPrinter::formatHex
Passing INT64_MIN to MCInstPrinter::formatHex triggers undefined
behavior because the negation of -9223372036854775808 cannot be
represented in type 'int64_t' (aka 'long long'). This patch puts a
workaround in place to just print the hex value directly.
A possible alternative involves using a small helper functions that uses
(implementation) defined conversions to achieve the desirable value:
  static int64_t helper(int64_t V) {
   auto U = static_cast<uint64_t>(V);
   return V < 0 ? -U : U;
}
The underlying problem is that MCInstPrinter::formatHex(int64_t) returns
a format_object<int64_t> and should really return a
format_object<uint64_t>. However, that's not possible because formatImm
needs to be able to print both as decimal (where a signed is required)
and hex (where we'd prefer to always have an unsigned).
  format_object<int64_t> formatImm(int64_t Value) const {
   return PrintImmHex ? formatHex(Value) : formatDec(Value);
}
Differential revision: https://reviews.llvm.org/D67236
llvm-svn: 371159
The file was modifiedllvm/unittests/MC/CMakeLists.txt
The file was modifiedllvm/lib/MC/MCInstPrinter.cpp
The file was addedllvm/unittests/MC/MCInstPrinter.cpp
Commit a2028f73c2c974df126027ee573673c9972c74ff by maskray
Update SHT_LLVM_PART_EHDR test after r371157
llvm-svn: 371160
The file was modifiedlld/test/ELF/partitions.s
Commit b1cf175271820b17c27edfd483c2ab52ce0afcfb by nicolasweber
gn build: Merge r371159
llvm-svn: 371161
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/MC/BUILD.gn
Commit 0b69c59656f564d1aa68ec6b5c1b0be55475a864 by alexbrachetmialot
[yaml2obj] Make e_phoff and e_phentsize 0 if there are no program
headers
Summary: It says [[
http://www.sco.com/developers/gabi/latest/ch4.eheader.html | here ]]
that if there are no program headers than e_phoff should be 0, but
currently it is always set after the header. GNU's `readelf` (but not
`llvm-readelf`) complains about this: `readelf: Warning: possibly
corrupt ELF header - it has a non-zero program header offset, but no
program headers`.
Reviewers: jhenderson, grimar, MaskRay, rupprecht
Reviewed By: jhenderson, grimar, MaskRay
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67054
llvm-svn: 371162
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was addedllvm/test/tools/yaml2obj/elf-no-phdrs.yaml
Commit 27d42af6034b181d3d9e3acd985c846053adf433 by alexbrachetmialot
Fix failing test from rL371162
llvm-svn: 371163
The file was modifiedllvm/test/tools/llvm-readobj/elf-file-headers.test
Commit dfacf8851e93e28b32fb87bc6430fe7c27cf5836 by alexbrachetmialot
Fix rL371162 again
llvm-svn: 371164
The file was modifiedllvm/test/tools/llvm-readobj/elf-file-headers.test
Commit 6179c0eb0d15d73e11af8b6b5538b381c6ed2c53 by aleksandr.urakov
[Windows] Add support of watchpoints to `ProcessWindows`
Summary: This patch adds support of watchpoints to the old
`ProcessWindows` plugin.
The `ProcessWindows` plugin uses the `RegisterContext` to set and reset
watchpoints. The `RegisterContext` has some interface to access
watchpoints, but it is very limited (e.g. it is impossible to retrieve
the last triggered watchpoint with it), that's why I have implemented a
slightly different interface in the `RegisterContextWindows`. Moreover,
I have made the
`ProcessWindows` plugin responsible for search of a vacant watchpoint
slot, because watchpoints exist per-process (not per-thread), then we
can place the same watchpoint in the same slot in different threads.
With this scheme threads don't need to have their own watchpoint lists,
and it simplifies identifying of the last triggered watchpoint.
Reviewers: asmith, stella.stamenova, amccarth
Reviewed By: amccarth
Subscribers: labath, zturner, leonid.mashinskiy, abidh, JDevlieghere,
lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D67168
llvm-svn: 371166
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/condition/TestWatchpointConditionAPI.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_on_vectors/TestValueOfVectorVariable.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.h
The file was modifiedlldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_size/TestWatchpointSizes.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/watchlocation/TestSetWatchlocation.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_disable/TestWatchpointDisable.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_set_command/TestWatchLocationWithWatchSet.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_commands/command/TestWatchpointCommandLLDB.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/multiple_hits/TestMultipleHits.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_commands/condition/TestWatchpointConditionCmd.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_commands/command/TestWatchpointCommandPython.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/TestWatchpointIter.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_commands/TestWatchpointCommands.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/TestSetWatchpoint.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/hello_watchlocation/TestWatchLocation.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/TestWatchpointIgnoreCount.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/hello_watchpoint/TestMyFirstWatchpoint.py
Commit 7739fbc9c35ef539261eee55f8c5281d1d2b5c8d by craig.topper
[X86] Fix bad indentation. NFC
llvm-svn: 371167
The file was modifiedllvm/lib/Target/X86/X86FixupBWInsts.cpp
Commit 890b551fe79247d0dbc5d8ad34d171352fa0060e by craig.topper
[X86] Pre-commit vector of __int128 test cases for D64672.
llvm-svn: 371168
The file was addedclang/test/CodeGen/x86-vec-i128.c
Commit 6c8a34ed9b49704bdd60838143047c62ba9f2502 by craig.topper
[X86] Prevent passing vectors of __int128 as <X x i128> in llvm IR
As far as I can tell, gcc passes 256/512 bit vectors __int128 in memory.
And passes a vector of 1 _int128 in an xmm register. The backend
considers <X x i128> as an illegal type and will scalarize any arguments
with that type. So we need to coerce the argument types in the frontend
to match to avoid the illegal type.
I'm restricting this to change to Linux and NetBSD based on the how
similar ABI changes have been handled in the past. PS4, FreeBSD, and
Darwin are unaffected. I've also added a new -fclang-abi-compat version
to restore the old behavior.
This issue was identified in PR42607. Though even with the types
changed, we still seem to be doing some unnecessary stack realignment.
llvm-svn: 371169
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/CodeGen/x86-vec-i128.c
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
Commit 463c8e5eeb37e3b223f930cf809de0b78dae24ad by craig.topper
[X86] Add tests for extending and truncating between v16i8 and v16i64
with min-legal-vector-width=256.
It looks like we might be able to do these in fewer steps, but I'm not
sure.
llvm-svn: 371170
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll
Commit dee0702b2a9d3769a32a420c36fddef556672a06 by mikael.holmen
[MIR] Change test case to read from stdin instead of file
The
    ;CHECK: bb
   ;CHECK-NEXT: %namedVReg1353:_(p0) = COPY $d0
parts of the test case failed when the tests were placed in a directory
including "bb" in the path, since the full path of the file is then
output in the
; ModuleID = '/repo/bb/ line which the CHECK matched on and then the
CHECK-NEXT failed.
llvm-svn: 371171
The file was modifiedllvm/test/CodeGen/MIR/AArch64/mirnamer.mir
Commit bc35ae7389fd1f761ae3f51c2e37fcd984ead896 by Raphael Isemann
[lldb] Remove xcode bot from website listing and fix link to sanitized
llvm-svn: 371172
The file was modifiedlldb/docs/resources/bots.rst
Commit 412a8d7a831005ae26680670c584fd9e5e6ad10e by dave
[CMake] LLVM_COMPILE_FLAGS also applies to C files
LLVM_COMPILE_FLAGS also applies to C files, otherwise tuning flags, etc.
won't be picked up.
https://reviews.llvm.org/D67171
llvm-svn: 371173
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit ff2172c9f4a089f740993f21465be03cdcc42046 by simon
[mips] Make another set of test cases more tolerant to exact symbol
addresses. NFC
llvm-svn: 371174
The file was modifiedlld/test/ELF/mips-64-gprel-so.s
The file was modifiedlld/test/ELF/mips-32.s
The file was modifiedlld/test/ELF/mips-got-extsym.s
The file was modifiedlld/test/ELF/mips-64-got-overflow.s
The file was modifiedlld/test/ELF/mips-got-hilo.s
The file was modifiedlld/test/ELF/mips-call-hilo.s
The file was modifiedlld/test/ELF/mips-64.s
The file was modifiedlld/test/ELF/mips-64-rels.s
The file was modifiedlld/test/ELF/mips-64-got.s
The file was modifiedlld/test/ELF/mips-got-redundant.s
The file was modifiedlld/test/ELF/mips-call16.s
Commit dd8e73ffc01a75e811855675e29aa46659413f6b by Raphael Isemann
[lldb][NFC] Remove unused Args::GetArgumentQuoteCharAtIndex
llvm-svn: 371176
The file was modifiedlldb/include/lldb/Utility/Args.h
The file was modifiedlldb/source/Utility/Args.cpp
Commit f879c6875563c0a8cd838f1e13b14dd33558f1f8 by shkzhang
[CodeGen] Do the Simple Early Return in block-placement pass to optimize
the blocks
Summary:
Fix a bug of not update the jump table and recommit it again.
In `block-placement` pass, it will create some patterns for
unconditional we can do the simple early retrun. But the `early-ret`
pass is before `block-placement`, we don't want to run it again. This
patch is to do the simple early return to optimize the blocks at the
last of `block-placement`.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D63972
llvm-svn: 371177
The file was modifiedllvm/test/CodeGen/PowerPC/block-placement.mir
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
Commit 312409e464cd0e959e8ef8061144b2e8a4f02ab2 by sam.parker
[ARM] MVE Tail Predication
The MVE and LOB extensions of Armv8.1m can be combined to enable
'tail predication' which removes the need for a scalar remainder loop
after vectorization. Lane predication is performed implicitly via a
system register. The effects of predication is described in Section
B5.6.3 of the Armv8.1-m Arch Reference Manual, the key points being:
- For vector operations that perform reduction across the vector and
produce a scalar result, whether the value is accumulated or not.
- For non-load instructions, the predicate flags determine if the
destination register byte is updated with the new value or if the
previous value is preserved.
- For vector store instructions, whether the store occurs or not.
- For vector load instructions, whether the value that is loaded or
whether zeros are written to that element of the destination
register.
This patch implements a pass that takes a hardware loop, containing
masked vector instructions, and converts it something that resembles an
MVE tail predicated loop. Currently, if we had code generation, we'd
generate a loop in which the VCTP would generate the predicate and VPST
would then setup the value of VPR.PO. The loads and stores would be
placed in VPT blocks so this is not tail predication, but normal VPT
predication with the predicate based upon a element counting induction
variable. Further work needs to be done to finally produce a true tail
predicated loop.
Because only the loads and stores are predicated, in both the LLVM IR
and MIR level, we will restrict support to only lane-wise operations
(no horizontal reductions). We will perform a final check on MIR during
loop finalisation too.
Another restriction, specific to MVE, is that all the vector
instructions need operate on the same number of elements. This is
because predication is performed at the byte level and this is set on
entry to the loop, or by the VCTP instead.
Differential Revision: https://reviews.llvm.org/D65884
llvm-svn: 371179
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-widen.ll
The file was modifiedllvm/lib/Target/ARM/CMakeLists.txt
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-reduce.ll
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll
The file was modifiedllvm/lib/Target/ARM/ARM.h
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/basic-tail-pred.ll
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-narrow.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
The file was addedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-unroll.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-pattern-fail.ll
Commit 0d50c4e060ffea2edcb08b94a6ff7694275e112b by Raphael Isemann
[lldb][NFC] Extend ArgsTest
llvm-svn: 371180
The file was modifiedlldb/unittests/Utility/ArgsTest.cpp
Commit 7841e80e79f231d564bf9f849c8e3cad171b7ba4 by Raphael Isemann
[lldb][NFC] Remove Args::StripSpaces
This just reimplemented llvm::StringRef::[r/l]trim().
llvm-svn: 371181
The file was modifiedlldb/source/Utility/Args.cpp
The file was modifiedlldb/source/Expression/REPL.cpp
The file was modifiedlldb/include/lldb/Utility/Args.h
The file was modifiedlldb/source/Commands/CommandObjectSettings.cpp
Commit f64f4886706b5f50c9feca349edcfae66dce08fa by M.Gehre
Reland [LifetimeAnalysis] Support more STL idioms (template forward
declaration and DependentNameType)
Reland after https://reviews.llvm.org/D66806 fixed the false-positive
diagnostics.
Summary: This fixes inference of gsl::Pointer on std::set::iterator with
libstdc++ (the typedef for iterator on the template is a
DependentNameType - we can only put the gsl::Pointer attribute on the
underlaying record after instantiation)
inference of gsl::Pointer on std::vector::iterator with libc++ (the
class was forward-declared, we added the gsl::Pointer on the canonical
decl (the forward decl), and later when the template was instantiated,
there was no attribute on the definition so it was not instantiated).
and a duplicate gsl::Pointer on some class with libstdc++ (we first
added an attribute to a incomplete instantiation, and then another was
copied from the template definition when the instantiation was
completed).
We now add the attributes to all redeclarations to fix thos issues and
make their usage easier.
Reviewers: gribozavr
Subscribers: Szelethus, xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66179
llvm-svn: 371182
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/test/SemaCXX/attr-gsl-owner-pointer.cpp
The file was modifiedclang/unittests/Sema/CMakeLists.txt
The file was addedclang/unittests/Sema/GslOwnerPointerInference.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/SemaCXX/attr-gsl-owner-pointer-std.cpp
Commit d20c41dd3185498a71746f7242092c697f356ae4 by maskray
[yaml2obj] Rename SHOffset (e_shoff) field to SHOff. NFC
`struct Elf*_Shdr` has a field `sh_offset`, named `ShOffset` in
llvm::ELFYAML::Section. Rename SHOffset (e_shoff) to SHOff to prevent
confusion.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D67254
llvm-svn: 371185
The file was modifiedllvm/test/Object/invalid.test
The file was modifiedllvm/test/tools/yaml2obj/elf-header-sh-fields.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
Commit 29bf68fcfa100233461c8cfca080851b840c6881 by sam.parker
[ARM] Fix for buildbot
llvm-svn: 371187
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
Commit 70e002b50bf35218b20131ec883730eda4a6ff9b by maskray
[ELF][test] Update test after r371185
llvm-svn: 371189
The file was modifiedlld/test/ELF/invalid/invalid-e_shnum.test
Commit 3dbb5c7e8872f48454d4032308e333fddd68422f by nicolasweber
gn build: Merge r371179
llvm-svn: 371190
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/ARM/BUILD.gn
Commit 68df9dc09818289ac5b40d0916bb479a358a8e18 by nicolasweber
gn build: Merge r371182
llvm-svn: 371191
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Sema/BUILD.gn
Commit 6c0204c794ba143ce6817f695e03fd9f49cd4ed8 by jay.foad
[AMDGPU] Mark s_barrier as having side effects but not accessing memory.
Summary: This fixes poor scheduling in a function containing a barrier
and a few load instructions.
Without this fix, ScheduleDAGInstrs::buildSchedGraph adds an artificial
edge in the dependency graph from the barrier instruction to the exit
node representing live-out latency, with a latency of about 500 cycles.
Because of this it thinks the critical path through the graph also has a
latency of about 500 cycles. And because of that it does not think that
any of the load instructions are on the critical path, so it schedules
them with no regard for their (80 cycle) latency, which gives poor
results.
Reviewers: arsenm, dstuttard, tpr, nhaehnle
Subscribers: kzhuravl, jvesely, wdng, yaxunl, t-tye, hiraditya,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67218
llvm-svn: 371192
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/v_mac_f16.ll
The file was addedllvm/test/CodeGen/AMDGPU/schedule-barrier.mir
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
Commit 5d9cd3b4ca457e55c3c21094cfea5e49dddef36c by jeremy.morse.llvm
[DebugInfo] LiveDebugValues: explicitly terminate overwritten stack
locations
If a stack spill location is overwritten by another spill instruction,
any variable locations pointing at that slot should be terminated. We
cannot rely on spills always being restored to registers or variable
locations being moved by a DBG_VALUE: the register allocator is entitled
to spill a value and then forget about it when it goes out of liveness.
To address this, scan for memory writes to spill locations, even those
we don't consider to be normal "spills". isSpillInstruction and
isLocationSpill distinguish the two now. After identifying spill
overwrites, terminate the open range, and insert a $noreg DBG_VALUE for
that variable.
Differential Revision: https://reviews.llvm.org/D66941
llvm-svn: 371193
The file was addedllvm/test/DebugInfo/MIR/X86/live-debug-values-stack-clobber.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
Commit 2ebd24cc136f9b2fdab4a00003b4ac0ffa1e2f37 by hokein
[clangd] Use override keyword to override the base class method, NFC
llvm-svn: 371194
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
Commit 90d32df7db51ec69bee38eedc4549976b7c52321 by sguelton
Remove call to obsolete gethostbyname, using getaddrinfo
Differential Revision: https://reviews.llvm.org/D67230
llvm-svn: 371195
The file was modifiedlldb/source/Host/posix/HostInfoPosix.cpp
Commit db2fa0672210705ff1ca6d38f487970e4536809f by jmolloy
[DFAPacketizer] Track resources for packetized instructions
This patch allows the DFAPacketizer to be queried after a packet is
formed to work out which resources were allocated to the packetized
instructions.
This is particularly important for targets that do their own bundle
packing - it's not sufficient to know simply that instructions can share
a packet; which slots are used is also required for encoding.
This extends the emitter to emit a side-table containing resource usage
diffs for each state transition. The packetizer maintains a set of all
possible resource states in its current state. After packetization is
complete, all remaining resource states are possible packetization
strategies.
The sidetable is only ~500K for Hexagon, but the extra tracking is
disabled by default
(most uses of the packetizer like MachinePipeliner don't care and don't
need the extra maintained state).
Differential Revision: https://reviews.llvm.org/D66936
llvm-svn: 371198
The file was modifiedllvm/utils/TableGen/DFAPacketizerEmitter.cpp
The file was modifiedllvm/include/llvm/CodeGen/DFAPacketizer.h
The file was addedllvm/test/CodeGen/Hexagon/packetizer-resources.ll
The file was modifiedllvm/lib/CodeGen/DFAPacketizer.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
Commit d409408e3172c85c4f41a2c2f7727903c5dff8c5 by djordje.todorovic
[test] Update the name of the debug entry values option. NFC
llvm-svn: 371199
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
Commit 4fc3ad9e1359ea1b9e5b923a08af400a5d680cef by gchatelet
[Alignment][NFC] Use Align with TargetLowering::setMinFunctionAlignment
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: jyknight, sdardis, nemanjai, javed.absar, hiraditya,
kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos,
sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan,
rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji,
s.egerton, pzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67229
llvm-svn: 371200
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was modifiedllvm/lib/Target/BPF/BPFISelLowering.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreISelLowering.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/MSP430/MSP430ISelLowering.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcISelLowering.cpp
Commit edfd276cbc609051143d113f5e0d6b9248aebe47 by grimar
[llvm-readelf] - Print unknown st_other value if present in GNU output.
This is a fix for https://bugs.llvm.org/show_bug.cgi?id=40785.
llvm-readelf does not print the st_value of the symbol when st_value has
any non-visibility bits set.
This patch:
* Aligns "Ndx" row for the default and a new cases.
(it was 1 space character off for the case when "PROTECTED" visibility
was printed)
* Prints "[<other>: 0x??]" for symbols which has an additional st_other
bits set. In compare with GNU, this logic is a bit simpler and seems to
be more consistent.
For MIPS GNU can print named flags, though can't print a mix of them: 0:
00000000 0 NOTYPE LOCAL DEFAULT UND  1: 00000000 0 NOTYPE GLOBAL DEFAULT
[OPTIONAL] UND a1 2: 00000000 0 NOTYPE GLOBAL DEFAULT [MIPS PLT] UND a2
3: 00000000 0 NOTYPE GLOBAL DEFAULT [MIPS PIC] UND a3 4: 00000000 0
NOTYPE GLOBAL DEFAULT [MICROMIPS] UND a4 5: 00000000 0 NOTYPE GLOBAL
DEFAULT [MIPS16] UND a5 6: 00000000 0 NOTYPE GLOBAL DEFAULT [<other>: c]
UND b1 7: 00000000 0 NOTYPE GLOBAL DEFAULT [<other>: 28] UND b2
On PPC64 it can print a localentry value that is encoded in the high
bits of st_other 63: 0000000000000850 208 FUNC GLOBAL DEFAULT
[<localentry>: 8] 12
We chose to print the raw st_other field, prefixed with '0x'.
Differential revision: https://reviews.llvm.org/D67094
llvm-svn: 371201
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-symbol-visibility.test
Commit 8455294f2ac13d587b13d728038a9bffa7185f2b by nicolasweber
Revert r370635, it caused PR43241.
llvm-svn: 371202
The file was modifiedlld/test/ELF/linkerscript/early-assign-symbol.s
The file was modifiedlld/ELF/Writer.h
The file was modifiedlld/test/ELF/linkerscript/subalign.s
The file was modifiedlld/ELF/ICF.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/ELF/LinkerScript.h
The file was removedlld/test/ELF/linkerscript/icf-output-sections.s
Commit 5d870c2ec0a631f41ec4387e9d3c6073fea9c178 by gchatelet
[Alignment] fix dubious min function alignment
Summary: This was discovered while introducing the llvm::Align type. The
original setMinFunctionAlignment used to take alignment as log2, looking
at the comment it seems like instructions are to be 2-bytes aligned and
not 4-bytes aligned.
Reviewers: uweigand
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67271
llvm-svn: 371204
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Commit 06487b010d48c36c7714ee083ed38dff65711812 by nicolasweber
libclang depends on ClangDriverOptions since r352803
Without this, the build would sometimes fail with
    In file included from clang/tools/libclang/CIndexer.cpp:17:
   In file included from clang/include/clang/Driver/Driver.h:15:
   clang/include/clang/Driver/Options.h:44:10: fatal error:
       'clang/Driver/Options.inc' file not found
   #include "clang/Driver/Options.inc"
            ^~~~~~~~~~~~~~~~~
if Options.inc wasn't generated before libclang was built by
coincidence.
(In the GN build, this works because lib/Driver there declares the dep
on tablegen as a public_dep since the generated file is part of Driver's
public interface, and then things work out automatically without every
client of Driver having to be careful.)
llvm-svn: 371205
The file was modifiedclang/tools/libclang/CMakeLists.txt
Commit 624620ff57cd725af724fc760d3b51ce926c529f by lebedev.ri
[NFC][CodeGen][UBSan] EmitCheckedInBoundsGEP(): add some comments to
pointer-overflow check
It's rather eye-twiching, some comments may help here..
This was originally part of https://reviews.llvm.org/D67122
llvm-svn: 371206
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
Commit 8f03dcdc91326fcccaa7aabe2fe898fd3c9c4e58 by lebedev.ri
[NFC][CodeGen][UBSan] EmitCheckedInBoundsGEP(): refactor
EmitGEPOffsetInBytes() helper
It shouldn't really be inlined into the EmitCheckedInBoundsGEP().
Refactoring it beforehand will make follow-up changes more obvious.
This was originally part of https://reviews.llvm.org/D67122
llvm-svn: 371207
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
Commit f1d33842b9d0701bf31a51c21c8bf9af5dd79138 by lebedev.ri
[NFC][CodeGen][UBSan] EmitCheckedInBoundsGEP(): pass a vector to
EmitCheck()
Will be easier to add a new 'check' in a follow-up.
This was originally part of https://reviews.llvm.org/D67122
llvm-svn: 371208
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
Commit 9fcf066d0cd2fc283e410acc19b110c90f43e26c by gchatelet
[Alignment][NFC] Use Align with TargetLowering::setPrefLoopAlignment
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: nemanjai, hiraditya, kbarton, MaskRay, jsji, ychen,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67278
llvm-svn: 371210
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
Commit 4f8d005831a0b6cedd4935579dda2ac97518e4d9 by cyndy_ishida
[Object] remove struct constructor, NFC
Summary: make POD struct by removing ctors
Reviewers: avl, dblaikie
Reviewed By: dblaikie
Subscribers: ributzka, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67251
llvm-svn: 371211
The file was modifiedllvm/include/llvm/Object/ObjectFile.h
Commit ad1cea0ddafe7494e9726623bd08d1814c8cf19e by gchatelet
[Alignment][NFC] Use Align with TargetLowering::setPrefFunctionAlignment
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: nemanjai, javed.absar, hiraditya, kbarton, asb, rbar,
johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng,
edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei,
jsji, s.egerton, pzheng, ychen, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67267
llvm-svn: 371212
The file was modifiedllvm/lib/Target/MSP430/MSP430ISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/BPF/BPFISelLowering.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiISelLowering.cpp
Commit 8f10a5f42d5b391efe57a982c98de5e1ae245e4d by maskray
[ELF][test] Simplify and reorganize tests
Add file-level comments Delete insignificant addresses to make them more
tolerant to layout changes Simplify test output Delete simple Inputs/*.s
files
Delete version-script-copy-rel.s - covered by verdef-defaultver.s Delete
version-wildcard.test - covered by version-script-glob.s
llvm-svn: 371213
The file was modifiedlld/test/ELF/version-script-weak.s
The file was modifiedlld/test/ELF/discard-merge-locals.s
The file was removedlld/test/ELF/Inputs/ehframe-relocation.s
The file was modifiedlld/test/ELF/stdout.s
The file was modifiedlld/test/ELF/copy-rel-large.s
The file was removedlld/test/ELF/version-script-copy-rel.s
The file was modifiedlld/test/ELF/tls-offset.s
The file was removedlld/test/ELF/version-wildcard.test
The file was modifiedlld/test/ELF/dynamic-list.s
The file was addedlld/test/ELF/x86-64-reloc-size.s
The file was removedlld/test/ELF/tls-got.s
The file was modifiedlld/test/ELF/edata-no-bss.s
The file was modifiedlld/test/ELF/ehframe-relocation.s
The file was modifiedlld/test/ELF/abs-hidden.s
The file was removedlld/test/ELF/Inputs/abs-hidden.s
The file was modifiedlld/test/ELF/dynamic-reloc.s
The file was modifiedlld/test/ELF/dynamic.s
The file was addedlld/test/ELF/gc-sections-string.s
The file was removedlld/test/ELF/relocation-size-shared.s
The file was modifiedlld/test/ELF/relocation-copy-relro.s
The file was removedlld/test/ELF/string-gc.s
The file was modifiedlld/test/ELF/x86-64-tls-ie-opt-local.s
The file was addedlld/test/ELF/x86-64-tls-ie.s
The file was modifiedlld/test/ELF/ctors_dtors_priority.s
The file was modifiedlld/test/ELF/emit-relocs-merge.s
The file was modifiedlld/test/ELF/relro-tls.s
The file was modifiedlld/test/ELF/allow-multiple-definition.s
The file was modifiedlld/test/ELF/dynamic-list-wildcard.s
The file was modifiedlld/test/ELF/relro-non-contiguous.s
The file was modifiedlld/test/ELF/bss-start-common.s
The file was modifiedlld/test/ELF/copy-rel-pie.s
The file was modifiedlld/test/ELF/visibility.s
The file was modifiedlld/test/ELF/version-script-glob.s
The file was modifiedlld/test/ELF/symbol-override.s
The file was modifiedlld/test/ELF/dynamic-reloc-index.s
The file was addedlld/test/ELF/x86-64-reloc-size-shared.s
The file was modifiedlld/test/ELF/copy-rel-abs.s
The file was modifiedlld/test/ELF/relocation-relative-weak.s
The file was modifiedlld/test/ELF/version-script.s
The file was removedlld/test/ELF/relocation-size.s
The file was removedlld/test/ELF/dynamic-got-rela.s
The file was addedlld/test/ELF/apply-dynamic-relocs.s
The file was modifiedlld/test/ELF/relocation-copy-flags.s
The file was modifiedlld/test/ELF/relocation-undefined-weak.s
Commit e8ade89bb3803fe07534b20db6b35bbc7ffc42e3 by Valery.Pykhtin
[AMDGPU] Enable constant offset promotion to immediate operand for VMEM
stores
Differential revision: https://reviews.llvm.org/D66958
llvm-svn: 371214
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.mir
Commit 5d9f419a2e01c437a35899952d3342cc96a7d9e1 by maskray
Revert "Revert r370635, it caused PR43241."
This reverts commit 50d2dca22b3b05d0ee4883b0cbf93d7d15f241fc.
llvm-svn: 371215
The file was modifiedlld/ELF/Writer.h
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/ELF/LinkerScript.cpp
The file was modifiedlld/test/ELF/linkerscript/early-assign-symbol.s
The file was addedlld/test/ELF/linkerscript/icf-output-sections.s
The file was modifiedlld/ELF/LinkerScript.h
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/linkerscript/subalign.s
The file was modifiedlld/ELF/ICF.cpp
Commit 8d30c1dcec2a935e0b1cffc26fdc6054ff101f53 by maskray
Reland D66717 [ELF] Do not ICF two sections with different output
sections (by SECTIONS commands)
Recommit r370635 (reverted by r371202), with one change: move
addOrphanSections() before ICF.
Before, orphan sections in two different partitions may be folded and
moved to the main partition.
Now, InputSection->OutputSection assignment for orphans happens before
ICF. ICF does not fold input sections with different output sections.
With the PR43241 reproduce,
`llvm-objcopy --extract-partition libvr.so libchrome__combined.so
libvr.so` => no error
Updated description:
Fixes PR39418. Complements D47241 (the non-linker-script case).
processSectionCommands() assigns input sections to output sections. ICF
is called before it, so .text.foo and .text.bar may be folded even if
their output sections are made different by SECTIONS commands.
``` markLive<ELFT>() doIcf<ELFT>()                      // During ICF,
we don't know the output sections writeResult()
combineEhSections<ELFT>()
script->processSectionCommands() // InputSection -> OutputSection
assignment
```
This patch splits processSectionCommands() into processSectionCommands()
and processSymbolAssignments(), and moves
processSectionCommands()/addOrphanSections() before ICF:
``` markLive<ELFT>() combineEhSections<ELFT>()
script->processSectionCommands() script->addOrphanSections();
doIcf<ELFT>()                      // should remove folded input
sections writeResult()
script->processSymbolAssignments()
```
An alternative approach is to unfold a section `sec` in
processSectionCommands() when we find `sec` and `sec->repl` belong to
different output sections. I feel this patch is superior because this
can fold more sections and the decouple of
SectionCommand/SymbolAssignment gives flexibility:
* An ExprValue can't be evaluated before its section is assigned to an
output section -> we can delete getOutputSectionVA and simplify
another place where we had to check if the output section is null.
Moreover, a case in linkerscript/early-assign-symbol.s can be handled
now.
* processSectionCommands/processSymbolAssignments can be freely moved
around.
llvm-svn: 371216
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/partition-icf.s
The file was modifiedlld/ELF/ICF.cpp
Commit f1cdd95a2fe79fbcd7fd440509a754bc3afaf088 by sam.tebbs
[ARM] Sink add/mul(shufflevector(insertelement())) for MVE instruction
selection
This patch sinks add/mul(shufflevector(insertelement())) into the basic
block in which they are used so that they can then be selected together.
This is useful for various MVE instructions, such as vmla and others
that take R registers.
Loop tests have been added to the vmla test file to make sure vmlas are
generated in loops.
Differential revision: https://reviews.llvm.org/D66295
llvm-svn: 371218
The file was addedllvm/test/Transforms/CodeGenPrepare/ARM/sink-add-mul-shufflevector.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmla.ll
Commit 4f0e429acca3b224b7b58fb89899c2de08a2e4c6 by spatel
[SimplifyLibCalls] handle pow(x,-0.0) before it can assert (PR43233)
https://bugs.llvm.org/show_bug.cgi?id=43233
llvm-svn: 371221
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/test/Transforms/InstCombine/pow-4.ll
Commit fd07568074689654e78ef38e700f9a019ffa42d3 by david.bolvansky
[Diagnostics] Refactor code for -Wsizeof-pointer-div, catch more cases;
also add -Wsizeof-array-div
Previously, -Wsizeof-pointer-div failed to catch: const int *r;
sizeof(r) / sizeof(int);
Now fixed. Also introduced -Wsizeof-array-div which catches bugs like:
sizeof(r) / sizeof(short);
(Array element type does not match type of sizeof operand).
llvm-svn: 371222
The file was modifiedclang/test/Sema/div-sizeof-ptr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
Commit d1cc181d03b3c0d1f0e500f5826562a6e4667018 by david.bolvansky
[NFC] Added new tests for r371222
llvm-svn: 371223
The file was addedclang/test/Sema/div-sizeof-array.cpp
Commit 52614dfc7fd09d3de608068415eaa632c21c661d by JF Bastien
[InstCombine] pow(x, +/- 0.0) -> 1.0
Summary: This isn't an important optimization at all... We're already
doing:
pow(x, 0.0) -> 1.0 My patch merely teaches instcombine that -0.0 does
the same.
However, doing this fixes an AMAZING bug! Compile this program:
  extern "C" double pow(double, double);
double boom(double base) {
   return pow(base, -0.0);
}
With:
clang++ ~/Desktop/fast-math.cpp -ffast-math -O2 -S
And clang will crash with a signal. Wow, fast math is so fast it ICEs
the compiler! Arguably, the generated math is infinitely fast.
What's actually happening is that we recurse infinitely in getPow. In
debug we hit its assertion:
assert(Exp != 0 && "Incorrect exponent 0 not handled");
We avoid this entire mess if we instead recognize that an exponent of
positive and negative zero yield 1.0.
A separate commit, r371221, fixed the same problem. This only contains
the added tests.
<rdar://problem/54598300>
Reviewers: scanon
Subscribers: hiraditya, jkorous, dexonsmith, ributzka, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67248
llvm-svn: 371224
The file was addedllvm/test/Transforms/InstCombine/pow-0.ll
Commit 2682bc3c9d1ec7da324bedfa46fce537797b5a49 by maskray
[ELF] Replace error() with errorOrWarn() for the ASSERT command
Summary: ld.bfd produces an output with --noinhibit-exec when an ASSERT
fails. Use errorOrWarn() so that we can produce an output as well.
An interesting case is that symbol assignments may execute multiple
times, so we probably want to suppress errors for non-final runs.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D67285
llvm-svn: 371225
The file was modifiedlld/test/ELF/linkerscript/assert.s
The file was modifiedlld/ELF/ScriptParser.cpp
Commit 454e40eaf328fe34cda7f24d33a1f47060b5ee1a by david.bolvansky
[NFCI] Unbreak buildbots
llvm-svn: 371226
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was removedclang/test/Sema/div-sizeof-array.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td