SuccessChanges

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

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)
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/source/Target/Target.cpp
The file was modifiedlldb/include/lldb/Core/Module.h
The file was modifiedlldb/source/API/SBModule.cpp
The file was modifiedlldb/source/Core/Module.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/include/lldb/Core/SourceManager.h
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
The file was modifiedlldb/source/Breakpoint/Breakpoint.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
The file was modifiedlldb/source/Core/Module.cpp
The file was modifiedlldb/source/Core/SearchFilter.cpp
The file was modifiedlldb/include/lldb/Core/ModuleSpec.h
The file was modifiedlldb/source/Target/TargetList.cpp
The file was modifiedlldb/unittests/Utility/FileSpecTest.cpp
The file was modifiedlldb/source/Commands/CommandObjectSource.cpp
The file was modifiedlldb/source/Symbol/Declaration.cpp
The file was modifiedlldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
The file was modifiedlldb/source/Core/SourceManager.cpp
The file was modifiedlldb/source/Symbol/SymbolContext.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInRange.cpp
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
The file was modifiedlldb/include/lldb/Utility/FileSpec.h
The file was modifiedlldb/source/Symbol/CompileUnit.cpp
The file was modifiedlldb/source/Utility/FileSpec.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/include/lldb/Utility/FileSpec.h
The file was modifiedlldb/source/API/SBThread.cpp
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
The file was modifiedlldb/source/Symbol/LocateSymbolFile.cpp
The file was modifiedlldb/source/Utility/FileSpec.cpp
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
The file was modifiedlldb/source/Plugins/Platform/POSIX/PlatformPOSIX.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/InstCombine/InstCombineCalls.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
The file was modifiedllvm/include/llvm/ADT/APFloat.h
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/unittests/Utility/StreamTest.cpp
The file was modifiedlldb/source/Symbol/Variable.cpp
The file was modifiedlldb/source/Utility/Stream.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/test/tools/yaml2obj/ELF/symtab-implicit-sections-size-content.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/dynsymtab-implicit-sections-size-content.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/gnu-hash-section.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/implicit-sections-types.yaml
The file was modifiedllvm/test/tools/yaml2obj/ELF/implicit-sections.yaml
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/implicit-sections-addr.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 addedllvm/test/CodeGen/Mips/delay-slot-filler-bundled-insts.mir
The file was modifiedllvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
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/test/CodeGen/Mips/delay-slot-filler-bundled-insts.mir
The file was modifiedllvm/lib/Target/Mips/MipsAsmPrinter.cpp
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 modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was addedllvm/test/Transforms/SimpleLoopUnswitch/preserve-scev-exiting-multiple-loops.ll
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 addedllvm/test/CodeGen/AArch64/sve-intrinsics-reversal.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
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/test/CodeGenCXX/dllexport.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Parse/ParseDeclCXX.cpp
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/lib/Parse/ParseExprCXX.cpp
The file was modifiedclang/test/SemaOpenCLCXX/address-space-lambda.cl
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/Symbol/LocateSymbolFileMacOSX.cpp
The file was modifiedlldb/source/Host/macosx/objcxx/Host.mm
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/package.json
The file was modifiedclang-tools-extra/clangd/clients/clangd-vscode/src/extension.ts
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 modifiedclang/lib/Tooling/CMakeLists.txt
The file was modifiedclang/unittests/Tooling/CompilationDatabaseTest.cpp
The file was addedclang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
The file was modifiedclang/include/clang/Tooling/CompilationDatabase.h
The file was modifiedclang/lib/Tooling/JSONCompilationDatabase.cpp
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/JSONCompilationDatabase.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
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedclang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
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 addedclang/test/CodeGen/arm-mve-intrinsics/vmulhq.c
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/vmulhq.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was addedclang/test/CodeGen/arm-mve-intrinsics/vrmulhq.c
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was addedllvm/test/CodeGen/Thumb2/mve-intrinsics/vrmulhq.ll
The file was modifiedclang/include/clang/Basic/arm_mve.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/test/SemaOpenCL/address-spaces.cl
The file was modifiedclang/lib/Sema/SemaDecl.cpp
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/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
The file was modifiedlldb/source/API/SBTarget.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointList.cpp
Commit 0f12f9096e1e33d88cb0b5601b0e035a2674c19a by kadircet
Revert "[llvm][Support] Take in CurrentDirectory as a parameter in
ExpandResponseFiles"
This reverts commit 75656005dbc8866e1888932a68a830b0df403560.
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 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 addedllvm/test/tools/llvm-objdump/elf-pt-gnu-property.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
The file was addedllvm/test/tools/llvm-readobj/elf-pt-gnu-property.test
The file was modifiedllvm/tools/llvm-objdump/ELFDump.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/test/tools/yaml2obj/ELF/program-header.yaml
Commit b3b37783034cab31db2d60cf79d0c1c82a8c3419 by kadircet
Reapply "[llvm][Support] Take in CurrentDirectory as a parameter in
ExpandResponseFiles"
Attemps to fix windows buildbots.
The file was modifiedllvm/lib/Support/CommandLine.cpp
The file was modifiedclang/lib/Tooling/JSONCompilationDatabase.cpp
The file was modifiedclang/lib/Tooling/ExpandResponseFilesCompilationDatabase.cpp
The file was modifiedllvm/include/llvm/Support/CommandLine.h
The file was modifiedllvm/unittests/Support/CommandLineTest.cpp
The file was modifiedclang/include/clang/Tooling/CompilationDatabase.h
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/SimplifyCFG.cpp
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-empty.ll
The file was modifiedllvm/include/llvm/Transforms/Utils/Local.h
The file was addedllvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-else.ll
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
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 addedllvm/test/tools/llvm-ar/full-to-thin-archive.test
The file was modifiedllvm/test/tools/llvm-ar/replace.test
The file was modifiedllvm/test/tools/llvm-ar/print.test
The file was modifiedllvm/test/tools/llvm-ar/extract.test
The file was modifiedllvm/test/tools/llvm-ar/quick-append.test
The file was addedllvm/test/tools/llvm-ar/missing-thin-archive-member.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 modifiedopenmp/libomptarget/deviceRTLs/common/debug.h
The file was addedopenmp/libomptarget/deviceRTLs/common/support.h
The file was addedopenmp/libomptarget/deviceRTLs/amdgcn/CMakeLists.txt
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/support.cu
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/device_environment.h
The file was modifiedopenmp/libomptarget/deviceRTLs/CMakeLists.txt
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/omptarget-nvptx.h
The file was modifiedopenmp/libomptarget/deviceRTLs/amdgcn/src/target_impl.h
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/support.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/omp_data.cu
The file was addedopenmp/libomptarget/deviceRTLs/common/device_environment.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/test/CodeGen/PowerPC/aix-xcoff-data-only-notoc.ll
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/lib/MC/MCXCOFFStreamer.cpp
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.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