SuccessChanges

Summary

  1. [lldb][NFC] Migrate to raw_ostream in Module::GetDescription (details)
  2. [yaml2obj][test] - Remove excessive symtab-shinfo.yaml. (details)
  3. [lldb][NFC] Extract single member parsing out of (details)
  4. [SelectionDAG] Expand nnan FMINNUM/FMAXNUM to select sequence (details)
  5. [DWARFDebugRnglists] Add a callback-based version of the (details)
  6. [DWARFDebugLoclists] Add support for other DW_LLE encodings (details)
  7. [lldb] s/FileSpec::Equal/FileSpec::Match (details)
  8. [lldb/Editline] Fix a -Wreturn-type warning with gcc (details)
  9. [lldb] Add test for Stream::Address and Stream::AddressRange (details)
  10. [lldb] Remove FileSpec(FileSpec*) constructor (details)
  11. [lldb] s/assertTrue/assertEqual in TestStepTarget.py (details)
  12. [APFloat] Prevent construction of APFloat with Semantics and FP value (details)
  13. [lldb] Remove some (almost) unused Stream::operator<<'s (details)
  14. [yaml2obj] - Make DynamicSymbols to be Optional<> too. (details)
  15. AMDGPU: Avoid folding 2 constant operands into an SALU operation (details)
  16. [NFC] Use default case in EVT::getEVTString (details)
  17. [AArch64TTI] Compute imm materialization cost for AArch64 intrinsics (details)
  18. [clangd] Add no delayed templates to outline tests (details)
  19. Add debug output to MipsDelaySlotFiller pass (details)
  20. MipsDelaySlotFiller: Don't move BUNDLE instructions into the delay slot (details)
  21. Handle BUNDLE instructions in MipsAsmPrinter (details)
  22. Allow negative offsets in MipsMCInstLower::LowerOperand (details)
  23. [SimpleLoopUnswitch] Invalidate the topmost loop with ExitBB as exiting. (details)
  24. [clangd] Remove the hanging lit exit-signal.test. (details)
  25. [AMDGPU][MC] Remove duplicate code introduced in r359316. (details)
  26. [AArch64][SVE] Implement reversal intrinsics (details)
  27. Actually delay processing DelayedDllExportClasses until the outermost (details)
  28. [OpenCL] Allow addr space qualifiers on lambda call expressions (details)
  29. [NFC][InstCombine] Update sub-of-negatible.ll test (details)
  30. [lldb] Fix macOS build by replacing nullptr with FileSpec() (details)
  31. [clangd] register cuda language activation event and activate for .cuh (details)
  32. [Support] add vfs support for ExpandResponseFiles (details)
  33. [clang][Tooling] Add support for .rsp files in compile_commands.json (details)
  34. [llvm][Support] Take in CurrentDirectory as a parameter in (details)
  35. gn build: Merge 45ef055d4ff (details)
  36. [ARM][MVE][Intrinsics] Add VMULH/VRMULH intrinsics. (details)
  37. [opencl] Fix address space deduction on array variables. (details)
  38. [clang-change-namespace] Change file pattern to be an anchored regex (details)
  39. Change Target::FindBreakpointsByName to return Expected<vector> (details)
  40. Revert "[llvm][Support] Take in CurrentDirectory as a parameter in (details)
  41. Automaticaly generate copysign-constant-magnitude.ll . NFC (details)
  42. [ELF] Support for PT_GNU_PROPERTY in header and tools (details)
  43. Reapply "[llvm][Support] Take in CurrentDirectory as a parameter in (details)
  44. [DebugInfo] Recover debug intrinsics when killing duplicated/empty basic (details)
  45. [lldb] Simplify debug_{rnglists,ranges}.s tests (details)
  46. [llvm-ar][test] Add to thin archive test coverage (details)
  47. Add some missing includes to MicrosoftDemangle.cpp (PR44217) (details)
  48. [libomptarget] Build a minimal deviceRTL for amdgcn (details)
  49. [XCOFF][AIX] Emit TOC entries for object file generation (details)
  50. [LVI] Restructure caching (details)
  51. Small nit in SelectionDAG.h . NFC (details)
  52. [SVE][AArch64] Adding patterns for while intrinsics. (details)
  53. [PGO][PGSO] Distinguish queries from unit tests and explicitly enable (details)
  54. [HIP] Remove opencl.amdgcn.lib (details)
  55. [llvm][Transform] Remove unused variable. [NFCI] (details)
  56. [LoopInterchange] Improve inner exit loop safety checks. (details)
  57. [Gold Tests] Add missing target flag to X86 test (details)
  58. [Coverage] Revise format to reduce binary size (details)
  59. [dsymutil] Remove recursion from lookForChildDIEsToKeep (1/2) (NFC) (details)
  60. [dsymutil] Remove recursion from lookForChildDIEsToKeep (2/2) (NFC) (details)
  61. Revert "[Coverage] Revise format to reduce binary size" (details)
  62. Reland [AArch64][MachineOutliner] Return address signing for outlined (details)
  63. Revert "[DebugInfo] Recover debug intrinsics when killing (details)
  64. Revert "Add some missing includes to MicrosoftDemangle.cpp (PR44217)" (details)
  65.         Reapply af57dbf12e54 "Add support for options -frounding-math, (details)
  66. Add support for lowering 32-bit/64-bit pointers (details)
  67. [OpenMP50] Add parallel master construct, by Chi Chun Chen. (details)
  68. [OPENMP]Update list of implemented features, NFC. (details)
  69. Fix crash-on-invalid-code in lambda constant evaluation. (details)
  70. Revert "        Reapply af57dbf12e54 "Add support for options (details)
  71. [LangRef] make per-element poison behavior explicit (details)
  72. [X86] Add missing break to the end of the last case in a switch. NFC (details)
  73. [VectorUtils] API for VFShape, update VFInfo. (details)
  74. [OPENMP50]Add support for if clause for simd part in taskloop simd (details)
  75. [MIBundle] Remove unused/obsolete MIOperands/ConstMIOperands (NFC). (details)
  76. Add --strip-trailing-cr to compression tests so they pass on Windows. (details)
  77. [DWARF5][Debuginfo] Compilation unit type (DW_UT_skeleton) and root DIE (details)
  78. [LLDB] Actually fix the win-i386-line-table.s test when executed on (details)
  79. [NFC][InstCombine] Autogenerate check lines in a few tests (details)
  80. [compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector. (details)
  81. [lit] Document the undocumented pre-defined substitutions (details)
  82. Revert "Add --strip-trailing-cr to compression tests so they pass on (details)
  83. Bug 43965 - Value of _MSVC_LANG doesn't match MSVC++ VS2019 (details)
  84. Revert "[OpenMP50] Add parallel master construct, by Chi Chun Chen." (details)
  85. [ThinLTO] Fix importing of writeonly variables in distributed ThinLTO (details)
  86. [llvm-symbolizer] Support debug file lookup using build ID (details)
Commit c4c464f8a5025ad59733723e1ba1900837760078 by Raphael Isemann
[lldb][NFC] Migrate to raw_ostream in Module::GetDescription
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
The file was modifiedlldb/include/lldb/Core/Module.h
The file was modifiedlldb/source/Core/Module.cpp
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/source/API/SBModule.cpp
Commit 3b47e6efb9dd257d0e321348eabeddfcc2eb050a by grimar
[yaml2obj][test] - Remove excessive symtab-shinfo.yaml.
The same testing is performed in `implicit-sections-info.yaml`:
https://github.com/llvm-mirror/llvm/blob/master/test/tools/yaml2obj/implicit-sections-info.yaml
Differential revision: https://reviews.llvm.org/D70957
The file was removedllvm/test/tools/yaml2obj/ELF/symtab-shinfo.yaml
Commit 4d37f18b29cc3fd1abd336ec10baca17694d035f by Raphael Isemann
[lldb][NFC] Extract single member parsing out of
DWARFASTParserClang::ParseChildMembers
ParseChildMembers does a few things, only one part is actually parsing a
single member. This extracts the member parsing logic into its own
function.
This commit just moves the code as-is into its own function and forwards
the parameters/ local variables to it, which means it should be NFC.
The only actual changes to the code are replacing 'break's (and one very
curious 'continue' that behaves like a 'break') with 'return's.
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
Commit c3d05c1b5209122dbb18e2d7126c14359b6dfa90 by ulrich.weigand
[SelectionDAG] Expand nnan FMINNUM/FMAXNUM to select sequence
InstCombine may synthesize FMINNUM/FMAXNUM nodes from fcmp+select
sequences (where the fcmp is marked nnan).  Currently, if the target
does not otherwise handle these nodes, they'll get expanded to libcalls
to fmin/fmax.  However, these functions may reside in libm, which may
introduce a library dependency that was not originally present in the
source code, potentially resulting in link failures.
To fix this problem, add code to TargetLowering::expandFMINNUM_FMAXNUM
to expand FMINNUM/FMAXNUM to a compare+select sequence instead of the
libcall. This is done only if the node is marked as "nnan"; in this
case, the expansion to compare+select is always correct. This also
suffices to catch all cases where FMINNUM/FMAXNUM was synthesized as
above.
Differential Revision: https://reviews.llvm.org/D70965
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/fp-libcall.ll
Commit d34927e7dbcf77a6c0d1ab4e39158bc1f90c18f2 by pavel
[DWARFDebugRnglists] Add a callback-based version of the
getAbsoluteRanges function
Summary: The dump() function already accepts a callback. This makes
getAbsoluteRanges do the same. The existing DWARFUnit overload is
implemented on top of the new function.
This enables usage of the debug_rnglists parser from within lldb (which
has it's own dwarf parser).
Reviewers: dblaikie, JDevlieghere, aprantl
Subscribers: hiraditya, probinson, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70952
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h
Commit a3af3ac39301929b5c3f79b44c44c57d16a6c6f6 by pavel
[DWARFDebugLoclists] Add support for other DW_LLE encodings
Summary: lldb's loclists parser has support for DW_LLE_start_end(x)
encodings. To avoid regressing when switching the implementation to
llvm's, I add parsing support for all previously unsupported location
list encodings.
Reviewers: dblaikie, JDevlieghere, aprantl, SouraVX
Subscribers: hiraditya, probinson, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70949
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/debug_loclists.s
Commit 532290e69fcb0e1f2005853241bc2cac6941e0f7 by pavel
[lldb] s/FileSpec::Equal/FileSpec::Match
Summary: The FileSpec class is often used as a sort of a pattern -- one
specifies a bare file name to search, and we check if in matches the
full file name of an existing module (for example).
These comparisons used FileSpec::Equal, which had some support for it
(via the full=false argument), but it was not a good fit for this job.
For one, it did a symmetric comparison, which makes sense for a function
called "equal", but not for typical searches (when searching for
"/foo/bar.so", we don't want to find a module whose name is just
"bar.so"). This resulted in patterns like:
   if (FileSpec::Equal(pattern, file, pattern.GetDirectory())) which
would request a "full" match only if the pattern really contained a
directory. This worked, but the intended behavior was very unobvious.
On top of that, a lot of the code wanted to handle the case of an
"empty" pattern, and treat it as matching everything. This resulted in
conditions like:
   if (pattern && !FileSpec::Equal(pattern, file,
pattern.GetDirectory()) which are nearly impossible to decipher.
This patch introduces a FileSpec::Match function, which does exactly
what most of FileSpec::Equal callers want, an asymmetric match between a
"pattern" FileSpec and a an actual FileSpec. Empty paterns match
everything, filename-only patterns match only the filename component.
I've tried to update all callers of FileSpec::Equal to use a simpler
interface. Those that hardcoded full=true have been changed to use
operator==. Those passing full=pattern.GetDirectory() have been changed
to use FileSpec::Match.
There was also a handful of places which hardcoded full=false. I've
changed these to use FileSpec::Match too. This is a slight change in
semantics, but it does not look like that was ever intended, and it was
more likely a result of a misunderstanding of the "proper" way to use
FileSpec::Equal.
[In an ideal world a "FileSpec" and a "FileSpec pattern" would be two
different types, but given how widespread FileSpec is, it is unlikely
we'll get there in one go. This at least provides a good starting point
by centralizing all matching behavior.]
Reviewers: teemperor, JDevlieghere, jdoerfert
Subscribers: emaste, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70851
The file was modifiedlldb/source/Core/SearchFilter.cpp
The file was modifiedlldb/source/Utility/FileSpec.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInRange.cpp
The file was modifiedlldb/include/lldb/Utility/FileSpec.h
The file was modifiedlldb/unittests/Utility/FileSpecTest.cpp
The file was modifiedlldb/source/Core/SourceManager.cpp
The file was modifiedlldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
The file was modifiedlldb/include/lldb/Core/SourceManager.h
The file was modifiedlldb/source/Commands/CommandObjectSource.cpp
The file was modifiedlldb/source/Core/Module.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
The file was modifiedlldb/source/Symbol/SymbolContext.cpp
The file was modifiedlldb/include/lldb/Core/ModuleSpec.h
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/source/Symbol/CompileUnit.cpp
The file was modifiedlldb/source/Breakpoint/Breakpoint.cpp
The file was modifiedlldb/source/Target/TargetList.cpp
The file was modifiedlldb/source/Symbol/Declaration.cpp
Commit 817d6184e75db5eefca907a296e8379d8f570e7e by pavel
[lldb/Editline] Fix a -Wreturn-type warning with gcc
The file was modifiedlldb/source/Host/common/Editline.cpp
Commit 16d20130444c9601ad276a8e82f79b2ac204c6f6 by Raphael Isemann
[lldb] Add test for Stream::Address and Stream::AddressRange
I'm refactoring those functions, so we should have some tests for them
before doing that.
The file was modifiedlldb/unittests/Utility/StreamTest.cpp
Commit 28e4942b2c3b8961b91b362b4b76b9ca0f735cc2 by pavel
[lldb] Remove FileSpec(FileSpec*) constructor
This constructor was the cause of some pretty weird behavior. Remove it,
and update all code to properly dereference the argument instead.
The file was modifiedlldb/source/API/SBThread.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
The file was modifiedlldb/source/Utility/FileSpec.cpp
The file was modifiedlldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
The file was modifiedlldb/include/lldb/Utility/FileSpec.h
The file was modifiedlldb/source/Symbol/LocateSymbolFile.cpp
The file was modifiedlldb/source/Target/Target.cpp
Commit 1351672eedbf9716def4fc789d9046c481c7cd25 by pavel
[lldb] s/assertTrue/assertEqual in TestStepTarget.py
this improves error messages.
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/c/step-target/TestStepTarget.py
Commit 2b6b8cb10c870d64f7cc29d21fc27cef3c7e0056 by ehudkatz
[APFloat] Prevent construction of APFloat with Semantics and FP value
Constructor invocations such as `APFloat(APFloat::IEEEdouble(), 0.0)`
may seem like they accept a FP (floating point) value, but the overload
they reach is actually the `integerPart` one, not a `float` or `double`
overload (which only exists when `fltSemantics` isn't passed).
This may lead to possible loss of data, by the conversion from `float`
or `double` to `integerPart`.
To prevent future mistakes, a new constructor overload, which accepts
any FP value and marked with `delete`, to prevent its usage.
Fixes PR34095.
Differential Revision: https://reviews.llvm.org/D70425
The file was modifiedllvm/unittests/ADT/APFloatTest.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/include/llvm/ADT/APFloat.h
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Commit 150c8dd13be4a9d9a9f631a507871359117871ca by pavel
[lldb] Remove some (almost) unused Stream::operator<<'s
llvm::raw_ostream provides equivalent functionality.
The file was modifiedlldb/include/lldb/Utility/Stream.h
The file was modifiedlldb/source/Utility/Stream.cpp
The file was modifiedlldb/unittests/Utility/StreamTest.cpp
The file was modifiedlldb/source/Symbol/Variable.cpp
Commit daff7b85890b31085f75b8e9694e074745518069 by grimar
[yaml2obj] - Make DynamicSymbols to be Optional<> too.
We already have Symbols property to list regular symbols and it is
currently Optional<>. This patch makes DynamicSymbols to be optional
too. With this there is no need to define a dummy symbol anymore to
trigger creation of the .dynsym and it is now possible to define an
empty .dynsym using just the following line:
DynamicSymbols: []
(it is important to have when you do not want to have dynamic symbols,
but want to have a .dynsym)
Now the code is consistent and it helped to fix a bug: previously we did
not report an error when both Content/Size and an empty
Symbols/DynamicSymbols list were specified.
Differential revision: https://reviews.llvm.org/D70956
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/dynsymtab-implicit-sections-size-content.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/implicit-sections.yaml
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/test/tools/yaml2obj/ELF/implicit-sections-types.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/implicit-sections-addr.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/symtab-implicit-sections-size-content.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/gnu-hash-section.yaml
Commit 46db60683422180688bff0737142c343ba28e7cb by david.stuttard
AMDGPU: Avoid folding 2 constant operands into an SALU operation
Summary: Catch the (admittedly unusual) case where SIFoldOperands
attempts to fold 2 constant operands into the same SALU operation, with
neither operand able to be encoded as an inline constant.
Change-Id: Ibc48d662c9ffd8bbacd154976b0b1c257ace0927
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, tpr,
t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70896
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was addedllvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
Commit 17e537bc580b3659da1e0d6c536916d96818428d by cullen.rhodes
[NFC] Use default case in EVT::getEVTString
Summary: The default case handles the majority of MVTs so most of the
individual cases can be removed. Also added a case for floating point
types.
Reviewed By: sdesmalen
Differential Revision: https://reviews.llvm.org/D70955
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
Commit 93c8235702cb47d078d6e585a4f6446cba72c6fa by flo
[AArch64TTI] Compute imm materialization cost for AArch64 intrinsics
Currently, getIntImmCost returns TCC_Free for almost all intrinsics. For
most AArch64 specific intrinsics however, it looks like integer
constants cannot be folded into most of them (at least the ones I
checked).
Unless we know that we can fold integer operands with the intrinsic, we
handle more cases correctly by returning the cost to materialize the
immediate than return TCC_Free.
Reviewers: SjoerdMeijer, dmgreen, t.p.northover, ributzka
Reviewed By: SjoerdMeijer
Differential Revision: https://reviews.llvm.org/D70669
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was addedllvm/test/Transforms/ConstantHoisting/AArch64/const-hoist-intrinsics.ll
Commit ba71e84430f98639957f002bf424aef5248832c7 by kadircet
[clangd] Add no delayed templates to outline tests
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp
Commit 0cc4b959851e7a2e98388a34e634fa922a1bc444 by Alexander.Richardson
Add debug output to MipsDelaySlotFiller pass
Summary: I was tracking down a code-generation bug in this pass and
found that the added output was useful. It is also helpful to find out
why a delay slot could not be filled even though there is clearly a
valid instruction (which appears to mostly be caused by CFI
instructions).
Reviewers: atanasyan
Reviewed By: atanasyan
Subscribers: merge_guards_bot, sdardis, hiraditya, jrtc27, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70940
The file was modifiedllvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
Commit b91f239485fb7bb8d29be3e0b60660a2de7570a9 by Alexander.Richardson
MipsDelaySlotFiller: Don't move BUNDLE instructions into the delay slot
Summary: In our CHERI fork we use BUNDLE instructions to ensure that a
three-instruction sequence to generate a program-counter-relative value
is emitted without reordering or insertions (since that would break the
32-bit offset computation). This sequence is created in MipsExpandPseudo
and we use finalizeBundle() to create the BUNDLE instruction.
However, the delay slot filler currently breaks this pattern since the
BUNDLE will be removed and so all instructions are moved into the delay
slot. Since the delay slot only executes the first instruction, this
results in incorrect computations (and run-time crashes) if the branch
is taken.
The original test cases uses CHERI instructions, so for the test case
here I simple filled a BUNDLE with a no-op DADDiu $sp_64, -16 and DADDiu
$sp_64, 16.
Reviewers: atanasyan
Reviewed By: atanasyan
Subscribers: merge_guards_bot, sdardis, hiraditya, jrtc27, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70944
The file was modifiedllvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
The file was addedllvm/test/CodeGen/Mips/delay-slot-filler-bundled-insts.mir
Commit b5f69e234ef0af43fa4b86d9977d46e0a4e442e7 by Alexander.Richardson
Handle BUNDLE instructions in MipsAsmPrinter
Summary: In our CHERI fork we use BUNDLE instructions to ensure that a
three-instruction sequence to generate a program-counter-relative value
is emitted without reordering or insertions (since that would break the
32-bit offset computation).
Currently MipsAsmPrinter asserts when it encounters a pseudo
instruction. To handle BUNDLE we can simply skip the instruction which
will then make EmitInstruction() process the contents of the bundle in
order.
Reviewers: atanasyan
Reviewed By: atanasyan
Subscribers: merge_guards_bot, sdardis, hiraditya, jrtc27, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70945
The file was modifiedllvm/lib/Target/Mips/MipsAsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/Mips/delay-slot-filler-bundled-insts.mir
Commit 39b534da188063e9b561a272a48ecdc803d3f40e by Alexander.Richardson
Allow negative offsets in MipsMCInstLower::LowerOperand
Summary: We rely on this in our CHERI backend to address the GOT by
generating a
$pc-relative addresses. For this we emit the following code sequence:
lui $1, %pcrel_hi(_CHERI_CAPABILITY_TABLE_-8) daddiu $1, $1,
%pcrel_lo(_CHERI_CAPABILITY_TABLE_-4) cgetpccincoffset $c1, $1
However, without this change the addend is implicitly converted to
UINT32_MAX and an invalid pointer value is generated.
Reviewers: atanasyan
Reviewed By: atanasyan
Subscribers: merge_guards_bot, sdardis, hiraditya, jrtc27, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70953
The file was modifiedllvm/lib/Target/Mips/MipsMCInstLower.h
The file was modifiedllvm/lib/Target/Mips/MipsMCInstLower.cpp
Commit 4a9cde5a791cd49b96993e61d0f2401b81b6212d by flo
[SimpleLoopUnswitch] Invalidate the topmost loop with ExitBB as exiting.
SCEV caches the exiting blocks when computing exit counts. In
SimpleLoopUnswitch, we split the exit block of the loop to unswitch.
Currently we only invalidate the loop containing that exit block, but if
that block is the exiting block for a parent loop, we have stale cache
entries. We have to invalidate the top-most loop that contains the exit
block as exiting block. We might also be able to skip invalidating the
loop containing the exit block, if the exit block is not an exiting
block of that loop.
There are also 2 more places in SimpleLoopUnswitch, that use a similar
problematic approach to get the loop to invalidate. If the patch makes
sense, I will also update those places to a similar approach (they deal
with multiple exit blocks, so we cannot directly re-use
getTopMostExitingLoop).
Fixes PR43972.
Reviewers: skatkov, reames, asbirlea, chandlerc
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D70786
The file was addedllvm/test/Transforms/SimpleLoopUnswitch/preserve-scev-exiting-multiple-loops.ll
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Commit cb9be3fa551ba1974c1a38a3f12da4e399adb85c by hokein.wu
[clangd] Remove the hanging lit exit-signal.test.
The test was introduced in
https://github.com/llvm/llvm-project/commit/19ac0eaf07e60173baa7ee77fa11568c30b87455.
The test keeps hanging after running "check-clangd", remove it now and
will add it back later after investigations.
The file was removedclang-tools-extra/clangd/test/exit-signal.test
Commit 7847986ceb95eb844369c743685aea6e433fd27e by jay.foad
[AMDGPU][MC] Remove duplicate code introduced in r359316.
The file was modifiedllvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
Commit 201d91daad4fe9c0b0233a2fa15f8c5fbccea2d9 by cullen.rhodes
[AArch64][SVE] Implement reversal intrinsics
Summary: Adds intrinsics for the following:
    * rbit
   * revb
   * revh
   * revw
Patterns are also defined to map the 'llvm.bswap.*' intrinsic to the SVE
revb instruction.
Reviewers: sdesmalen, huntergr, dancgr, rengolin, efriedma, rovka
Reviewed By: sdesmalen
Subscribers: tschuett, kristof.beyls, hiraditya, rkruppe, psnobl,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70960
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-reversal.ll
Commit 92ce2aff680e31a726c17267e36ff13a1ef31696 by hans
Actually delay processing DelayedDllExportClasses until the outermost
class is finished (PR40006)
This was already the intention of DelayedDllExportClasses, but code such
as this would break it:
template<typename> struct Tmpl {}; struct Outer {
   struct Inner {
       __declspec(dllexport) Inner() = default;
       unsigned int x = 0;
   };
   Tmpl<Inner> y;
};
ActOnFinishCXXNonNestedClass() would get called when the instantiation
of Templ<Inner> is finished, even though the compiler is still not
finished with Outer, causing the compile fail.
This hooks into Sema::{Push,Pop}ParsingClass() to avoid calling
ActOnFinishCXXNonNestedClass() for template instantiations while a class
is being parsed.
Differential revision: https://reviews.llvm.org/D70905
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/test/CodeGenCXX/dllexport.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit e6522a96f56ce0257ab8cc6fca77bf9ea4462fa6 by anastasia.stulova
[OpenCL] Allow addr space qualifiers on lambda call expressions
The addr space qualifier can be added optionally for lambdas after the
attributes. They will alter the default addr space of lambda call
operator that is in generic address space by default for OpenCL.
Syntax:
[ captures ] ( params ) specifiers exception attr opencl_addrspace
                   -> ret { body }
Example:
[&] (int i) mutable __global { ... };
On the call into lambda a compatibility check will be performed to
determine whether address space of lambda object and its call operator
are compatible. This will follow regular addr space conversion rules and
there will be no difference to how addr spaces work in method
qualifiers.
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70242
The file was modifiedclang/test/SemaOpenCLCXX/address-space-lambda.cl
The file was modifiedclang/lib/Parse/ParseExprCXX.cpp
Commit cd04e8349bde1a528e726e75041cbe58b73fdf99 by lebedev.ri
[NFC][InstCombine] Update sub-of-negatible.ll test
The file was modifiedllvm/test/Transforms/InstCombine/sub-of-negatible.ll
Commit 5e713563934eadb48b4830ad019bdb91f1d89150 by Raphael Isemann
[lldb] Fix macOS build by replacing nullptr with FileSpec()
Before we had a implicit conversion from nullptr to FileSpec which was
thankfully removed.
The file was modifiedlldb/source/Host/macosx/objcxx/Host.mm
The file was modifiedlldb/source/Symbol/LocateSymbolFileMacOSX.cpp
Commit 689c11486396dbf7815caff3671bdcb1303e5143 by hokein.wu
[clangd] register cuda language activation event and activate for .cuh
files
Patch by Paul Taylor!
Reviewers: hokein
Reviewed By: hokein
Subscribers: jkorous, arphaman, kadircet, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70041
The file was modifiedclang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
The file was modifiedclang-tools-extra/clangd/clients/clangd-vscode/package.json
Commit 3ee277b86b34ff41595832d029f176b8de1c81e5 by kadircet
[Support] add vfs support for ExpandResponseFiles
Summary: add vfs support for `ExpandResponseFiles`.
Patch By: liu hui(@lh123)
Reviewers: kadircet, espindola, alexshap, rupprecht, jhenderson
Reviewed By: kadircet
Subscribers: mgorny, sammccall, merge_guards_bot, emaste, sbc100,
arichardson, hiraditya, aheejin, jakehehrlich, MaskRay, rupprecht,
seiya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D70769
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedllvm/include/llvm/Support/CommandLine.h
Commit 45ef055d4ffda4d2b04b62f73e36cc6d5252758b by kadircet
[clang][Tooling] Add support for .rsp files in compile_commands.json
Summary: Add support for .rsp files.
Fixes https://github.com/clangd/clangd/issues/81
Patch By: liu hui(@lh123)
Reviewers: sammccall, ilya-biryukov, hokein, kadircet
Reviewed By: kadircet
Subscribers: merge_guards_bot, mgorny, MaskRay, jkorous, arphaman,
kadircet, usaxena95, cfe-commits
Tags: #clang-tools-extra, #clang
Differential Revision: https://reviews.llvm.org/D70222
The file was addedclang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
The file was modifiedclang/include/clang/Tooling/CompilationDatabase.h
The file was modifiedclang/unittests/Tooling/CompilationDatabaseTest.cpp
The file was modifiedclang/lib/Tooling/JSONCompilationDatabase.cpp
The file was modifiedclang/lib/Tooling/CMakeLists.txt
Commit 75656005dbc8866e1888932a68a830b0df403560 by kadircet
[llvm][Support] Take in CurrentDirectory as a parameter in
ExpandResponseFiles
Summary: This is a follow-up to D70769 and D70222, which allows
propagation of current directory down to ExpandResponseFiles for
handling of relative paths.
Previously clients had to mutate FS to achieve that, which is not
thread-safe and can even be thread-hostile in the case of real file
system.
Reviewers: sammccall
Subscribers: hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D70857
The file was modifiedclang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
The file was modifiedclang/lib/Tooling/JSONCompilationDatabase.cpp
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedclang/include/clang/Tooling/CompilationDatabase.h
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedllvm/include/llvm/Support/CommandLine.h
Commit c732a152167df764626e7134fa530cce836cce9d by llvmgnsyncbot
gn build: Merge 45ef055d4ff
The file was modifiedllvm/utils/gn/secondary/clang/lib/Tooling/BUILD.gn
Commit d3f62ceac0ce5d35f888c5a2de9c4a41780c8040 by mark.murray
[ARM][MVE][Intrinsics] Add VMULH/VRMULH intrinsics.
Summary: Add MVE VMULH/VRMULH intrinsics and unit tests.
Reviewers: simon_tatham, ostannard, dmgreen
Subscribers: kristof.beyls, hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D70948
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/vrmulhq.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/vmulhq.ll
The file was modifiedclang/include/clang/Basic/arm_mve.td
The file was addedclang/test/CodeGen/arm-mve-intrinsics/vrmulhq.c
The file was addedclang/test/CodeGen/arm-mve-intrinsics/vmulhq.c
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
Commit fa9dd410a9a9aa65ce6731cbe1ee12c5941eb3e8 by michael.hliao
[opencl] Fix address space deduction on array variables.
Summary:
- The deduced address space needs applying to its element type as well.
Reviewers: Anastasia
Subscribers: yaxunl, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70981
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/test/SemaOpenCL/address-spaces.cl
Commit 82f6ae5433cac1ba0d02e8df253da3d3b3ce68e1 by kadircet
[clang-change-namespace] Change file pattern to be an anchored regex
The file was modifiedclang-tools-extra/test/clang-change-namespace/macro.cpp
Commit 95b2e516bd3e4587953e44bf062054ff84f2b057 by jotrem
Change Target::FindBreakpointsByName to return Expected<vector>
Summary: Using a BreakpointList corrupts the breakpoints' IDs because
BreakpointList::Add sets the ID, so use a vector instead, and update the
signature to return the vector wrapped in an llvm::Expected which can
propagate any error from the inner call to StringIsBreakpointName.
Note that, despite the similar name, SBTarget::FindBreakpointsByName
doesn't suffer the same problem, because it uses a SBBreakpointList,
which is more like a BreakpointIDList than a BreakpointList under the
covers.
Add a check to TestBreakpointNames that, without this fix, notices the
ID getting mutated and fails.
Reviewers: jingham, JDevlieghere
Reviewed By: JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70907
The file was modifiedlldb/source/Breakpoint/BreakpointList.cpp
The file was modifiedlldb/source/API/SBTarget.cpp
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointList.h
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_names/TestBreakpointNames.py
Commit 0f12f9096e1e33d88cb0b5601b0e035a2674c19a by kadircet
Revert "[llvm][Support] Take in CurrentDirectory as a parameter in
ExpandResponseFiles"
This reverts commit 75656005dbc8866e1888932a68a830b0df403560.
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedclang/include/clang/Tooling/CompilationDatabase.h
The file was modifiedclang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
The file was modifiedclang/lib/Tooling/JSONCompilationDatabase.cpp
The file was modifiedllvm/include/llvm/Support/CommandLine.h
Commit 678f1284a6a5e316c940200681594d4888e0a895 by deadalnix
Automaticaly generate copysign-constant-magnitude.ll . NFC
The file was modifiedllvm/test/CodeGen/X86/copysign-constant-magnitude.ll
Commit 2120612e46bc9c1b0826618229154b76cdf41309 by peter.smith
[ELF] Support for PT_GNU_PROPERTY in header and tools
The PT_GNU_PROPERTY is generated by a linker to describe the
.note.gnu.property section. The Linux kernel uses this program header to
locate the .note.gnu.property section.
It is described in "The Linux gABI extension"
Include support for llvm-readelf, llvm-readobj and the yaml reader and
writers.
Differential Revision: https://reviews.llvm.org/D70959
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was addedllvm/test/tools/llvm-objdump/elf-pt-gnu-property.test
The file was modifiedllvm/test/tools/yaml2obj/ELF/program-header.yaml
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was modifiedllvm/tools/llvm-objdump/ELFDump.cpp
The file was addedllvm/test/tools/llvm-readobj/elf-pt-gnu-property.test
Commit b3b37783034cab31db2d60cf79d0c1c82a8c3419 by kadircet
Reapply "[llvm][Support] Take in CurrentDirectory as a parameter in
ExpandResponseFiles"
Attemps to fix windows buildbots.
The file was modifiedllvm/include/llvm/Support/CommandLine.h
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedclang/lib/Tooling/JSONCompilationDatabase.cpp
The file was modifiedclang/include/clang/Tooling/CompilationDatabase.h
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedclang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
Commit 72ce759928e6dfee6a9efa310b966c19722352ba by stozer
[DebugInfo] Recover debug intrinsics when killing duplicated/empty basic
blocks
When basic blocks are killed, either due to being empty or to being an
if.then or if.else block whose complement contains identical
instructions, some of the debug intrinsics in that block are lost. This
patch sinks those intrinsics into the single successor block, setting
them Undef if necessary to prevent debug info from falling out-of-date.
Differential Revision: https://reviews.llvm.org/D70318
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-else.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-empty.ll
Commit 92cd68f48ed14c6ee90b3ad830af3c2d7879428a by pavel
[lldb] Simplify debug_{rnglists,ranges}.s tests
Remove things irrelevant to the test.
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug_rnglists.s
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug_ranges.s
Commit 8c1e1d14827343a901c048f6468eb19619991828 by gbreynoo
[llvm-ar][test] Add to thin archive test coverage
This diff adds test coverage for thin archives including additions to
existing tests. In some cases I have updated the formats of these tests
to better match other tests in the archive.
Differential Revision: https://reviews.llvm.org/D70969
The file was modifiedllvm/test/tools/llvm-ar/extract.test
The file was modifiedllvm/test/tools/llvm-ar/replace.test
The file was addedllvm/test/tools/llvm-ar/missing-thin-archive-member.test
The file was modifiedllvm/test/tools/llvm-ar/print.test
The file was addedllvm/test/tools/llvm-ar/full-to-thin-archive.test
The file was modifiedllvm/test/tools/llvm-ar/quick-append.test
Commit 9b962d83ece841e43fd2823375dc6ddc94c1b178 by dblaikie
Add some missing includes to MicrosoftDemangle.cpp (PR44217)
The file was modifiedllvm/lib/Demangle/MicrosoftDemangle.cpp
Commit 3ada8d2a87a2e818ea5302f40dbb0319d95b1554 by jonathanchesterfield
[libomptarget] Build a minimal deviceRTL for amdgcn
Summary:
[libomptarget] Build a minimal deviceRTL for amdgcn
Repeat of D70414, with an include path fixed. Diff for sanity checking.
The CMakeLists.txt file is functionally identical to the one used in the
aomp fork. Whitespace changes were made based on nvptx/CMakeLists.txt,
plus the copyright notice updated to match (Greg was the original author
so would like his sign off on that here).
This change will build a small subset of the deviceRTL if an appropriate
toolchain is available, e.g. a local install of rocm. Support.h is moved
from nvptx as a dependency of debug.h.
Reviewers: ABataev, jdoerfert
Reviewed By: ABataev
Subscribers: jvesely, mgorny, jfb, openmp-commits, jdoerfert
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D70971
The file was addedopenmp/libomptarget/deviceRTLs/common/support.h
The file was modifiedopenmp/libomptarget/deviceRTLs/CMakeLists.txt
The file was addedopenmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
The file was modifiedopenmp/libomptarget/deviceRTLs/common/debug.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/omp_data.cu
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/device_environment.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/support.cu
The file was addedopenmp/libomptarget/deviceRTLs/common/device_environment.h
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/support.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.h
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
Commit 5422e81a89f50263fd111841090b96cd0d49120a by jasonliu
[XCOFF][AIX] Emit TOC entries for object file generation
Summary: Implement emitTCEntry for PPCTargetXCOFFStreamer. Add TC csects
to TOCCsects for object file writing.
Note:
1. I did not include any raw data testing for this object file
generation because TC entries raw data will all be 0 without relocation
implemented. I will add raw data testing as part of relocation testing
later. 2. I removed "Symbol->setFragment(F);" for common symbols because
we
don't need it, and if we have it then we would hit assertions below:
Assertion `(SymbolContents == SymContentsUnset ||
           SymbolContents == SymContentsOffset) &&
           "Cannot get offset for a common/variable symbol"' failed.
3.Fixed incorrect TOC-base alignment.
Differential Revision: https://reviews.llvm.org/D70798
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-toc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-data-only-notoc.ll
The file was modifiedllvm/lib/MC/MCXCOFFStreamer.cpp
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Commit 7e18aeba5062cd4324a9efb7bc25c9dbc4a34c2c by nikita.ppv
[LVI] Restructure caching
Variant on D70103. The caching is switched to always use a BB to cache
entry map, which then contains per-value caches. A separate set contains
value handles with a deletion callback. This allows us to properly
invalidate overdefined values.
A possible alternative would be to always cache by value first and have
per-BB maps/sets in the each cache entry. In that case we could use a
ValueMap and would avoid the separate value handle set. I went with the
BB indexing at the top level to make it easier to integrate D69914, but
possibly that's not the right choice.
Differential Revision: https://reviews.llvm.org/D70376
The file was modifiedllvm/lib/Analysis/LazyValueInfo.cpp
Commit 1e05cf347cd38afd857b9a14a543d9c1d95d1aa2 by deadalnix
Small nit in SelectionDAG.h . NFC
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAG.h
Commit 61e54fd60c4388602cb029c984353b1f4319c1ac by amehsan
[SVE][AArch64] Adding patterns for while intrinsics.
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was addedllvm/test/CodeGen/AArch64/sve-intrinsics-while.ll
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit 62d429972e50d1437a3fb43663218a7b443f0fc8 by yamauchi
[PGO][PGSO] Distinguish queries from unit tests and explicitly enable
for the existing IR passes only. NFC.
Summary: This is one more prep step necessary before the code gen pass
instrumentation code could go in.
Reviewers: davidxl
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70988
The file was modifiedllvm/lib/Transforms/Utils/SizeOpts.cpp
The file was modifiedllvm/unittests/Target/X86/MachineSizeOptsTest.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/SizeOpts.h
The file was modifiedllvm/unittests/Transforms/Utils/SizeOptsTest.cpp
Commit 7d0e1117c9291863ab59d77e1ad6c9141a590e19 by Yaxun.Liu
[HIP] Remove opencl.amdgcn.lib
Differential Revision: https://reviews.llvm.org/D70980
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/test/Driver/hip-device-libs.hip
Commit a249551bb232414b68525d40cd7bae617293c67b by francesco.petrogalli
[llvm][Transform] Remove unused variable. [NFCI]
The variable prevents compiling when using -Werror=unused-variable.
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
Commit e8a5c17211339a747d2bf5b0df708c8392121e6d by flo
[LoopInterchange] Improve inner exit loop safety checks.
The PHI node checks for inner loop exits are too permissive currently.
As indicated by an existing comment, we should only allow LCSSA PHI
nodes that are part of reductions or are only used outside of the loop
nest. We ensure this by checking the users of the LCSSA PHIs.
Specifically, it is not safe to use an exiting value from the inner loop
in the latch of the outer loop.
It also moves the inner loop exit check before the outer loop exit
check.
Fixes PR43473.
Reviewers: efriedma, mcrosier
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D68144
The file was addedllvm/test/Transforms/LoopInterchange/pr43473-invalid-lcssa-phis-in-inner-exit.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopInterchange.cpp
Commit a6febd53c94afea4fa88503328ad800d9c3ab1a2 by troyj
[Gold Tests] Add missing target flag to X86 test
This test was failing on non-X86 targets because the gold invocation did
not have the necessary -m flag.
Differential Revision: https://reviews.llvm.org/D70982
The file was modifiedllvm/test/tools/gold/X86/linkonce_odr_unnamed_addr.ll
Commit e18531595bba495946aa52c0a16b9f9238cff8bc by Vedant Kumar
[Coverage] Revise format to reduce binary size
Revise the coverage mapping format to reduce binary size by:
1. Naming function records and marking them `linkonce_odr`, and 2.
Compressing filenames.
This shrinks the size of llc's coverage segment by 82% (334MB -> 62MB)
and speeds up end-to-end single-threaded report generation by 10%. For
reference the compressed name data in llc is 81MB (__llvm_prf_names).
Rationale for changes to the format:
- With the current format, most coverage function records are discarded.
E.g., more than 97% of the records in llc are *duplicate* placeholders
for functions visible-but-not-used in TUs. Placeholders *are* used to
show under-covered functions, but duplicate placeholders waste space.
- We reached general consensus about giving (1) a try at the 2017 code
coverage BoF [1]. The thinking was that using `linkonce_odr` to merge
duplicates is simpler than alternatives like teaching build systems
about a coverage-aware database/module/etc on the side.
- Revising the format is expensive due to the backwards compatibility
requirement, so we might as well compress filenames while we're at it.
This shrinks the encoded filenames in llc by 86% (12MB -> 1.6MB).
See CoverageMappingFormat.rst for the details on what exactly has
changed.
Fixes PR34533 [2], hopefully.
[1] http://lists.llvm.org/pipermail/llvm-dev/2017-October/118428.html
[2] https://bugs.llvm.org/show_bug.cgi?id=34533
Differential Revision: https://reviews.llvm.org/D69471
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedclang/test/CoverageMapping/ir.c
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedllvm/docs/CoverageMappingFormat.rst
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
The file was modifiedclang/test/CoverageMapping/abspath.cpp
The file was addedllvm/test/tools/llvm-cov/Inputs/binary-formats.v3.macho64l
The file was modifiedllvm/unittests/ProfileData/CoverageMappingTest.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/test/Instrumentation/InstrProfiling/X86/alloc.ll
The file was modifiedllvm/test/tools/llvm-cov/binary-formats.c
The file was modifiedclang/test/Profile/def-ctors.cpp
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.h
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
The file was modifiedclang/test/Profile/def-dtors.cpp
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
The file was modifiedclang/test/Profile/def-assignop.cpp
Commit 95a8e8a2557e487be6133475966255661a9f6567 by Jonas Devlieghere
[dsymutil] Remove recursion from lookForChildDIEsToKeep (1/2) (NFC)
The functions lookForDIEsToKeep and keepDIEAndDependencies are mutually
recursive and can cause a stackoverflow for large projects. While this
has always been the case, it became a bigger issue when we parallelized
dsymutil, because threads get only a fraction of the stack space.
In an attempt to tackle this issue, we removed part of the recursion in
r338536 by introducing a worklist. Processing of child DIEs was no
longer recursive. However, we still received bug reports where we'd run
out of stack space.
This patch removes another recursive call from lookForDIEsToKeep. The
call was used to look at DIEs that reference the current DIE. To make
this possible, we inlined keepDIEAndDependencies and added this work to
the existing worklist. Because the function is not tail recursive, we
needed to add two more types of worklist entries to perform the
subsequent work.
This was tested by running dsymutil on clang built in debug (both with
and without modules) and comparing the MD5 hash of the generated dSYM
companion file.
Differential revision: https://reviews.llvm.org/D70990
The file was modifiedllvm/tools/dsymutil/DwarfLinker.h
The file was modifiedllvm/tools/dsymutil/DwarfLinker.cpp
Commit 9b15873c92832b06f41be1e1047ea5033411ee0f by Jonas Devlieghere
[dsymutil] Remove recursion from lookForChildDIEsToKeep (2/2) (NFC)
The functions lookForDIEsToKeep and keepDIEAndDependencies are mutually
recursive and can cause a stackoverflow for large projects. While this
has always been the case, it became a bigger issue when we parallelized
dsymutil, because threads get only a fraction of the stack space.
This patch removes the final recursive call from lookForDIEsToKeep. The
call was used to look at the current DIE's parent chain and mark
everything as kept.
This was tested by running dsymutil on clang built in debug (both with
and without modules) and comparing the MD5 hash of the generated dSYM
companion file.
Differential revision: https://reviews.llvm.org/D70994
The file was modifiedllvm/tools/dsymutil/DwarfLinker.cpp
Commit f208b70fbc4dee78067b3c5bd6cb92aa3ba58a1e by Vedant Kumar
Revert "[Coverage] Revise format to reduce binary size"
This reverts commit e18531595bba495946aa52c0a16b9f9238cff8bc.
On Windows, there is an error:
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/54963/steps/stage%201%20check/logs/stdio
error:
C:\b\slave\sanitizer-windows\build\stage1\projects\compiler-rt\test\profile\Profile-x86_64\Output\instrprof-merging.cpp.tmp.v1.o:
Failed to load coverage: Malformed coverage data
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.cpp
The file was modifiedclang/test/Profile/def-ctors.cpp
The file was modifiedllvm/unittests/ProfileData/CoverageMappingTest.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedclang/lib/CodeGen/CoverageMappingGen.h
The file was modifiedllvm/test/tools/llvm-cov/binary-formats.c
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingReader.h
The file was modifiedllvm/include/llvm/ProfileData/InstrProfData.inc
The file was modifiedclang/test/CoverageMapping/abspath.cpp
The file was modifiedclang/test/Profile/def-assignop.cpp
The file was modifiedcompiler-rt/include/profile/InstrProfData.inc
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMapping.cpp
The file was modifiedclang/test/Profile/def-dtors.cpp
The file was modifiedllvm/test/Instrumentation/InstrProfiling/X86/alloc.ll
The file was modifiedllvm/include/llvm/ProfileData/InstrProf.h
The file was modifiedllvm/lib/ProfileData/InstrProf.cpp
The file was modifiedclang/test/CoverageMapping/ir.c
The file was removedllvm/test/tools/llvm-cov/Inputs/binary-formats.v3.macho64l
The file was modifiedllvm/include/llvm/ProfileData/Coverage/CoverageMappingWriter.h
The file was modifiedllvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
The file was modifiedllvm/docs/CoverageMappingFormat.rst
Commit 02760b750b2ffcc0e2f5d78ecb137c80930c42c3 by david.tellenbach
Reland [AArch64][MachineOutliner] Return address signing for outlined
functions
Summary: Reland after fixing a bug that allowed outlining of SP
modifying instructions that invalidated return address signing.
During AArch64 frame lowering instructions to enable return address
signing are inserted into functions if needed. Functions generated
during machine outlining don't run through target frame lowering and
hence are missing such instructions.
This patch introduces the following changes:
1. If not all functions that potentially participate in function
outlining agree
  on their return address signing scope and their return address signing
key,
  outlining is disabled for these functions. 2. If not all functions
that potentially participate in function outlining agree
  on their support for v8.3A features, outlining is disabled for these
  functions. 3. If an outlining candidate would outline instructions
that modify sp in a way
  that invalidates return address signing, outlining is disabled for
that
  particular candidate. 4. If all candidate functions agree on the
signing scope, signing key and their
  support for v8.3 features, the outlined function behaves as if it had
the
  same scope and key attributes and as if it would provide the same
v8.3A
  support as the original functions.
Reviewers: ostannard, paquette
Reviewed By: ostannard
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70635
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-diff-scope-same-key.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-regsave.mir
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-sp-mod.mir
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-diff-key.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-non-leaf.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-same-key-a.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-cfi.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-subtarget.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-v8-3.ll
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-same-scope-same-key-b.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/machine-outliner-retaddr-sign-thunk.ll
Commit 8b0780f795eb58fca0a2456e308adaaa1a0b5013 by stephen.tozer
Revert "[DebugInfo] Recover debug intrinsics when killing
duplicated/empty basic blocks"
This reverts commit 72ce759928e6dfee6a9efa310b966c19722352ba.
Reverted due to build failure.
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was removedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-else.ll
The file was removedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-empty.ll
Commit 75bbbeec74bbac327768a636d025f292a955c672 by dblaikie
Revert "Add some missing includes to MicrosoftDemangle.cpp (PR44217)"
This reverts commit 9b962d83ece841e43fd2823375dc6ddc94c1b178.
This didn't address the underlying issue (in MicrosoftDemangleNodes.h)
that was fixed 6 months ago anyway.
The file was modifiedllvm/lib/Demangle/MicrosoftDemangle.cpp
Commit cdbed2dd856c14687efd741c2d8321686102acb8 by melanie.blower
        Reapply af57dbf12e54 "Add support for options -frounding-math,
ftrapping-math, -ffp-model=, and -ffp-exception-behavior="
        Patch was reverted because
https://bugs.llvm.org/show_bug.cgi?id=44048
       The original patch is modified to set the strictfp IR attribute
       explicitly in CodeGen instead of as a side effect of IRBuilder
        Differential Revision: https://reviews.llvm.org/D62731
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was addedclang/test/CodeGen/fpconstrained.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was addedclang/test/Driver/fp-model.c
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedllvm/unittests/IR/IRBuilderTest.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Driver/clang_f_opts.c
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/test/Driver/fast-math.c
The file was modifiedclang/include/clang/AST/DeclBase.h
The file was addedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
Commit 9e978bb01ceae8eaa415d8951cc96803e68b73fb by akhuang
Add support for lowering 32-bit/64-bit pointers
Summary: This follows a previous patch that changes the X86 datalayout
to represent mixed size pointers (32-bit sext, 32-bit zext, and 64-bit)
with address spaces
(https://reviews.llvm.org/D64931)
This patch implements the address space cast lowering to the
corresponding sign extension, zero extension, or truncate instructions.
Related to https://bugs.llvm.org/show_bug.cgi?id=42359
Reviewers: rnk, craig.topper, RKSimon
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69639
The file was modifiedllvm/lib/Target/X86/X86.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/X86/mixed-ptr-sizes.ll
Commit 713dab21e27c987b9114547ce7136bac2e775de9 by a.bataev
[OpenMP50] Add parallel master construct, by Chi Chun Chen.
Reviewers: ABataev, jdoerfert
Reviewed By: ABataev
Subscribers: jholewinski, guansong, arphaman, jfb, cfe-commits,
sandoval, dreachem
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70726
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was addedclang/test/OpenMP/parallel_master_if_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was addedclang/test/OpenMP/parallel_master_ast_print.cpp
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was addedclang/test/OpenMP/parallel_master_private_messages.cpp
The file was modifiedclang/include/clang/AST/StmtOpenMP.h
The file was modifiedclang/lib/AST/StmtOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/test/OpenMP/nesting_of_regions.cpp
The file was addedclang/test/OpenMP/parallel_master_firstprivate_messages.cpp
The file was modifiedclang/include/clang-c/Index.h
The file was addedclang/test/OpenMP/parallel_master_shared_messages.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was addedclang/test/OpenMP/parallel_master_reduction_messages.cpp
The file was addedclang/test/OpenMP/parallel_master_message.cpp
The file was addedclang/test/OpenMP/parallel_master_proc_bind_messages.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was addedclang/test/OpenMP/parallel_master_default_messages.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was addedclang/test/OpenMP/parallel_master_copyin_messages.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was addedclang/test/OpenMP/parallel_master_num_threads_messages.cpp
The file was addedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
Commit 975a43512709a9e989dea11d2fefab9212e3a4f4 by a.bataev
[OPENMP]Update list of implemented features, NFC.
The file was modifiedclang/docs/OpenMPSupport.rst
Commit 90fce46fa6c9ccec86f642be0a75da2d0a5b11c1 by jyknight
Fix crash-on-invalid-code in lambda constant evaluation.
If the lambda used 'this' without without capturing it, an error was
emitted, but the constant evaluator would still attempt to lookup the
capture, and failing to find it, dereference a null pointer.
This only happens in C++17 (as that's when lambdas were made
potentially-constexpr). Therefore, I also updated the
lambda-expressions.cpp test to run in both C++14 and C++17 modes.
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaCXX/lambda-expressions.cpp
Commit 5412913631feef74f7d52c092e947227c1cc7b04 by melanie.blower
Revert "        Reapply af57dbf12e54 "Add support for options
-frounding-math, ftrapping-math, -ffp-model=, and
-ffp-exception-behavior=""
This reverts commit cdbed2dd856c14687efd741c2d8321686102acb8. Build
break on Windows (lit fail)
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/test/Driver/clang_f_opts.c
The file was removedclang/test/Driver/fp-model.c
The file was modifiedclang/lib/AST/Decl.cpp
The file was removedclang/test/CodeGen/fpconstrained.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/docs/UsersManual.rst
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedllvm/unittests/IR/IRBuilderTest.cpp
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/include/clang/AST/DeclBase.h
The file was modifiedllvm/include/llvm/IR/IRBuilder.h
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was removedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/test/Driver/fast-math.c
Commit ead0d77409b888ad5b8df90ee3b8ab7639b241c7 by spatel
[LangRef] make per-element poison behavior explicit
As discussed in D70246 and PR43958:
https://bugs.llvm.org/show_bug.cgi?id=43958
The LangRef seems ambiguous about the behavior of poison with respect to
vectors.
We could go further with text and/or examples - suggestions welcome.
Also, see discussion on llvm-dev;
http://lists.llvm.org/pipermail/llvm-dev/2019-November/137243.html
Differential Revision: https://reviews.llvm.org/D70641
The file was modifiedllvm/docs/LangRef.rst
Commit f730ac719db3dca40d430c8dd517ae915c01bacf by craig.topper
[X86] Add missing break to the end of the last case in a switch. NFC
The file was modifiedllvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Commit eac93757c39bbd2b2290d7543619eebd770c3141 by francesco.petrogalli
[VectorUtils] API for VFShape, update VFInfo.
Summary: This patch introduces an API to build and modify vector shapes.
The validity of a VFShape can be checked with the
`hasValidParameterList` method, which is also run in an assertion each
time a VFShape is modified.
The field VFISAKind has been moved to VFInfo under the assumption that
different ISAs can map to the same VFShape (as it can be in the case of
vector extensions with the same registers size, for example AVX and
AVX2).
Reviewers: sdesmalen, jdoerfert, simoll, hsaito
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70513
The file was modifiedllvm/unittests/Analysis/VectorFunctionABITest.cpp
The file was modifiedllvm/lib/Analysis/VectorUtils.cpp
The file was modifiedllvm/lib/Analysis/VFABIDemangling.cpp
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h
The file was modifiedllvm/unittests/Analysis/VectorUtilsTest.cpp
Commit 61205821ca20dbf1d9a4dc2c1c590955b249e8ee by a.bataev
[OPENMP50]Add support for if clause for simd part in taskloop simd
directive.
According to OpenMP 5.0, the `if` clause can be applied to simd
subdirective in the combined directive.
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/taskloop_simd_ast_print.cpp
Commit 41f8a0243268f7548fde3b179eafd2d909166bff by flo
[MIBundle] Remove unused/obsolete MIOperands/ConstMIOperands (NFC).
Those iterators are unused and the respective iterators from
MachineInstr should be used (e.g. MachineInstr::operands(),
https://llvm.org/doxygen/classllvm_1_1MachineInstr.html#aef0e7e42e45e15f86b2a122b56ab829c)
Reviewers: evandro, t.p.northover, paquette, MatzeB, arsenm, ab
Reviewed By: ab
Differential Revision: https://reviews.llvm.org/D70560
The file was modifiedllvm/include/llvm/CodeGen/MachineInstrBundle.h
Commit d6cbc9528d46d30416a6f9cd6c8570b704a0bd33 by akhuang
Add --strip-trailing-cr to compression tests so they pass on Windows.
The file was modifiedllvm/test/tools/llvm-profdata/profile-symbol-list-compress.test
The file was modifiedllvm/test/tools/llvm-profdata/roundtrip-compress.test
Commit 789e257ce0d84ef5ddbabfdf0c990b2878e67744 by a.v.lapshin
[DWARF5][Debuginfo] Compilation unit type (DW_UT_skeleton) and root DIE
(DW_TAG_compile_unit) do not match.
That patch fixes incompatible compilation unit type (DW_UT_skeleton) and
root DIE (DW_TAG_compile_unit) error.
cat split-dwarf.cpp int main()
{
int a = 1;
return 0;
}
clang++ -O -g -gsplit-dwarf -gdwarf-5 split-dwarf.cpp; llvm-dwarfdump
--verify ./a.out | grep skeleton error: Compilation unit type
(DW_UT_skeleton) and root DIE (DW_TAG_compile_unit) do not match.
The fix is to change DW_TAG_compile_unit into DW_TAG_skeleton_unit when
skeleton file is generated.
Differential Revision: https://reviews.llvm.org/D70880
The file was modifiedllvm/test/CodeGen/X86/dwarf-headers.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DIE.cpp
The file was modifiedllvm/test/DebugInfo/X86/string-offsets-table.ll
The file was modifiedllvm/test/DebugInfo/X86/string-offsets-table-order.ll
The file was modifiedllvm/test/DebugInfo/X86/debug_addr.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Commit 276a5b2d5f1faf15616aa9dcefb55d1b1e5976ed by martin
[LLDB] Actually fix the win-i386-line-table.s test when executed on
windows
The previous fix attempt, in 62a635e864e0, used too much escaping for
the backslashes.
But instead of using regexes to match both path separator forms, remove
the path altogether to unify the output from the testcase between
platforms.
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/win-i386-line-table.s
Commit b89ba5f9399aaa969a5dff79a427402a9498846b by lebedev.ri
[NFC][InstCombine] Autogenerate check lines in a few tests
These files are potentially affected by Negator (D68408) patch.
The file was modifiedllvm/test/Transforms/InstCombine/abs-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/and-or-icmps.ll
The file was modifiedllvm/test/Transforms/InstCombine/apint-sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll
Commit a44ef027ebca1598892ea9b104d6189aeb3bc2f0 by mmoroz
[compiler-rt] FuzzedDataProvider: do not call memcpy on empty vector.
Summary: Some versions of memcpy mark pointer arguments as __nonnull,
that triggers UBSan errors even when the length passed is 0.
Reviewers: manojgupta, metzman
Subscribers: dberris, #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D71031
[compiler-rt] FDP: assert that num_bytes_to_consume == 0 when size == 0.
The file was modifiedcompiler-rt/include/fuzzer/FuzzedDataProvider.h
Commit 82f3c5d4a66d2bcab237f038cd8005841dde1c75 by daniel_l_sanders
[lit] Document the undocumented pre-defined substitutions
The file was modifiedllvm/docs/CommandGuide/lit.rst
Commit 8b8a7d1ecfb7fd07ffda4a34ef167074e841d3bc by Xiangling.Liao
Revert "Add --strip-trailing-cr to compression tests so they pass on
Windows."
This reverts commit d6cbc9528d46d30416a6f9cd6c8570b704a0bd33.
It causes the tests to fail on AIX.
The file was modifiedllvm/test/tools/llvm-profdata/roundtrip-compress.test
The file was modifiedllvm/test/tools/llvm-profdata/profile-symbol-list-compress.test
Commit 9c29aed6980dce42f2a071db09663c435ac21ad1 by rnk
Bug 43965 - Value of _MSVC_LANG doesn't match MSVC++ VS2019
/std:c++latest mode
Summary: The patch adds correct value of _MSVC_LANG to match with MSVC++
VS2019 /std:c++latest mode.
    Bugzilla - Bug 43965
   https://bugs.llvm.org/show_bug.cgi?id=43965
    The value for a MS specific macro differs from Microsoft starting
with VS2019 in /std:c++latest mode.
    -bash-4.2$ cat msvclang.cpp
   _MSVC_LANG
    -bash-4.2$ cl /std:c++latest -E msvclang.cpp
   Microsoft (R) C/C++ Optimizing Compiler Version 19.20.27508.1 for x64
   Copyright (C) Microsoft Corporation.  All rights reserved.
    /std:c++latest is provided as a preview of language features from
the latest C++
   working draft, and we're eager to hear about bugs and suggestions for
improvements.
   However, note that these features are provided as-is without support,
and subject
   to changes or removal as the working draft evolves. See
   https://go.microsoft.com/fwlink/?linkid=2045807 for details.
    msvclang.cpp
    201705L
    -bash-4.2$ clang-cl /std:c++latest -E  msvclang.cpp
   201704L
Reviewers: rnk
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D70996
The file was modifiedclang/lib/Basic/Targets/OSTargets.cpp
The file was modifiedclang/test/Preprocessor/predefined-win-macros.c
Commit 33f6d465d790ac5c9b949e6bc05127d356212079 by rnk
Revert "[OpenMP50] Add parallel master construct, by Chi Chun Chen."
This reverts commit 713dab21e27c987b9114547ce7136bac2e775de9.
Tests do not pass on Windows.
The file was removedclang/test/OpenMP/parallel_master_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/include/clang/Basic/OpenMPKinds.def
The file was removedclang/test/OpenMP/parallel_master_proc_bind_messages.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/include/clang/AST/StmtOpenMP.h
The file was modifiedclang/lib/Basic/OpenMPKinds.cpp
The file was removedclang/test/OpenMP/parallel_master_ast_print.cpp
The file was modifiedclang/include/clang-c/Index.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was removedclang/test/OpenMP/parallel_master_message.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was removedclang/test/OpenMP/parallel_master_shared_messages.cpp
The file was removedclang/test/OpenMP/parallel_master_private_messages.cpp
The file was removedclang/test/OpenMP/parallel_master_num_threads_messages.cpp
The file was removedclang/test/OpenMP/parallel_master_copyin_messages.cpp
The file was removedclang/test/OpenMP/parallel_master_firstprivate_messages.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was modifiedclang/test/OpenMP/nesting_of_regions.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was removedclang/test/OpenMP/parallel_master_default_messages.cpp
The file was removedclang/test/OpenMP/parallel_master_if_messages.cpp
The file was removedclang/test/OpenMP/parallel_master_reduction_messages.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/AST/StmtOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
Commit e420c0c78eb0700989c8ba80e845b6306d66bb5f by tejohnson
[ThinLTO] Fix importing of writeonly variables in distributed ThinLTO
Summary: D69561/dde5893 enabled importing of readonly variables with
references, however, it introduced a bug relating to
importing/internalization of writeonly variables with references.
A fix for this was added in D70006/7f92d66. But this didn't work in
distributed ThinLTO mode. The reason is that the fix (importing the
writeonly var with a zeroinitializer) was only applied when there were
references on the writeonly var summary. In distributed ThinLTO mode,
where we only have a small slice of the index, we will not have the
references on the importing side if we are not importing those
referenced values. Rather than changing this handshaking (which will
require a lot of other changes, since that's how we know what to import
in the distributed backend clang invocation), we can simply always give
the writeonly variable a zero initializer.
Reviewers: evgeny777, steven_wu
Subscribers: mehdi_amini, inglorion, hiraditya, dexonsmith, arphaman,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70977
The file was modifiedllvm/test/ThinLTO/X86/index-const-prop2.ll
The file was modifiedllvm/test/ThinLTO/X86/writeonly.ll
The file was modifiedllvm/lib/Transforms/Utils/FunctionImportUtils.cpp
The file was modifiedllvm/test/ThinLTO/X86/writeonly-with-refs.ll
The file was modifiedllvm/test/ThinLTO/X86/writeonly2.ll
Commit 00e436f1307f506681782d26f4d3b9e98feada5a by phosek
[llvm-symbolizer] Support debug file lookup using build ID
Build ID is a protocol for looking up debug files that's already
supported by various tools including debuggers. For example, when
locating debug files, gdb would check the following directories:
- /usr/lib/debug/.build-id/ab/cdef1234.debug
- /usr/bin/ls.debug
- /usr/bin/.debug/ls.debug
- /usr/lib/debug/usr/bin/ls.debug
llvm-symbolizer currently consults all of these except for build ID
based one. This patch implements support for build ID lookup. The set of
debug directories to search is specified by the new option:
--debug-file-directory, whose name matches the debug-file-directory
variable used by gdb for the same purpose.
Differential Revision: https://reviews.llvm.org/D70759
The file was addedllvm/test/DebugInfo/symbolize-build-id.test
The file was addedllvm/test/DebugInfo/Inputs/.build-id/ab/b50d82b6bdc861.debug
The file was modifiedllvm/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modifiedllvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
The file was modifiedllvm/include/llvm/DebugInfo/Symbolize/Symbolize.h