SuccessChanges

Summary

  1. [X86] Don't check for VBROADCAST_LOAD being a user of the source of a (details)
  2. Fix TestDisassemble_VST1_64 (details)
  3. [Format] Add machine-readable SPDX license ID to clang-format.el (details)
  4. [Demangle] Add a few more options to the microsoft demangler (details)
  5. [LLDB] [Windows] Initial support for ARM64 register contexts (details)
  6. [LLDB] [PECOFF] Use a "pc" vendor name in aarch64 triples (details)
  7. tsan: fix Go ppc64le build (details)
  8. [LLD] [COFF] Wrap file location pair<StringRef,int> in Optional<>. NFC. (details)
  9. [MIPS GlobalISel] Refactor MipsRegisterBankInfo [NFC] (details)
  10. Change Comments SmallVector to std::vector in DebugLocStream [NFC] (details)
  11. [MIPS GlobalISel] Add MSA registers to fprb. Select vector load, store (details)
  12. [LLD] [COFF] Fix -Wmissing-field-initializers warnings. NFC. (details)
  13. [LLD] [COFF] Update a leftover comment after SVN r374869. NFC. (details)
  14. [llvm-locstats] Fix 'only params' no entry value stats (details)
  15. Fix uninitialized variable warnings. NFCI. (details)
  16. [DebugInfo] Remove some users of DBG_VALUEs IsIndirect field (details)
  17. [X86] Resolve KnownUndef/KnownZero bits into target shuffle masks in (details)
  18. [DebugInfo] Add interface for pre-calculating the size of emitted DWARF (details)
  19. [Alignment][NFC] Remove dependency on (details)
  20. [DebugInfo] Add a DW_OP_LLVM_entry_value operation (details)
  21. [Concepts] Concept Specialization Expressions (details)
  22. gn build: Merge r374882 (details)
  23. [Alignment] Migrate Attribute::getWith(Stack)Alignment (details)
  24. [clang-tools-extra] Fix overzealous linking of dylib to clangTidy (details)
  25. [InstCombine] fold a shifted bool zext to a select (2nd try) (details)
  26. [ARM][MVE] validForTailPredication insts (details)
  27. [Windows][NFC] Fix tests after r374528. (details)
  28. [Alignment][NFC] Value::getPointerAlignment returns MaybeAlign (details)
  29. [lld] Check for branch range overflows. (details)
  30. [clangd] Propagate main context into ClangdServer (details)
  31. [AST] Remove unused Sema includes to fix a cyclic dependency from Sema (details)
  32. [AsmPrinter] Fix unused variable warning in Release builds. NFC. (details)
  33. Reapply: [Modules][PCH] Hash input files content (details)
  34. a test commit access (details)
  35. revert git test commit (details)
  36. Revert 374882 "[Concepts] Concept Specialization Expressions" (details)
  37. gn build: Merge r374899 (details)
  38. [clangd][NFC] Update comments to use triple-slashes (details)
  39. [DAGCombiner] fold select-of-constants based on sign-bit test (details)
  40. [Concepts] Concept Specialization Expressions (details)
  41. gn build: Merge r374903 (details)
  42. Skip PExpect tests under ASAN, I can't get them to work reliably. (details)
  43. Increase gdbremote_testcase timeouts when running under ASAN. (details)
  44. [Concepts] Remove unused and illegal Sema includes from ExprCXX.cpp (details)
  45. [AMDGPU] Allow DPP combiner to work with REG_SEQUENCE (details)
  46. CFI: wrong type passed to llvm.type.test with multiple inheritance (details)
  47. [AMDGPU] Support mov dpp with 64 bit operands (details)
  48. SBFile::GetFile: convert SBFile back into python native files. (details)
  49. convert SBDebugger::***FileHandle() wrappers to native files. (details)
  50. [lld][WebAssembly] Fix static linking of -fPIC code with external (details)
  51. [AIX][XCOFF] Output XCOFF object text section header and symbol entry (details)
  52. [llvm-profdata] Remove (details)
  53. eliminate virtual methods from PythonDataObjects (details)
  54. [VirtualFileSystem] Support virtual working directory in the (details)
  55. [MemorySSA] Update DomTree before applying MSSA updates. (details)
  56. [libomptarget][nfc] Make interface.h target independent (details)
  57. [NewGVN] Check that call has an access. (details)
  58. Add more information to JSON AST dumping of source locations. (details)
  59. [X86] Make memcmp() use PTEST if possible and also enable AVX1 (details)
  60. [XCOFF] Output object text section header and symbol entry for program (details)
  61. remove FILE* usage from SBStream.i (details)
  62. [libc] Do not add unittests if LLVM_INCLUDE_TESTS is OFF. (details)
  63. Reland [Driver] Fix -working-directory issues (details)
  64. [llvm-profdata] Reinstate (details)
  65. [X86] combineX86ShufflesRecursively - split the getTargetShuffleInputs (details)
  66. Fix Driver/working-directory.c test (details)
  67. [test] Update YAML mapping in VirtualFileSystemTest (details)
  68. [llvm-objdump] Use a counter for llvm-objdump -h instead of the section (details)
  69. [clang] refactor -Wa,-W test cases. (details)
  70. [WebAssembly] Allow multivalue types in block signature operands (details)
  71. Added support for "#pragma clang section relro=<name>" (details)
  72. Revert "[VirtualFileSystem] Support virtual working directory in the (details)
  73. Fix as-w-option.c on Windows where no assembler exists (details)
  74. [Clang][OpenMP Offload] Move offload registration code to the wrapper (details)
  75. [Concept] Associated Constraints Infrastructure (details)
  76. [WebAssembly] Elide data segments for .bss sections (details)
  77. [llvm-readobj][xcoff] implement parsing overflow section header. (details)
  78. [OPENMP]Allow final clause in combined task-based directives. The (details)
  79. [OPENMP]Fix comments/params, NFC. (details)
  80. AMDGPU: Fix infinite searches in SIFixSGPRCopies (details)
  81. [llvm-lipo] Add missing cast (details)
  82. [XCOFF]implement parsing relocation information for 32-bit xcoff object (details)
  83. [lit] Add back LitTestCase (details)
  84. [JITLink] Switch to slab allocation for InProcessMemoryManager, (details)
  85. [Docs] Updates sidebar links and sets max-width property for div.body (details)
  86. [Orc] Add a method for ObjectLinkingLayer to return ownership of object (details)
  87. Remove unnecessary and inappropriate forward-declaration of Sema from (details)
  88. [lldb] Creates _liblldb symlink from cmake (details)
  89. PR43674: fix incorrect constant evaluation of 'switch' where no case (details)
  90. [Reland][VirtualFileSystem] Support virtual working directory in the (details)
  91. [dsymutil] Support and relocate base address selection entries for (details)
  92. [ASan] Refine diagnoses messages (details)
  93. Fix an unused variable introduced in rL374955 / rG21703543. (details)
  94. [libTooling] Put all Transformer declarations in a single namespace. (details)
  95. CodeExtractor: NFC: Use Range based loop (details)
  96. update ScriptInterpreterPython to use File, not FILE* (details)
  97. Revert "[ASan] Refine diagnoses messages" (details)
  98. [Concepts] ConceptSpecializationExprs mangling (details)
  99. [libunwind][Android] Improve workaround for PIE zero-dlpi_addr bug (details)
  100. [LegalizeTypes] Don't call PromoteTargetBoolean from SplitVecOp_VSETCC. (details)
  101. Fix failing mangle-concept.cpp test. (details)
  102. [LegalizeTypes] Don't use PromoteTargetBoolean in WidenVecOp_SETCC. (details)
  103. [CMake] Disable building all Darwin libraries (except builtins) for (details)
  104. [NFC] Replace a linked list in LiveDebugVariables pass with a DenseMap (details)
  105. [HardwareLoops] Optimisation remarks (details)
  106. [ARM][ParallelDSP] Change smlad insertion order (details)
  107. [clangd] Add RemoveUsingNamespace tweak. (details)
  108. gn build: Merge r374982 (details)
  109. [AMDGPU] Extend the SI Load/Store optimizer (details)
  110. Revert 374967 "[Concepts] ConceptSpecializationExprs mangling" (details)
  111. SimpleLoopUnswitch - fix uninitialized variable and null dereference (details)
  112. CGBuiltin - silence static analyzer getAs<> null dereference warnings. (details)
  113. CGExprConstant - silence static analyzer getAs<> null dereference (details)
  114. CGDebugInfo - silence static analyzer dyn_cast<> null dereference (details)
  115. [ARM] Add a register class for GPR pairs without SP and use it. NFCI (details)
  116. RewriteModernObjC - silence static analyzer getAs<> null dereference (details)
  117. Revert "[HardwareLoops] Optimisation remarks" (details)
  118. [InstCombine][AMDGPU] Fix crash with v3i16/v3f16 buffer intrinsics (details)
  119. RealFile - fix self-initialization warning in constructor. (details)
  120. RedirectingFileSystem::openFileForRead - replace bitwise & with boolean (details)
  121. [Alignment][NFC] Optimize alignTo (details)
  122. [Driver,ARM] Make -mfloat-abi=soft turn off MVE. (details)
  123. [llvm-ar] Make paths case insensitive when on windows (details)
  124. [libTooling] Fix r374962: add more Transformer forwarding decls. (details)
  125. [AMDGPU] Fix-up cases where writelane has 2 SGPR operands (details)
  126. [RISCV] Add MachineInstr immediate verification (details)
  127. bpf: fix wrong truncation elimination when there is back-edge/loop (details)
  128. [Remarks] Add support for prepending a path to external files (details)
  129. [Codegen] Adjust saturation test. NFC. (details)
  130. [AArch64,Assembler] Compiler support for ID_MMFR5_EL1 (details)
  131. [Remarks] Use StringRef::contains to avoid differences in error string (details)
  132. [DWARF5] Added support for DW_AT_noreturn attribute to be emitted for (details)
  133. [SVE][IR] Small TypeSize improvements left out of initial commit (details)
  134. [Remarks] Fix unit test by only checking for the path (details)
  135. [Remarks] Fix warning for ambigous `else` behind EXPECT macro (details)
  136. [AMDGPU] Supress unused sdwa insts generation (details)
  137. [OPENMP]Use different addresses for zeroed thread_id/bound_id. (details)
  138. [lit] Clean up internal diff's encoding handling (details)
  139. CombinerHelper - silence dead assignment warnings. NFCI. (details)
  140. [lit] Fix internal diff's --strip-trailing-cr and use it (details)
  141. [NFC][XCOFF][AIX] Rename ControlSections to CsectGroup (details)
  142. Tag CFI-generated data structures with "#pragma clang section" (details)
  143. [lit] Fix a test case that r374652 missed (details)
  144. [lldb] move more things from python to cmake (details)
  145. [SLP] avoid reduction transform on patterns that the backend can (details)
  146. [OPENMP]Allow priority clause in combined task-based directives. (details)
  147. Fix darwin-ld-lto test for some speical path (details)
  148. [llvm-ar] Implement the V modifier as an alias for --version (details)
  149. [android/process list] support showing process arguments (details)
  150. [AMDGPU] Do not combine dpp with physreg def (details)
  151. Replace platform-dependent `stat` with `llvm::sys::fs::status`. NFC (details)
  152. Add arm64_32 support to lldb, an ILP32 codegen that runs on arm64 ISA (details)
  153. [AMDGPU] Do not combine dpp mov reading physregs (details)
  154. [LLDB] Use the llvm microsoft demangler instead of the windows dbghelp (details)
  155. [IndVars] Fix a miscompile in off-by-default loop predication (details)
  156. [clangd] Add the missing dependency on `clangLex`. (details)
  157. Remove a stale comment, noted in post commit review for rL375038 (details)
  158. [Symbolize] Use the local MSVC C++ demangler instead of relying on (details)
  159. GlobalISel: Implement lower for G_SADDO/G_SSUBO (details)
  160. [AArch64] Fix offset calculation (details)
  161. [dsymutil] Print warning/error for unknown/missing arguments. (details)
  162. Update ReleaseNotes: expand the section on enabling MemorySSA (details)
  163. [lit] Small refactoring and cleanups in main.py (details)
  164. [lit] Remove return value from print_summary function (details)
  165. [lit] Skip creation of tmp dir if we don't actually run any tests (details)
  166. [lit] Print warning if we fail to delete temp directory (details)
  167. [Utils] Cleanup similar cases to MergeBlockIntoPredecessor. (details)
  168. [support] GlobPattern: add support for `\` and `[!...]`, and allow `]` (details)
  169. Revert [support] GlobPattern: add support for `\` and `[!...]`, and (details)
  170. [NFC] Fix unused var in release builds (details)
Commit b2661a2d153f936e6f3f80d3634428f322926535 by craig.topper
[X86] Don't check for VBROADCAST_LOAD being a user of the source of a
VBROADCAST when trying to share broadcasts.
The only things VBROADCAST_LOAD uses is an address and a chain node. It
has no vector inputs.
So if its a user of the source of another broadcast that could only mean
one of two things. The other broadcast is broadcasting the address of
the broadcast_load. Or the source is a load and the use we're seeing is
the chain result from that load. Neither of these cases make sense to
combine here.
This issue was reported post-commit r373871. Test case has not been
reduced yet.
llvm-svn: 374862
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 8d499957953e2ed865ba68dbe86ee3ddb63e0f47 by pavel
Fix TestDisassemble_VST1_64
- use a full triple instead of just the architecture (makes the test
pass on non-apple hosts)
- skip the test if the ARM llvm target is not built
llvm-svn: 374863
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/disassemble-raw-data/TestDisassemble_VST1_64.py
Commit bbb8eade6976c56869f7d06d14fb429fdd6538d3 by sam.mccall
[Format] Add machine-readable SPDX license ID to clang-format.el
llvm-svn: 374864
The file was modifiedclang/tools/clang-format/clang-format.el
Commit da92ed8365aa5506c4991b9075f57aeeb7f6f70a by martin
[Demangle] Add a few more options to the microsoft demangler
This corresponds to commonly used options to UnDecorateSymbolName within
llvm.
Add them as hidden options in llvm-undname. MS undname.exe takes numeric
flags, corresponding to the UNDNAME_* constants, but instead of
hardcoding in mappings for those numbers, just add textual options
instead, as it the use of them here is primarily intended for testing.
Differential Revision: https://reviews.llvm.org/D68917
llvm-svn: 374865
The file was modifiedllvm/lib/Demangle/MicrosoftDemangleNodes.cpp
The file was modifiedllvm/include/llvm/Demangle/Demangle.h
The file was modifiedllvm/lib/Demangle/MicrosoftDemangle.cpp
The file was addedllvm/test/Demangle/ms-options.test
The file was modifiedllvm/include/llvm/Demangle/MicrosoftDemangleNodes.h
The file was modifiedllvm/tools/llvm-undname/llvm-undname.cpp
Commit b1f6ba2a2ecdf253c1ee2f2a04156eba78cfe3fa by martin
[LLDB] [Windows] Initial support for ARM64 register contexts
Differential Revision: https://reviews.llvm.org/D67954
llvm-svn: 374866
The file was addedlldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.h
The file was addedlldb/source/Plugins/Process/Windows/Common/arm64/RegisterContextWindows_arm64.cpp
The file was addedlldb/test/Shell/Register/Inputs/aarch64-gp-read.cpp
The file was addedlldb/test/Shell/Register/aarch64-fp-read.test
The file was modifiedlldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
The file was addedlldb/test/Shell/Register/Inputs/aarch64-fp-read.cpp
The file was addedlldb/source/Plugins/Process/Windows/Common/NativeRegisterContextWindows_arm64.cpp
The file was addedlldb/source/Plugins/Process/Windows/Common/arm64/RegisterContextWindows_arm64.h
The file was modifiedllvm/utils/lit/lit/llvm/config.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/CMakeLists.txt
The file was addedlldb/test/Shell/Register/aarch64-gp-read.test
Commit 674d55438d25e900dba202078a108836ba066e64 by martin
[LLDB] [PECOFF] Use a "pc" vendor name in aarch64 triples
This matches all other architectures listed in the same file.
This fixes debugging aarch64 executables with lldb-server, which
otherwise fails, with log messages like these:
Target::SetArchitecture changing architecture to aarch64
(aarch64-pc-windows-msvc) Target::SetArchitecture Trying to select
executable file architecture aarch64 (aarch64-pc-windows-msvc)
ArchSpec::SetArchitecture sets the vendor to llvm::Triple::PC for any
coff/win32 combination, and if this doesn't match the triple set by the
PECOFF module, things doesn't seem to work with when using lldb-server.
Differential Revision: https://reviews.llvm.org/D68939
llvm-svn: 374867
The file was modifiedlldb/test/Shell/ObjectFile/PECOFF/basic-info-arm64.yaml
The file was modifiedlldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
Commit cc2f68ea2dc8132270218ca14ab0e21fb71d3ec8 by dvyukov
tsan: fix Go ppc64le build
This #define is in the non-Go ppc64le build but not in the Go build.
Reviewed-in: https://reviews.llvm.org/D68046 Author: randall77 (Keith
Randall) llvm-svn: 374868
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_platform.h
Commit 9318c94ebbf28beb843852246beb34082c659bae by martin
[LLD] [COFF] Wrap file location pair<StringRef,int> in Optional<>. NFC.
This makes use of it slightly clearer, and makes it match the same
construct in the lld ELF linker.
Differential Revision: https://reviews.llvm.org/D68935
llvm-svn: 374869
The file was modifiedlld/COFF/SymbolTable.cpp
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedlld/COFF/PDB.h
Commit f7c213c9c43cba30fb22edde29ccbd19131660e4 by petar.avramovic
[MIPS GlobalISel] Refactor MipsRegisterBankInfo [NFC]
Check if size of operand LLT matches sizes of available register banks
before inspecting the opcode in order to reduce number of checks. Factor
commonly used pieces of code into functions.
Differential Revision: https://reviews.llvm.org/D68866
llvm-svn: 374870
The file was modifiedllvm/lib/Target/Mips/MipsRegisterBankInfo.h
The file was modifiedllvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
Commit d46ac44ecdc82ac42510e1ce2b9cd90ee2fa7faa by david.stenberg
Change Comments SmallVector to std::vector in DebugLocStream [NFC]
This changes the 32-element SmallVector to a std::vector. When building
a RelWithDebInfo clang-8 binary, the average size of the vector was
~10000, so it does not seem very beneficial or practical to use a small
vector for that.
The DWARFBytes SmallVector grows in the same way as Comments, so perhaps
that also should be changed to a purely dynamically allocated structure,
but that requires some more code changes, so I let that remain as a
SmallVector for now.
llvm-svn: 374871
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DebugLocStream.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/ByteStreamer.h
Commit 599591f3d47cad6d70f2346c9056f4d4bbddff31 by petar.avramovic
[MIPS GlobalISel] Add MSA registers to fprb. Select vector load, store
Add vector MSA register classes to fprb, they are 128 bit wide. MSA
instructions use the same registers for both integer and floating point
operations. Therefore we only need to check for vector element size
during legalization or instruction selection.
Add helper function in MipsLegalizerInfo and switch to legalIf
LegalizeRuleSet to keep legalization rules compact since they depend on
MipsSubtarget and presence of MSA. fprb is assigned to all vector
operands. Move selectLoadStoreOpCode to MipsInstructionSelector in order
to reduce number of arguments.
Differential Revision: https://reviews.llvm.org/D68867
llvm-svn: 374872
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was addedllvm/test/CodeGen/Mips/GlobalISel/instruction-select/load_store_vec.mir
The file was modifiedllvm/lib/Target/Mips/MipsInstructionSelector.cpp
The file was addedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/load_store_vec.ll
The file was modifiedllvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/Mips/GlobalISel/regbankselect/load_store_vec.mir
The file was modifiedllvm/lib/Target/Mips/MipsRegisterBanks.td
The file was addedllvm/test/CodeGen/Mips/GlobalISel/legalizer/load_store_vec.mir
Commit cd8759c3c29735c0460ff522be72c39c09d81223 by martin
[LLD] [COFF] Fix -Wmissing-field-initializers warnings. NFC.
llvm-svn: 374873
The file was modifiedlld/COFF/SymbolTable.cpp
Commit e0916f4fbe9e9cde88150488eaddceeef277beb2 by martin
[LLD] [COFF] Update a leftover comment after SVN r374869. NFC.
llvm-svn: 374874
The file was modifiedlld/COFF/PDB.cpp
Commit 095531ea941992a0e03bd388cff8a9fae53d3498 by djordje.todorovic
[llvm-locstats] Fix 'only params' no entry value stats
Adding the missing line.
llvm-svn: 374875
The file was modifiedllvm/utils/llvm-locstats/llvm-locstats.py
Commit 4706f3be88d9cb530afb32b8d9d2bd5bfde2c881 by llvm-dev
Fix uninitialized variable warnings. NFCI.
llvm-svn: 374876
The file was modifiedclang/lib/AST/ASTImporter.cpp
Commit ed29dbaafa49bb8c9039a35f768244c394411fea by jeremy.morse.llvm
[DebugInfo] Remove some users of DBG_VALUEs IsIndirect field
This patch kills off a significant user of the "IsIndirect" field of
DBG_VALUE machine insts. Brought up in in PR41675, IsIndirect is
techncally redundant as it can be expressed by the DIExpression of a
DBG_VALUE inst, and it isn't helpful to have two ways of expressing
things.
Rather than setting IsIndirect, have DBG_VALUE creators add an extra
deref to the insts DIExpression. There should now be no appearences of
IsIndirect=True from isel down to LiveDebugVariables / VirtRegRewriter,
which is ensured by an assertion in LDVImpl::handleDebugValue. This
means we also get to delete the IsIndirect handling in
LiveDebugVariables. Tests can be upgraded by for example swapping the
following IsIndirect=True DBG_VALUE:
  DBG_VALUE $somereg, 0, !123, !DIExpression(DW_OP_foo)
With one where the indirection is in the DIExpression, by _appending_ a
deref:
  DBG_VALUE $somereg, $noreg, !123, !DIExpression(DW_OP_foo,
DW_OP_deref)
Which both mean the same thing.
Most of the test changes in this patch are updates of that form; also
some changes in how the textual assembly printer handles these insts.
Differential Revision: https://reviews.llvm.org/D68945
llvm-svn: 374877
The file was modifiedllvm/test/DebugInfo/X86/dbg-addr-dse.ll
The file was modifiedllvm/test/DebugInfo/ARM/PR16736.ll
The file was modifiedllvm/test/DebugInfo/X86/dbg-addr.ll
The file was modifiedllvm/test/DebugInfo/X86/op_deref.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/debug-cpp.ll
The file was modifiedllvm/test/CodeGen/ARM/debug-info-arg.ll
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/test/DebugInfo/X86/vla.ll
The file was modifiedllvm/test/DebugInfo/X86/live-debug-vars-dse.mir
The file was modifiedllvm/test/DebugInfo/COFF/pieces.ll
The file was modifiedllvm/test/DebugInfo/X86/spill-indirect-nrvo.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/test/DebugInfo/ARM/float-stack-arg.ll
The file was modifiedllvm/test/DebugInfo/X86/safestack-byval.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll
The file was modifiedllvm/test/DebugInfo/X86/spill-nontrivial-param.ll
The file was modifiedllvm/test/CodeGen/PowerPC/debuginfo-stackarg.ll
The file was modifiedllvm/test/DebugInfo/X86/parameters.ll
Commit 70778444c7838a13ea0a8c315ad6c1830cb6b41c by llvm-dev
[X86] Resolve KnownUndef/KnownZero bits into target shuffle masks in
helper. NFCI.
llvm-svn: 374878
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 284827f32bd8d06ca1ab8a949bf96088612b1504 by david.stenberg
[DebugInfo] Add interface for pre-calculating the size of emitted DWARF
Summary: DWARF's DW_OP_entry_value operation has two operands; the first
is a ULEB128 operand that specifies the size of the second operand,
which is a DWARF block. This means that we need to be able to
pre-calculate and emit the size of DWARF expressions before emitting
them. There is currently no interface for doing this in DwarfExpression,
so this patch introduces that.
When implementing this I initially thought about running through
DwarfExpression's emission two times; first with a temporary buffer to
emit the expression, in order to being able to calculate the size of
that emitted data. However, DwarfExpression is a quite complex state
machine, so I decided against that, as it seemed like the two runs could
get out of sync, resulting in incorrect size operands. Therefore I have
implemented this in a way that we only have to run DwarfExpression once.
The idea is to emit DWARF to a temporary buffer, for which it is
possible to query the size. The data in the temporary buffer can then be
emitted to DwarfExpression's main output.
In the case of DIEDwarfExpression, a temporary DIE is used. The values
are all allocated using the same BumpPtrAllocator as for all other DIEs,
and the values are then transferred to the real value list. In the case
of DebugLocDwarfExpression, the temporary buffer is implemented using a
BufferByteStreamer which emits to a buffer in the DwarfExpression
object.
Reviewers: aprantl, vsk, NikolaPrica, djtodoro
Reviewed By: aprantl
Subscribers: hiraditya, llvm-commits
Tags: #debug-info, #llvm
Differential Revision: https://reviews.llvm.org/D67768
llvm-svn: 374879
The file was modifiedllvm/include/llvm/CodeGen/DIE.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/ByteStreamer.h
Commit 0e62011df891d0e7ad904524edf705d07d12d5d4 by gchatelet
[Alignment][NFC] Remove dependency on
GlobalObject::setAlignment(unsigned)
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: arsenm, mehdi_amini, jvesely, nhaehnle, hiraditya,
steven_wu, dexonsmith, dang, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68944
llvm-svn: 374880
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
The file was modifiedllvm/lib/Transforms/IPO/ConstantMerge.cpp
The file was modifiedllvm/unittests/IR/ConstantsTest.cpp
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/lib/IR/Core.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/IPO/GlobalOpt.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
The file was modifiedllvm/lib/IR/Globals.cpp
The file was modifiedllvm/lib/LTO/LTO.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/include/llvm/LTO/LTO.h
The file was modifiedllvm/lib/Linker/IRMover.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/Speculation.cpp
The file was modifiedllvm/lib/Transforms/IPO/CrossDSOCFI.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/lib/Transforms/IPO/LowerTypeTests.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/Instrumentation.cpp
The file was modifiedllvm/lib/Linker/LinkModules.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was modifiedpolly/lib/CodeGen/LoopGeneratorsKMP.cpp
The file was modifiedllvm/unittests/IR/ValueTest.cpp
The file was modifiedllvm/lib/CodeGen/LowerEmuTLS.cpp
The file was modifiedllvm/unittests/IR/FunctionTest.cpp
The file was modifiedllvm/lib/Transforms/IPO/MergeFunctions.cpp
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
The file was modifiedllvm/lib/CodeGen/GlobalMerge.cpp
The file was modifiedllvm/include/llvm/IR/GlobalObject.h
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
Commit 1ae2d9a2bdce054560104f428e92eaef736e5c7f by david.stenberg
[DebugInfo] Add a DW_OP_LLVM_entry_value operation
Summary: Internally in LLVM's metadata we use DW_OP_entry_value
operations with the same semantics as DWARF; that is, its operand
specifies the number of bytes that the entry value covers.
At the time of emitting entry values we don't know the emitted size of
the DWARF expression that the entry value will cover. Currently the size
is hardcoded to 1 in DIExpression, and other values causes the verifier
to fail. As the size is 1, that effectively means that we can only have
valid entry values for registers that can be encoded in one byte, which
are the registers with DWARF numbers 0 to 31 (as they can be encoded as
single-byte DW_OP_reg0..DW_OP_reg31 rather than a multi-byte
DW_OP_regx). It is a bit confusing, but it seems like llvm-dwarfdump
will print an operation "correctly", even if the byte size is less than
that, which may make it seem that we emit correct DWARF for registers
with DWARF numbers > 31. If you instead use readelf for such cases, it
will interpret the number of specified bytes as a DWARF expression. This
seems like a limitation in llvm-dwarfdump.
As suggested in D66746, a way forward would be to add an internal
variant of DW_OP_entry_value, DW_OP_LLVM_entry_value, whose operand
instead specifies the number of operations that the entry value covers,
and we then translate that into the byte size at the time of emission.
In this patch that internal operation is added. This patch keeps the
limitation that a entry value can only be applied to simple register
locations, but it will fix the issue with the size operand being
incorrect for DWARF numbers > 31.
Reviewers: aprantl, vsk, djtodoro, NikolaPrica
Reviewed By: aprantl
Subscribers: jyknight, fedor.sergeev, hiraditya, llvm-commits
Tags: #debug-info, #llvm
Differential Revision: https://reviews.llvm.org/D67492
llvm-svn: 374881
The file was addedllvm/test/DebugInfo/ARM/entry-value-multi-byte-expr.ll
The file was addedllvm/test/Verifier/diexpression-entry-value-llvm-ir.ll
The file was modifiedllvm/test/DebugInfo/MIR/X86/avoid-single-entry-value-location.mir
The file was modifiedllvm/include/llvm/BinaryFormat/Dwarf.h
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was addedllvm/test/DebugInfo/Sparc/entry-value-complex-reg-expr.ll
The file was addedllvm/test/Verifier/diexpression-dwarf-entry-value.ll
The file was modifiedllvm/include/llvm/CodeGen/MachineInstr.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
The file was modifiedllvm/test/Verifier/diexpression-valid-entry-value.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
The file was modifiedllvm/test/DebugInfo/MIR/Hexagon/live-debug-values-bundled-entry-values.mir
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbginfo-entryvals.mir
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
The file was modifiedllvm/test/DebugInfo/MIR/X86/dbgcall-site-interpretation.mir
The file was modifiedllvm/test/DebugInfo/MIR/X86/multiple-param-dbg-value-entry.mir
The file was modifiedllvm/lib/BinaryFormat/Dwarf.cpp
The file was modifiedllvm/test/Verifier/diexpression-entry-value.ll
Commit ec87b003823d63f3342cf648f55a134c1522e612 by saar
[Concepts] Concept Specialization Expressions
Part of C++20 Concepts implementation effort. Added Concept
Specialization Expressions that are created when a concept is referenced
with arguments, and tests thereof.
llvm-svn: 374882
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p6.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cpp
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/lib/Sema/CMakeLists.txt
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was addedclang/test/PCH/cxx2a-concept-specialization-expr.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/Parser/cxx2a-concept-declaration.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p5.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was removedclang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p7.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/lit.cfg.py
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was removedclang/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was addedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
Commit a94546987529b4410b99a66dfd268b3faacb78ec by llvmgnsyncbot
gn build: Merge r374882
llvm-svn: 374883
The file was modifiedllvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Commit b65fa483058f1b4049c7201525779b4f49cceb80 by gchatelet
[Alignment] Migrate Attribute::getWith(Stack)Alignment
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet, jdoerfert
Reviewed By: courbet
Subscribers: arsenm, jvesely, nhaehnle, hiraditya, cfe-commits,
llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D68792
llvm-svn: 374884
The file was modifiedllvm/include/llvm/IR/IntrinsicInst.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
The file was modifiedllvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMachineFunction.h
The file was modifiedllvm/lib/IR/Core.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
The file was modifiedllvm/lib/IR/IRBuilder.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
The file was modifiedllvm/include/llvm/IR/Attributes.h
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMachineFunction.cpp
The file was modifiedllvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
The file was modifiedllvm/unittests/IR/AttributesTest.cpp
Commit 9c9bd1657cbd3504ff719c14ece79ef2af0e0ea2 by mgorny
[clang-tools-extra] Fix overzealous linking of dylib to clangTidy
Fix accidentally making clangTidy library link to dylib.  This causes
libclang.so to also link to dylib which results in duplicate symbols
from shared and static libraries, and effectively to registering
command-line options twice.
Thanks to Sylvestre Ledru for noticing this and tracking it down to
r373786.  Fixes PR#43589.
Differential Revision: https://reviews.llvm.org/D68927
llvm-svn: 374885
The file was modifiedclang-tools-extra/clang-tidy/CMakeLists.txt
Commit 455ce7816ce4510ce1807e7ab5946e48c205c527 by spatel
[InstCombine] fold a shifted bool zext to a select (2nd try)
The 1st attempt at rL374828 inserted the code at the wrong position
(outside of the constant-shift-amount block). Trying again with an
additional test to verify const-ness.
For a constant shift amount, add the following fold. shl (zext (i1 X)),
ShAmt --> select (X, 1 << ShAmt, 0)
https://rise4fun.com/Alive/IZ9
Fixes PR42257.
Based on original patch by @zvi (Zvi Rackover)
Differential Revision: https://reviews.llvm.org/D63382
llvm-svn: 374886
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
The file was modifiedllvm/test/Transforms/InstCombine/and.ll
Commit ce39278f2575cc0b6481924e02a0fd8632b74aa8 by sam.parker
[ARM][MVE] validForTailPredication insts
Reverse the logic for valid tail predication instructions and create a
whitelist instead. Added other instruction groups that aren't obviously
safe:
- instructions that 'narrow' their result.
- lane moves.
- byte swapping instructions.
- interleaving loads and stores.
- cross-beat carries.
- top/bottom instructions.
- complex operations.
Hopefully we should be able to add more of these instructions to the
whitelist, once we have a more concrete idea of the transform.
Differential Revision: https://reviews.llvm.org/D67904
llvm-svn: 374887
The file was modifiedllvm/unittests/Target/ARM/CMakeLists.txt
The file was modifiedllvm/unittests/Target/ARM/MachineInstrTest.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrFormats.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h
Commit 86d0f8b148bd8da755cee615725e1488bbe6946e by aleksandr.urakov
[Windows][NFC] Fix tests after r374528.
Differential Revision: https://reviews.llvm.org/D67347
llvm-svn: 374888
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/step-avoids-no-debug/TestStepNoDebug.py
Commit bae629b96622962245aad7b7dfcbce915d9c02a2 by gchatelet
[Alignment][NFC] Value::getPointerAlignment returns MaybeAlign
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet, jdoerfert
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68398
llvm-svn: 374889
The file was modifiedllvm/lib/Analysis/Loads.cpp
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/unittests/IR/FunctionTest.cpp
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/lib/IR/ConstantFold.cpp
The file was modifiedllvm/include/llvm/IR/Value.h
Commit ab5025654448ad0c93af18727f9b0698f451bd94 by sidneym
[lld] Check for branch range overflows.
Differential Revision: https://reviews.llvm.org/D68875
llvm-svn: 374891
The file was modifiedlld/ELF/Arch/Hexagon.cpp
The file was addedlld/test/ELF/hexagon-jump-error.s
Commit 9d66247e9b78ceb821fba12a1d2ff66839911163 by kadircet
[clangd] Propagate main context into ClangdServer
Summary: Currently clangd initializes the ClangdServer lazily during
onInitialize request, and it results in propagation of caller's context
rather than the main context created ClangdLSPServer.
This patch changes the logic to store main context that created
ClangdLSPServer and pass it onto to ClangdServer and other objects like
CDBs.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68978
llvm-svn: 374892
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.h
Commit dfb7a736015f6270cdc81ab4477768842928f644 by benny.kra
[AST] Remove unused Sema includes to fix a cyclic dependency from Sema
to AST
llvm-svn: 374893
The file was modifiedclang/lib/AST/ExprCXX.cpp
Commit ce00cd6ae845677ef95f8d62a3745f6e13125882 by benny.kra
[AsmPrinter] Fix unused variable warning in Release builds. NFC.
llvm-svn: 374894
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
Commit 1731fc88d1fa1fa55edd056db73a339b415dd5d6 by bruno.cardoso
Reapply: [Modules][PCH] Hash input files content
Summary: When files often get touched during builds, the mtime based
validation leads to different problems in implicit modules builds, even
when the content doesn't actually change:
- Modules only: module invalidation due to out of date files. Usually
causing rebuild traffic.
- Modules + PCH: build failures because clang cannot rebuild a module if
it comes from building a PCH.
- PCH: build failures because clang cannot rebuild a PCH in case one of
the input headers has different mtime.
This patch proposes hashing the content of input files (headers and
module maps), which is performed during serialization time. When looking
at input files for validation, clang only computes the hash in case
there's a mtime mismatch.
I've tested a couple of different hash algorithms availble in LLVM in
face of building modules+pch for `#import <Cocoa/Cocoa.h>`:
- `hash_code`: performace diff within the noise, total module cache
increased by 0.07%.
- `SHA1`: 5% slowdown. Haven't done real size measurements, but it'd be
BLOCK_ID+20 bytes per input file, instead of BLOCK_ID+8 bytes from
`hash_code`.
- `MD5`: 3% slowdown. Like above, but BLOCK_ID+16 bytes per input file.
Given the numbers above, the patch uses `hash_code`. The patch also
improves invalidation error msgs to point out which type of problem the
user is facing: "mtime", "size" or "content".
rdar://problem/29320105
Reviewers: dexonsmith, arphaman, rsmith, aprantl
Subscribers: jkorous, cfe-commits, ributzka
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67249
> llvm-svn: 374841
llvm-svn: 374895
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was addedclang/test/Modules/validate-file-content.m
The file was addedclang/test/PCH/validate-file-content.m
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/include/clang/Basic/DiagnosticSerializationKinds.td
The file was modifiedclang/include/clang/Lex/HeaderSearchOptions.h
The file was modifiedclang/include/clang/Serialization/ASTReader.h
The file was modifiedclang/lib/Serialization/ASTReader.cpp
Commit defaea0b6c4cccacbaa519a66b318bc3d250e281 by digger.llvm
a test commit access
llvm-svn: 374897
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
Commit 52d2a567b5ea4f2ec6d1dd5e9b5661ca8b763eae by digger.llvm
revert git test commit
llvm-svn: 374898
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
Commit b4638f9ff063a29e84b2d6b949ee4f7d27e4c2ab by nicolasweber
Revert 374882 "[Concepts] Concept Specialization Expressions"
This reverts commit ec87b003823d63f3342cf648f55a134c1522e612. The test
fails on Windows, see e.g.
http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/11533/steps/stage%201%20check/logs/stdio
Also revert follow-up r374893.
llvm-svn: 374899
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was removedclang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was removedclang/test/PCH/cxx2a-concept-specialization-expr.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was addedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cpp
The file was addedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p7.cpp
The file was addedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was removedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was removedclang/test/CXX/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was addedclang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Sema/CMakeLists.txt
The file was modifiedclang/test/Parser/cxx2a-concept-declaration.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was addedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p6.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was addedclang/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was addedclang/test/CXX/concepts-ts/dcl.dcl/lit.cfg.py
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was addedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p5.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit ae8e69ecd0c756ea9ae69f4096027be3a36ea578 by llvmgnsyncbot
gn build: Merge r374899
llvm-svn: 374900
The file was modifiedllvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Commit b18170660e726cc97caa35cb0c406db184d4a8a2 by kadircet
[clangd][NFC] Update comments to use triple-slashes
llvm-svn: 374901
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.h
Commit d545c9056e00988d2d146f8f1440b2dd192f306b by spatel
[DAGCombiner] fold select-of-constants based on sign-bit test
Examples:
i32 X > -1 ? C1 : -1 --> (X >>s 31) | C1
i8 X < 0 ? C1 : 0 --> (X >>s 7) & C1
This is a small generalization of a fold requested in PR43650:
https://bugs.llvm.org/show_bug.cgi?id=43650
The sign-bit of the condition operand can be used as a mask for the true
operand: https://rise4fun.com/Alive/paT
Note that we already handle some of the patterns (isNegative + scalar)
because there's an over-specialized, yet over-reaching fold for that in
foldSelectCCToShiftAnd(). It doesn't use any TLI hooks, so I can't
easily rip out that code even though we're duplicating part of it here.
This fold is guarded by TLI.convertSelectOfConstantsToMath(), so it
should not cause problems for targets that prefer select over shift.
Also worth noting: I thought we could generalize this further to include
the case where the true operand of the select is not constant, but Alive
says that may allow poison to pass through where it does not in the
original select form of the code.
Differential Revision: https://reviews.llvm.org/D68949
llvm-svn: 374902
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/select-sra.ll
Commit 5d98ba6077dac656fbf023e9312d9c131d53144c by saar
[Concepts] Concept Specialization Expressions
Part of C++20 Concepts implementation effort. Added Concept
Specialization Expressions that are created when a concept is refe$
D41217 on Phabricator.
(recommit after fixing failing Parser test on windows)
llvm-svn: 374903
The file was removedclang/test/CXX/concepts-ts/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/lib/Serialization/ASTReaderStmt.cpp
The file was modifiedclang/lib/Serialization/ASTWriterStmt.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p7.cpp
The file was modifiedclang/include/clang/Basic/StmtNodes.td
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was addedclang/lib/Sema/SemaConcept.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p5.cpp
The file was addedclang/test/CXX/expr/expr.prim/expr.prim.id/p3.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was removedclang/test/CXX/concepts-ts/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/lit.cfg.py
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was addedclang/test/PCH/cxx2a-concept-specialization-expr.cpp
The file was modifiedclang/lib/AST/StmtPrinter.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p1.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p6.cpp
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngine.cpp
The file was removedclang/test/CXX/concepts-ts/dcl.dcl/dcl.spec/dcl.spec.concept/p2.cpp
The file was modifiedclang/test/Parser/cxx2a-concept-declaration.cpp
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/tools/libclang/CXCursor.cpp
The file was modifiedclang/lib/AST/ExprClassification.cpp
The file was modifiedclang/lib/Sema/CMakeLists.txt
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
Commit 0cdf478955156b64467627a49accaff793580ea7 by llvmgnsyncbot
gn build: Merge r374903
llvm-svn: 374904
The file was modifiedllvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Commit 263eb368694228efc155f1140779b561d1c34db4 by Adrian Prantl
Skip PExpect tests under ASAN, I can't get them to work reliably.
llvm-svn: 374905
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/multiline-completion/TestMultilineCompletion.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
Commit b459be1025140e7db52de236dc91a83a3e4333d0 by Adrian Prantl
Increase gdbremote_testcase timeouts when running under ASAN.
llvm-svn: 374906
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Commit 84423bd4396b14d5beb156807377f85d347e68b3 by saar
[Concepts] Remove unused and illegal Sema includes from ExprCXX.cpp
Fixing accidental includes introduced in 374903
llvm-svn: 374907
The file was modifiedclang/lib/AST/ExprCXX.cpp
Commit 6e8599d939791c3751509c5ceebc29e78b61ac57 by Stanislav.Mekhanoshin
[AMDGPU] Allow DPP combiner to work with REG_SEQUENCE
Differential Revision: https://reviews.llvm.org/D68828
llvm-svn: 374908
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.mir
The file was modifiedllvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
Commit 034badb312bedfee9e81a933ad3ef7f0a1d8853d by dmitry.mikulin
CFI: wrong type passed to llvm.type.test with multiple inheritance
devirtualization.
Differential Revision: https://reviews.llvm.org/D67985
llvm-svn: 374909
The file was addedcompiler-rt/test/cfi/multiple-inheritance2.cpp
The file was modifiedclang/lib/CodeGen/CGExprCXX.cpp
The file was addedclang/test/CodeGenCXX/cfi-multiple-inheritance.cpp
Commit 1184c27fa586f8fe713921150146d433aae969ff by Stanislav.Mekhanoshin
[AMDGPU] Support mov dpp with 64 bit operands
We define mov/update dpp intrinsics as overloaded but do not support
i64, which is a practically useful type. Fix the selection and lowering.
Differential Revision: https://reviews.llvm.org/D68673
llvm-svn: 374910
The file was modifiedllvm/lib/Target/AMDGPU/SIInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.mov.dpp.ll
The file was modifiedllvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.mir
Commit d9b553ec9961e95740535d3aeff62817f867767f by lawrence_danna
SBFile::GetFile: convert SBFile back into python native files.
Summary: This makes SBFile::GetFile public and adds a SWIG typemap to
convert the result back into a python native file.
If the underlying File itself came from a python file, it is returned
identically.   Otherwise a new python file object is created using the
file descriptor.
Reviewers: JDevlieghere, jasonmolenda, labath
Reviewed By: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68737
llvm-svn: 374911
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
The file was modifiedlldb/source/Host/common/File.cpp
The file was modifiedlldb/include/lldb/API/SBFile.h
The file was modifiedlldb/scripts/interface/SBFile.i
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
The file was modifiedlldb/include/lldb/Host/File.h
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py
The file was modifiedlldb/scripts/Python/python-typemaps.swig
The file was modifiedlldb/source/API/SBFile.cpp
Commit 311dbb1bd7c2933e8c1f5317aa9ef8715b4fae3c by lawrence_danna
convert SBDebugger::***FileHandle() wrappers to native files.
Summary: This patch converts the swig wrappers for SetInputFileHandle()
and friends to emulate the old behavior using SetInputFile().
This will clear the way for deleting the FILE* typemaps altogether.
Reviewers: JDevlieghere, jasonmolenda, labath
Reviewed By: labath
Subscribers: mehdi_amini, dexonsmith, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68856
llvm-svn: 374912
The file was modifiedlldb/scripts/interface/SBDebugger.i
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py
Commit 1ab27c74d4b183454e2b7ab74c42a39f7c02cab4 by jrtc27
[lld][WebAssembly] Fix static linking of -fPIC code with external
undefined data
Reviewers: ruiu, sbc100
Reviewed By: sbc100
Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68991
llvm-svn: 374913
The file was modifiedlld/test/wasm/pic-static.ll
The file was modifiedlld/wasm/SyntheticSections.cpp
Commit 41ca91f2995b2dab915c1c1001adc0a26d74bf6e by digger.llvm
[AIX][XCOFF] Output XCOFF object text section header and symbol entry
for program code.
SUMMARY Original form of this patch is provided by Stefan Pintillie.
The patch try to output program code section header , symbol entry for
program code (PR) and Instruction into the raw text section. The patch
include how to alignment and layout the CSection in the text section.
The patch also reorganize the code , put some codes into a
function(XCOFFObjectWriter::writeSymbolTableEntryForControlSection)
Additional: We can not add raw data of text section test in the patch,
If want to output raw text section data,it need a function description
patch first.
Reviewers: hubert.reinterpretcast, sfertile, jasonliu, xingxue.
Subscribers: wuzish, nemanjai, hiraditya, MaskRay, jsjji.
Differential Revision: https://reviews.llvm.org/D66969
llvm-svn: 374914
The file was addedllvm/test/CodeGen/PowerPC/aix-return55.ll
Commit e409f12131905a07e9286c0e191af9978e43b893 by Vedant Kumar
[llvm-profdata] Remove
tools/llvm-profdata/malformed-ptr-to-counter-array.test
This test is still failing on the ARM bots and I need time to
investigate.
llvm-svn: 374915
The file was removedllvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
Commit d3bd5b3d71ae9fc3a3a45e05d5dba6b1ecbcb2f5 by lawrence_danna
eliminate virtual methods from PythonDataObjects
Summary: This patch eliminates a bunch of boilerplate from
PythonDataObjects, as well as the use of virtual methods. In my opinion
it also makes the Reset logic a lot more clear and easy to follow.   The
price is yet another template.   I think it's worth it.
Reviewers: JDevlieghere, jasonmolenda, labath, zturner
Reviewed By: JDevlieghere, labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68918
llvm-svn: 374916
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
Commit 0b9981b180ef2f08d2a97cfda2fb6ca35ad5e93c by Jonas Devlieghere
[VirtualFileSystem] Support virtual working directory in the 
RedirectingFS
Before this patch, changing the working directory of the RedirectingFS
would just forward to its external file system. This prevented us from
having a working directory that only existed in the VFS mapping.
This patch adds support for a virtual working directory in the
RedirectingFileSystem. It now keeps track of its own WD in addition to
updating the WD of the external file system. This ensures that we can
still fall through for relative paths.
This change was originally motivated by the reproducer infrastructure in
LLDB where we want to deal transparently with relative paths.
Differential revision: https://reviews.llvm.org/D65677
llvm-svn: 374917
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
Commit 35c8af1850667b284829a329568ad90f9615e630 by asbirlea
[MemorySSA] Update DomTree before applying MSSA updates.
Update on the fix in rL374850.
llvm-svn: 374918
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Commit d69d1aa131b4cf339bfac116e50da33a5f94b861 by jonathanchesterfield
[libomptarget][nfc] Make interface.h target independent
Summary:
[libomptarget][nfc] Make interface.h target independent
Move interface.h under a top level include directory. Remove #includes
to avoid the interface depending on the implementation.
Reviewers: ABataev, jdoerfert, grokos, ronlieb, RaviNarayanaswamy
Reviewed By: jdoerfert
Subscribers: mgorny, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D68615
llvm-svn: 374919
The file was addedopenmp/libomptarget/deviceRTLs/nvptx/src/nvptx_interface.h
The file was addedopenmp/libomptarget/deviceRTLs/interface.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/option.h
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/src/target_impl.h
The file was removedopenmp/libomptarget/deviceRTLs/nvptx/src/interface.h
Commit 3de89f3416bfa78079136ea6566c8f82b1b64292 by asbirlea
[NewGVN] Check that call has an access.
Check that a call has an attached MemoryAccess before calling
getClobbering on the instruction. If no access is attached, the
instruction does not access memory.
Resolves PR43441.
llvm-svn: 374920
The file was addedllvm/test/Transforms/NewGVN/pr43441.ll
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
Commit 27c7a9b157555e53fb3887e87a492f74fa8bcc56 by aaron
Add more information to JSON AST dumping of source locations.
This adds information about the offset within the source file to the
given source location as well as information about the include file a
location is from. These pieces of information allow for more efficient
post-processing of JSON AST dumps.
llvm-svn: 374921
The file was addedclang/test/AST/Inputs/json-dump-include.h
The file was modifiedclang/test/AST/multistep-explicit-cast-json.cpp
The file was modifiedclang/test/AST/ast-dump-comment-json.cpp
The file was modifiedclang/test/AST/ast-dump-if-json.cpp
The file was modifiedclang/test/AST/ast-dump-stmt-json.c
The file was modifiedclang/lib/AST/JSONNodeDumper.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.m
The file was modifiedclang/include/clang/AST/JSONNodeDumper.h
The file was modifiedclang/test/AST/ast-dump-macro-json.c
The file was modifiedclang/test/AST/multistep-explicit-cast-json.c
The file was modifiedclang/test/AST/ast-dump-enum-json.cpp
The file was modifiedclang/test/AST/ast-dump-decl-json.c
The file was modifiedclang/test/AST/ast-dump-record-definition-data-json.cpp
The file was modifiedclang/test/AST/ast-dump-temporaries-json.cpp
The file was modifiedclang/test/AST/ast-dump-decl-context-json.cpp
The file was modifiedclang/test/AST/gen_ast_dump_json_test.py
The file was modifiedclang/test/AST/ast-dump-namespace-json.cpp
The file was modifiedclang/test/AST/ast-dump-types-json.cpp
The file was modifiedclang/test/AST/ast-dump-records-json.cpp
The file was modifiedclang/test/AST/ast-dump-funcs-json.cpp
The file was modifiedclang/test/AST/ast-dump-expr-json.c
The file was modifiedclang/test/AST/ast-dump-template-decls-json.cpp
The file was modifiedclang/test/AST/ast-dump-stmt-json.cpp
The file was modifiedclang/test/AST/ast-dump-decl-json.m
The file was modifiedclang/test/AST/ast-dump-expr-json.cpp
The file was modifiedclang/test/AST/ast-dump-stmt-json.m
Commit 59390efef2599a268f2249f7d3f80111952d53ff by dave
[X86] Make memcmp() use PTEST if possible and also enable AVX1
llvm-svn: 374922
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/memcmp-optsize.ll
The file was modifiedllvm/test/CodeGen/X86/memcmp.ll
The file was modifiedllvm/test/CodeGen/X86/setcc-wide-types.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/memcmp-minsize.ll
Commit fdfd6ab12e5e2ad3f6641a3b4442b3140212d29b by digger.llvm
[XCOFF] Output object text section header and symbol entry for program
code.
This is remaining part of  rG41ca91f2995b: [AIX][XCOFF] Output XCOFF
object text section header and symbol entry for rogram code.
SUMMARY: Original form of this patch is provided by Stefan Pintillie.
1. The patch try to output program code section header , symbol entry
for
program code (PR) and Instruction into the raw text section. 2. The
patch include how to alignment and layout the CSection in the text
section. 3. The patch also reorganize the code , put some codes into a
function.
(XCOFFObjectWriter::writeSymbolTableEntryForControlSection)
Additional: We can not add raw data of text section test in the patch,
If want
to output raw text section data,it need a function description patch
first.
Reviewers: hubert.reinterpretcast, sfertile, jasonliu, xingxue.
Subscribers: wuzish, nemanjai, hiraditya, MaskRay, jsjji.
Differential Revision: https://reviews.llvm.org/D66969
llvm-svn: 374923
The file was modifiedllvm/lib/MC/MCXCOFFStreamer.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-lcomm.ll
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-common.ll
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
The file was modifiedllvm/include/llvm/MC/MCSectionXCOFF.h
Commit 30cf609548d9379178ef618d9c8790459221ed22 by lawrence_danna
remove FILE* usage from SBStream.i
Summary: This patch removes FILE* and replaces it with SBFile and FileSP
the SWIG interface for `SBStream.i`.   And this is the last one.   With
this change, nothing in the python API will can access a FILE* method on
the C++ side.
Reviewers: JDevlieghere, jasonmolenda, labath
Reviewed By: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68960
llvm-svn: 374924
The file was modifiedlldb/source/API/SBStream.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py
The file was modifiedlldb/include/lldb/API/SBStream.h
The file was modifiedlldb/scripts/interface/SBStream.i
Commit c1157d1e77c30f9431e09e599afbb788d5894910 by sivachandra
[libc] Do not add unittests if LLVM_INCLUDE_TESTS is OFF.
Reviewers: nathanchance
Subscribers: mgorny, tschuett, libc-commits
Tags: #libc-project
Differential Revision: https://reviews.llvm.org/D68726
llvm-svn: 374925
The file was modifiedlibc/cmake/modules/LLVMLibCRules.cmake
Commit f8907fa6f4b77b5daddb796d16cceca64e3f7cbe by Jan Korous
Reland [Driver] Fix -working-directory issues
Don't change the default VFS in Driver, update tests & reland.
This reverts commit 999f8a7416f8edc54ef92e715fd23c532bcc74d4.
llvm-svn: 374926
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/test/Driver/gen-cdb-fragment.c
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/test/Driver/working-directory.c
Commit c7ec51a7c3ede8c1024b90d5fdc91979a9f01bf8 by Vedant Kumar
[llvm-profdata] Reinstate
tools/llvm-profdata/malformed-ptr-to-counter-array.test
I removed this test to unblock the ARM bots while looking into failures
(r374915), and am reinstating it now with a fix.
I believe the problem was that counter ptr address I used,
'\0\0\6\0\1\0\0\1', set the high bits of the pointer, not the low bits
like I wanted. On x86_64 this superficially looks like it tests r370826,
but it doesn't, as it would have been caught before r370826. However, on
ARM (or, 32-bit hosts more generally), I suspect the high bits were
cleared, and you get a 'valid' profile.
I verified that setting the *low* bits of the pointer does trigger the
new condition:
-// Note: The CounterPtr here is off-by-one. This should trigger a
malformed profile error.
-RUN: printf '\0\0\6\0\1\0\0\1' >> %t.profraw
+// Note: The CounterPtr here is off-by-one.
+//
+// Octal '\11' is 9 in decimal: this should push CounterOffset to 1. As
there are two counters,
+// the profile reader should error out.
+RUN: printf '\11\0\6\0\1\0\0\0' >> %t.profraw
This reverts commit c7cf5b3e4b918c9769fd760f28485b8d943ed968.
llvm-svn: 374927
The file was addedllvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
Commit 50dc09dd1640f9d0e16f7c1351f068f3f0711db2 by llvm-dev
[X86] combineX86ShufflesRecursively - split the getTargetShuffleInputs
call from the resolveTargetShuffleAndZeroables call.
Exposes an issue in getFauxShuffleMask where the OR(SHUFFLE,SHUFFLE)
decode should always resolve zero/undef elements.
Part of the fix for PR43024 where ideally we shouldn't call
resolveTargetShuffleAndZeroables for Depth == 0
llvm-svn: 374928
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9e49adc97574ca777e7ab8ec90a88a8b68ca1558 by Jan Korous
Fix Driver/working-directory.c test
Accidentally committed debug print.
llvm-svn: 374929
The file was modifiedclang/test/Driver/working-directory.c
Commit 621ce3790ba254256222addad60d818cb90ac831 by Jonas Devlieghere
[test] Update YAML mapping in VirtualFileSystemTest
The 'bar' directory should be part of the root rather than the file
itself.
llvm-svn: 374930
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
Commit eb501b1fc17783f548e7d337521161cbd9ff7ddd by rupprecht
[llvm-objdump] Use a counter for llvm-objdump -h instead of the section
index.
Summary: When listing the index in `llvm-objdump -h`, use a zero-based
counter instead of the actual section index (e.g. shdr->sh_index for
ELF).
While this is effectively a noop for now (except one unit test for
XCOFF), the index values will change in a future patch that filters
certain sections out (e.g. symbol tables). See D68669 for more context.
Note: the test case in `test/tools/llvm-objdump/X86/section-index.s`
already covers the case of incrementing the section index counter when
sections are skipped.
Reviewers: grimar, jhenderson, espindola
Reviewed By: grimar
Subscribers: emaste, sbc100, arichardson, aheejin, arphaman, seiya,
llvm-commits, MaskRay
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68848
llvm-svn: 374931
The file was modifiedllvm/test/tools/llvm-objdump/xcoff-section-headers.test
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.h
Commit 0650355c09ab8e6605ae37b818270a7a7c8ce2c7 by caij2003
[clang] refactor -Wa,-W test cases.
Remove REQUIRES and only keep the clang driver tests, since the
assembler are already tested with -Wa,--no-warn. This way we could run
the test on non-linux platforms and catch breaks on them.
llvm-svn: 374932
The file was modifiedclang/test/Driver/as-w-option.c
Commit 2cb27072cefb11d5018735a3b70a903dc1d319ac by tlively
[WebAssembly] Allow multivalue types in block signature operands
Summary: Renames `ExprType` to the more apt `BlockType` and adds a
variant for multivalue blocks. Currently non-void blocks are only
generated at the end of functions where the block return type needs to
agree with the function return type, and that remains true for
multivalue blocks. That invariant means that the actual signature does
not need to be stored in the block signature `MachineOperand` because it
can be inferred by `WebAssemblyMCInstLower` from the return type of the
parent function. `WebAssemblyMCInstLower` continues to lower block
signature operands to immediates when possible but lowers multivalue
signatures to function type symbols. The AsmParser and Disassembler are
updated to handle multivalue block types as well.
Reviewers: aheejin, dschuff, aardappel
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68889
llvm-svn: 374933
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
The file was modifiedllvm/test/MC/Disassembler/WebAssembly/wasm-error.txt
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
The file was modifiedllvm/tools/llvm-mc/llvm-mc.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/multivalue.ll
The file was modifiedllvm/tools/llvm-mc/Disassembler.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modifiedllvm/tools/llvm-mc/Disassembler.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.h
The file was modifiedllvm/lib/Target/WebAssembly/Disassembler/LLVMBuild.txt
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
The file was modifiedllvm/test/MC/WebAssembly/basic-assembly.s
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
Commit f14642f2f185f9af290f9fcace4851adbbe16432 by dmitry.mikulin
Added support for "#pragma clang section relro=<name>"
Differential Revision: https://reviews.llvm.org/D68806
llvm-svn: 374934
The file was modifiedllvm/include/llvm/IR/GlobalVariable.h
The file was addedllvm/test/MC/ELF/section-relro.ll
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/Parse/ParsePragma.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/test/Sema/pragma-clang-section.c
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/Target/TargetLoweringObjectFile.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/CodeGenCXX/clang-sections.cpp
The file was modifiedclang/lib/Sema/SemaAttr.cpp
Commit 409b4b5fb39efc775762f3391062d2258c073add by Jonas Devlieghere
Revert "[VirtualFileSystem] Support virtual working directory in the 
RedirectingFS"
This reverts the original commit and the follow up:
Revert "[VirtualFileSystem] Support virtual working directory in the
RedirectingFS" Revert "[test] Update YAML mapping in
VirtualFileSystemTest"
llvm-svn: 374935
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
Commit 215a8d948d6600dcbfd68dfc8d5331a86b1d5591 by rnk
Fix as-w-option.c on Windows where no assembler exists
llvm-svn: 374936
The file was modifiedclang/test/Driver/as-w-option.c
Commit 5836c356fa6e17d0e10a2f9e0e111b7236dc15fb by serguei.n.dmitriev
[Clang][OpenMP Offload] Move offload registration code to the wrapper
The final list of OpenMP offload targets becomes known only at the link
time and since offload registration code depends on the targets list it
makes sense to delay offload registration code generation to the link
time instead of adding it to the host part of every fat object. This
patch moves offload registration code generation from clang to the
offload wrapper tool.
This is the last part of the OpenMP linker script elimination patch
https://reviews.llvm.org/D64943
Differential Revision: https://reviews.llvm.org/D68746
llvm-svn: 374937
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen_registration.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_num_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/openmp_offload_registration.cpp
The file was modifiedclang/test/OpenMP/target_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_thread_limit_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_parallel_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_simd_depend_codegen.cpp
The file was modifiedclang/tools/clang-offload-wrapper/ClangOffloadWrapper.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_codegen.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/OpenMP/target_simd_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp
The file was modifiedclang/test/Driver/clang-offload-wrapper.c
The file was modifiedclang/test/OpenMP/target_teams_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_codegen_registration.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/OpenMP/target_simd_codegen.cpp
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_codegen_registration.cpp
The file was modifiedclang/test/OpenMP/target_depend_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.h
The file was modifiedclang/test/OpenMP/target_parallel_for_simd_codegen.cpp
Commit 0330fba6e16db9b5d2079313646f93485c5ccf39 by saar
[Concept] Associated Constraints Infrastructure
Add code to correctly calculate the associated constraints of a template
(no enforcement yet). D41284 on Phabricator.
llvm-svn: 374938
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/include/clang/AST/DeclTemplate.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/test/CXX/temp/temp.constr/temp.constr.decl/class-template-decl.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.decl/var-template-decl.cpp
The file was modifiedclang/lib/AST/DeclTemplate.cpp
The file was addedclang/test/CXX/temp/concept/p4.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was addedclang/test/CXX/temp/temp.constr/temp.constr.decl/func-template-decl.cpp
The file was modifiedclang/include/clang/AST/ASTNodeTraverser.h
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
Commit 190dacc3cc206fa90a44e2f4aa6b56c327d1942a by tlively
[WebAssembly] Elide data segments for .bss sections
Summary: WebAssembly memories are zero-initialized, so when module does
not import its memory initializing .bss sections is guaranteed to be a
no-op. To reduce binary size and initialization time, .bss sections are
simply not emitted into the final binary unless the memory is imported.
Reviewers: sbc100
Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68965
llvm-svn: 374940
The file was addedlld/test/wasm/bss-only.ll
The file was modifiedlld/test/wasm/custom-section-name.ll
The file was modifiedlld/test/wasm/data-segments.ll
The file was modifiedlld/test/wasm/Inputs/locals-duplicate1.ll
The file was modifiedlld/wasm/SyntheticSections.h
The file was modifiedlld/wasm/SyntheticSections.cpp
The file was modifiedlld/test/wasm/locals-duplicate.test
The file was modifiedlld/wasm/OutputSegment.h
The file was modifiedlld/test/wasm/Inputs/locals-duplicate2.ll
The file was modifiedlld/test/wasm/data-layout.ll
The file was modifiedlld/wasm/OutputSections.cpp
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedlld/wasm/OutputSections.h
Commit 1875dcc47887b2ba582e26b7014ba1eaa82ea1de by digger.llvm
[llvm-readobj][xcoff] implement parsing overflow section header.
SUMMARY: in the xcoff, if the number of relocation entries or line
number entries is overflow(large than or equal 65535) , there will be
overflow section for it. The interpret of overflow section is different
with generic section header, the patch implement parsing the overflow
section.
Reviewers: hubert.reinterpretcast,sfertile,jasonliu Subscribers:
rupprecht, seiya
Differential Revision: https://reviews.llvm.org/D68575
llvm-svn: 374941
The file was modifiedllvm/tools/llvm-readobj/XCOFFDumper.cpp
The file was addedllvm/test/tools/llvm-readobj/Inputs/xcoff-reloc-overflow.o
The file was addedllvm/test/tools/llvm-readobj/xcoff-overflow-section.test
Commit 3a842ec3ca4dffc1f8da88121c239b6dbb2209f0 by a.bataev
[OPENMP]Allow final clause in combined task-based directives. The
condition of the final clause must be captured in the combined
task-based directives, like 'parallel master taskloop' directive.
llvm-svn: 374942
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_codegen.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_ast_print.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/AST/StmtProfile.cpp
Commit d498d606b98179f96b33683e296f8c09568028bd by a.bataev
[OPENMP]Fix comments/params, NFC.
llvm-svn: 374943
The file was modifiedclang/include/clang/AST/OpenMPClause.h
Commit 527e9f9a3f939b2fdb296da9e0e7bbe79b8f4a44 by Austin.Kerbow
AMDGPU: Fix infinite searches in SIFixSGPRCopies
Summary: Two conditions could lead to infinite loops when processing PHI
nodes in SIFixSGPRCopies.
The first condition involves a REG_SEQUENCE that uses registers defined
by both a PHI and a COPY.
The second condition arises when a physical register is copied to a
virtual register which is then used in a PHI node. If the same virtual
register is copied to the same physical register, the result is an
endless loop.
%0:sgpr_64 = COPY $sgpr0_sgpr1
%2 = PHI %0, %bb.0, %1, %bb.1
$sgpr0_sgpr1 = COPY %0
Reviewers: alex-t, rampitec, arsenm
Reviewed By: rampitec
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr,
t-tye, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68970
llvm-svn: 374944
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/fix-sgpr-copies.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
Commit 4f2f9c00b978e45a0bb4c229912359e84ad6af11 by shal1t712
[llvm-lipo] Add missing cast
Add missing cast (to correctly sum 32-bit integers).
Test plan: make check-all
llvm-svn: 374945
The file was modifiedllvm/tools/llvm-lipo/llvm-lipo.cpp
Commit 34d4bff3d6d7cc521b06679536b0273c00bb0b3b by digger.llvm
[XCOFF]implement parsing relocation information for 32-bit xcoff object
file
Summary:
   Parsing the relocation entry information for 32-bit xcoff object file
including deal with the relocation overflow.
Reviewers: hubert.reinterpretcast, jasonliu, sfertile, xingxue.
Subscribers: hiraditya, rupprecht, seiya
Differential Revision: https://reviews.llvm.org/D67008
llvm-svn: 374946
The file was modifiedllvm/test/tools/llvm-readobj/xcoff-basic.test
The file was modifiedllvm/include/llvm/Object/XCOFFObjectFile.h
The file was addedllvm/test/tools/llvm-readobj/reloc_overflow.test
The file was modifiedllvm/tools/llvm-readobj/XCOFFDumper.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/XCOFF.h
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
Commit 74b285eee7288500f6041c0fa49413c8ead217f4 by jlettner
[lit] Add back LitTestCase
This essentially reverts a commit [1] that removed the adaptor for
Python unittests.  The code has been slightly refactored to make it more
additive: all code is contained in LitTestCase.py.
Usage sites will require a small adaption:
```
[old]
import lit.discovery
...
test_suite = lit.discovery.load_test_suite(...)
[new]
import lit.LitTestCase
...
test_suite = lit.LitTestCase.load_test_suite(...)
```
This was put back on request by Daniel Dunbar, since I wrongly assumed
that the functionality is unused.  At least llbuild still uses this [2].
[1] 70ca752ccf6a8f362aea25ccd3ee2bbceca93b20
[2]
https://github.com/apple/swift-llbuild/blob/master/utils/Xcode/LitXCTestAdaptor/LitTests.py#L16
Reviewed By: ddunbar
Differential Revision: https://reviews.llvm.org/D69002
llvm-svn: 374947
The file was addedllvm/utils/lit/lit/LitTestCase.py
The file was addedllvm/utils/lit/tests/Inputs/unittest-adaptor/lit.cfg
The file was addedllvm/utils/lit/tests/unittest-adaptor.py
The file was addedllvm/utils/lit/tests/Inputs/unittest-adaptor/test-one.txt
The file was addedllvm/utils/lit/tests/Inputs/unittest-adaptor/test-two.txt
Commit c85d0aaa2a6db5e71dddd76f9c380d8b786c5c9e by Lang Hames
[JITLink] Switch to slab allocation for InProcessMemoryManager,
re-enable test.
InProcessMemoryManager used to make separate memory allocation calls for
each permission level (RW, RX, RO), which could lead to
target-out-of-range errors if data and code were placed too far apart
(this was the source of failures in the JITLink/AArch64 testcase when it
was first landed).
This patch updates InProcessMemoryManager to allocate a single slab
which is subdivided between text and data. This should guarantee that
accesses remain in-range provided that individual object files do not
exceed 1Mb in size. This patch also re-enables the JITLink/AArch64
testcase.
llvm-svn: 374948
The file was modifiedllvm/test/ExecutionEngine/JITLink/AArch64/lit.local.cfg
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLinkMemoryManager.cpp
Commit 75b991ebdf85f2a7a8914abbc2a1bbf2071ab786 by d4m1887
[Docs] Updates sidebar links and sets max-width property for div.body
Updates the sidebar links for Getting Started. Also sets max-width on
div.body to 1000px.
llvm-svn: 374949
The file was modifiedllvm/docs/_themes/llvm-theme/static/llvm-theme.css
The file was modifiedllvm/docs/_templates/indexsidebar.html
Commit a98546ebcd2a692e0634c5b1a7e77471316ab6e0 by Lang Hames
[Orc] Add a method for ObjectLinkingLayer to return ownership of object
buffers.
RTDyldObjectLinkingLayer allowed clients to register a NotifyEmitted
function to reclaim ownership of object buffers once they had been
linked. This patch adds similar functionality to ObjectLinkingLayer:
Clients can now optionally call the
ObjectLinkingLayer::setReturnObjectBuffer method to register a function
that will be called when discarding object buffers. If set, this
function will be called to return ownership of the object regardless of
whether the link succeeded or failed.
Use cases for this function include debug dumping (it provides a way to
dump all objects linked into JIT'd code) and object re-use (e.g. storing
an object in a cache).
llvm-svn: 374951
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h
Commit 666f977166541f1c71f64357a3157c56ecec8faf by richard-llvm
Remove unnecessary and inappropriate forward-declaration of Sema from
AST.
llvm-svn: 374952
The file was modifiedclang/include/clang/AST/ExprCXX.h
Commit 208e9c01fc094cedbcf47f39a902cff13dce0039 by hhb
[lldb] Creates _liblldb symlink from cmake
Summary: This is another attempt of D67993.
This change removed hard coded relative paths. This way we can generate
correct result when get_python_lib() returns a different path, or
LLDB_PYTHON_RELATIVE_PATH is specified directly.
By moving things out of python, we are also able to correctly process
more cross compile situations. E.g. .pyd vs .so for Windows.
Subscribers: lldb-commits, mgorny
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68858
llvm-svn: 374953
The file was modifiedlldb/CMakeLists.txt
The file was modifiedlldb/scripts/Python/finishSwigPythonLLDB.py
Commit 61dadfc894c566ce0af6163159ba0ba76d8007ad by richard-llvm
PR43674: fix incorrect constant evaluation of 'switch' where no case
label corresponds to the condition.
llvm-svn: 374954
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx1y.cpp
Commit 21703543a77dfae0e7a4dc45d4c3c4eed0308953 by Jonas Devlieghere
[Reland][VirtualFileSystem] Support virtual working directory in the
RedirectingFS
Before this patch, changing the working directory of the RedirectingFS
would just forward to its external file system. This prevented us from
having a working directory that only existed in the VFS mapping.
This patch adds support for a virtual working directory in the
RedirectingFileSystem. It now keeps track of its own WD in addition to
updating the WD of the external file system. This ensures that we can
still fall through for relative paths.
This change was originally motivated by the reproducer infrastructure in
LLDB where we want to deal transparently with relative paths.
Differential revision: https://reviews.llvm.org/D65677
llvm-svn: 374955
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
Commit 20c692a44555dc6e4ffee66a874e63c382e925df by Jonas Devlieghere
[dsymutil] Support and relocate base address selection entries for
debug_loc
Since r374600 clang emits base address selection entries. Currently
dsymutil does not support these entries and incorrectly interprets them
as location list entries.
This patch adds support for base address selection entries in dsymutil
and makes sure they are relocated correctly.
Thanks to Dave for coming up with the test case!
Differential revision: https://reviews.llvm.org/D69005
llvm-svn: 374957
The file was addedllvm/test/tools/dsymutil/Inputs/private/tmp/baseaddr/loc1.o
The file was addedllvm/test/tools/dsymutil/X86/debug-loc-base-addr.test
The file was addedllvm/test/tools/dsymutil/Inputs/private/tmp/baseaddr/loc1.x86_64
The file was modifiedllvm/tools/dsymutil/DwarfStreamer.cpp
Commit 4d1ecadda59ce82e5fa6e28dd15bf794eee88363 by jlettner
[ASan] Refine diagnoses messages
The provided PC is not reliable in every case, so don't suggest
something that does not make sense.
llvm-svn: 374959
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
Commit a3378063ff6c65a2335a5eca42858b2a968c1094 by dlj
Fix an unused variable introduced in rL374955 / rG21703543.
Even though this is a unit test, it still may be run under optimization.
llvm-svn: 374961
The file was modifiedllvm/unittests/Support/VirtualFileSystemTest.cpp
Commit 8bb47cd8c30c29d064cefe2b69510160535727ae by yitzhakm
[libTooling] Put all Transformer declarations in a single namespace.
Summary: This revision introduces a new namespace, `clang::transformer`,
to hold the declarations for the Transformer library.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68876
llvm-svn: 374962
The file was modifiedclang/include/clang/Tooling/Transformer/MatchConsumer.h
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
The file was modifiedclang/lib/Tooling/Transformer/RangeSelector.cpp
The file was modifiedclang/unittests/Tooling/StencilTest.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/RangeSelector.h
The file was modifiedclang/unittests/Tooling/RangeSelectorTest.cpp
The file was modifiedclang/lib/Tooling/Transformer/Transformer.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/RewriteRule.h
The file was modifiedclang/lib/Tooling/Transformer/Stencil.cpp
The file was modifiedclang/lib/Tooling/Transformer/RewriteRule.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/Stencil.h
The file was modifiedclang/include/clang/Tooling/Transformer/Transformer.h
Commit 9d10b9d99b4d93114eb5d879878fcbb70f2d5b75 by hiraditya
CodeExtractor: NFC: Use Range based loop
Reviewers: vsk, tejohnson, fhahn
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68924
llvm-svn: 374963
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
Commit b07823f3e2da9b1c6f1866bf1725cfff5eea5b48 by lawrence_danna
update ScriptInterpreterPython to use File, not FILE*
Summary: ScriptInterpreterPython needs to save and restore sys.stdout
and friends when LLDB runs a python script.
It currently does this using FILE*, which is not optimal.  If whatever
was in sys.stdout can not be represented as a FILE*, then it will not be
restored correctly when the script is finished.
It also means that if the debugger's own output stream is not
representable as a file, ScriptInterpreterPython will not be able to
redirect python's  output correctly.
This patch updates ScriptInterpreterPython to represent files with
lldb_private::File, and to represent whatever the user had in sys.stdout
as simply a PythonObject.
This will make lldb interoperate better with other scripts or programs
that need to manipulate sys.stdout.
Reviewers: JDevlieghere, jasonmolenda, labath
Reviewed By: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68962
llvm-svn: 374964
The file was modifiedlldb/source/Core/Debugger.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/file_handle/TestFileHandle.py
Commit ecc4680c06999828e0f9e9b576164a9ebee735d0 by jlettner
Revert "[ASan] Refine diagnoses messages"
This reverts commit 4d1ecadda59ce82e5fa6e28dd15bf794eee88363.
llvm-svn: 374965
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
Commit 5e34ad109ced8dbdea9500ee28180315b2aeba3d by saar
[Concepts] ConceptSpecializationExprs mangling
Implement mangling for CSEs to match regular template-ids. Reviewed as
part of D41569.
llvm-svn: 374967
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was addedclang/test/CodeGenCXX/mangle-concept.cpp
Commit 8200dbbcae933e79682b0f50f344befd3890c882 by rprichard
[libunwind][Android] Improve workaround for PIE zero-dlpi_addr bug
Summary: The workaround added in https://reviews.llvm.org/rL299575
appears to be working around a bug in Android JB 4.1.x and 4.2.x (API 16
and 17).
Starting in API 16, Android added support for PIE binaries, but the
dynamic linker failed to initialize dlpi_addr to the address that the
executable was loaded at. The bug was fixed in Android JB 4.3.x (API
18).
Improve the true load bias calculation:
* The code was assuming that the first segment would be the PT_PHDR
  segment. I think it's better to be explicit and search for PT_PHDR.
(It
  will be almost as fast in practice.)
* It's more correct to use p_vaddr rather than p_offset. If a PIE
  executable is linked with a non-zero image base (e.g. lld's
  -Wl,--image-base=xxxx), then we must use p_vaddr here.
The "phdr->p_vaddr < image_base" condition seems unnecessary and maybe
slightly wrong. If the OS were to load a binary at an address smaller
than a vaddr in the binary, we would still want to do this workaround.
The workaround is safe when the linker bug isn't present, because it
should calculate an image_base equal to dlpi_addr. Note that with API 21
and up, this workaround should never activate for dynamically-linked
objects, because non-PIE executables aren't allowed.
Consolidate the fix into a single block of code that calculates the true
image base, and make it clear that the fix no longer applies after API
18.
See https://github.com/android/ndk/issues/505 for details.
Reviewers: mclow.lists, srhines, danalbert, compnerd
Reviewed By: compnerd
Subscribers: srhines, krytarowski, christof, libcxx-commits
Tags: #libc
Differential Revision: https://reviews.llvm.org/D68971
llvm-svn: 374969
The file was modifiedlibunwind/src/AddressSpace.hpp
Commit 7b49e8ac359bc35f95af548fbed4b7afd625caab by craig.topper
[LegalizeTypes] Don't call PromoteTargetBoolean from SplitVecOp_VSETCC.
PromoteTargetBoolean calls getSetccResultType to get the return type.
But we were passing it the setcc result type rather than the setcc input
type. This causes an issue on X86 with avx512vl where the setcc result
type for vXf16 vectors is vXi16 while the result type for vXi16 vectors
is vXi1.
There's really no guarantee that getSetccResultType is the type we need
here. So now we just grab the extend type from getExtendForContent and
extend to the original result VT of the node we're splitting.
llvm-svn: 374970
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-vec-cmp.ll
Commit 1e3e77e0b689fc3d2eab48d3a5179d6fed1941eb by saar
Fix failing mangle-concept.cpp test.
llvm-svn: 374971
The file was modifiedclang/test/CodeGenCXX/mangle-concept.cpp
Commit 8995daafa0499821ea270c9d0dc0ef96ffa54968 by craig.topper
[LegalizeTypes] Don't use PromoteTargetBoolean in WidenVecOp_SETCC.
Similar to r374970, but I don't have a test for this.
PromoteTargetBoolean is intended to be use for legalizing an operand
that needs to be promoted. It picks its type based on the return from
getSetccResultType and is intended to be used when we have freedom to
pick the new type. But the return type we need for WidenVecOp_SETCC is
completely determined by the type of the input node.
llvm-svn: 374972
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit 8a5bfbe6db2824642bf9a1d27a24c5b6132b244f by dan
[CMake] Disable building all Darwin libraries (except builtins) for
macOS i386 when the SDK is >= 10.15.
Summary: In the macOS 10.15 SDK the ability to link i386 binaries was
removed and in the corresponding OS it is not possible to run macOS i386
binaries.
The consequence of these changes meant that targets like `check-asan`
would fail because:
* Unit tests could not be linked for i386
* Lit tests for i386 would fail due to not being able to execute
compiled binaries.
The simplest fix to this is to simply disable building for i386 for
macOS when using the 10.15 SDK (or newer). This disables building the
i386 slice for most compiler-rt libraries and consequently disables the
unit and lit tests for macOS i386.
Note that because the `DARWIN_osx_ARCHS` CMake variable is a cache
variable this patch will have no affect on existing builds unless the
existing cache variable is deleted. The simplest way to deal with this
is delete existing builds and just do a fresh configure.
Note this should not affect the builtins which are managed with the
`DARWIN_osx_BUILTIN_ARCHS` CMake cache variable.
For those who wish to force using a particular set of architectures when
using newer SDKs passing `-DDARWIN_osx_ARCHS=i386;x86_64;x86_64h` to
CMake should provide a usable (but completely unsupported) workaround.
rdar://problem/55668535 rdar://problem/47939978
Reviewers: kubamracek, yln, azhar, kcc, dvyukov, vitalybuka, cryptoad,
eugenis, thakis, phosek
Subscribers: mgorny, #sanitizers, llvm-commits
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D68292
llvm-svn: 374977
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTDarwinUtils.cmake
Commit 8af5ada09319e5a021d57a1a03715b2fd022e415 by orlando.hyams
[NFC] Replace a linked list in LiveDebugVariables pass with a DenseMap
In LiveDebugVariables.cpp: Prior to this patch, UserValues were grouped
into linked list chains. Each chain was the union of two sets: { A:
Matching Source variable } or
{ B: Matching virtual register }. A ptr to the heads (or 'leaders') of
each of these chains were kept in a map with the { Source variable }
used as the key (set A predicate) and another with { Virtual register }
as key
(set B predicate).
There was a search through the chains in the function getUserValue
looking for UserValues with matching { Source variable, Complex
expression, Inlined-at location }. Essentially searching for a subset of
A through two interleaved linked lists of set A and B. Importantly, by
design, the subset will only contain one or zero elements here. That is
to say a UserValue can be uniquely identified by the tuple { Source
variable, Complex expression, Inlined-at
location } if it exists.
This patch removes the linked list and instead uses a DenseMap to map
the tuple { Source variable, Complex expression, Inlined-at location }
to UserValue ptrs so that the getUserValue search predicate is this map
key. The virtual register map now maps a vreg to a SmallVector<UserVal
*> so that set B is still available for quick searches.
Reviewers: aprantl, probinson, vsk, dblaikie
Reviewed By: aprantl
Subscribers: russell.gallop, gbedwell, bjope, hiraditya, llvm-commits
Tags: #debug-info, #llvm
Differential Revision: https://reviews.llvm.org/D68816
llvm-svn: 374979
The file was modifiedllvm/lib/CodeGen/LiveDebugVariables.cpp
Commit ad763751565b9663bc338fa2ca5ade86c6ca22ec by sjoerd.meijer
[HardwareLoops] Optimisation remarks
This adds the initial plumbing to support optimisation remarks in the IR
hardware-loop pass.
I have left a todo in a comment where we can improve the reporting, and
will iterate on that now that we have this initial support in.
Differential Revision: https://reviews.llvm.org/D68579
llvm-svn: 374980
The file was modifiedllvm/lib/CodeGen/HardwareLoops.cpp
The file was modifiedllvm/test/Transforms/HardwareLoops/unconditional-latch.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/test/Transforms/HardwareLoops/ARM/structure.ll
Commit 1c3ca61294de428c93639a35afac725b7cbb1ffb by sam.parker
[ARM][ParallelDSP] Change smlad insertion order
Instead of inserting everything after the 'root' of the reduction,
insert all instructions as close to their operands as possible. This can
help reduce register pressure.
Differential Revision: https://reviews.llvm.org/D67392
llvm-svn: 374981
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/unroll-n-jam-smlad.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/exchange.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/smladx-1.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/pr43073.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/smlaldx-2.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/multi-use-loads.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/inner-full-unroll.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/smlad11.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/blocks.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/smlaldx-1.ll
The file was modifiedllvm/lib/Target/ARM/ARMParallelDSP.cpp
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/overlapping.ll
The file was modifiedllvm/test/CodeGen/ARM/ParallelDSP/complex_dot_prod.ll
Commit b62b4541216887fad9613f5b944d7dce120757b7 by usx
[clangd] Add RemoveUsingNamespace tweak.
Summary: Removes the 'using namespace' under the cursor and qualifies
all accesses in the current file. E.g.:
using namespace std;
vector<int> foo(std::map<int, int>); Would become:
std::vector<int> foo(std::map<int, int>);
Subscribers: mgorny, ilya-biryukov, MaskRay, jkorous, mgrang, arphaman,
kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68562
llvm-svn: 374982
The file was modifiedclang-tools-extra/clangd/AST.h
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
The file was addedclang-tools-extra/clangd/refactor/tweaks/RemoveUsingNamespace.cpp
The file was modifiedclang-tools-extra/clangd/AST.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp
Commit 9604624ebffcbfcf56d48381d5a15e87731b358e by llvmgnsyncbot
gn build: Merge r374982
llvm-svn: 374983
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
Commit 02baaca742f7cfb16e21bac916c427bcec2b0af5 by Piotr Sobczak
[AMDGPU] Extend the SI Load/Store optimizer
Summary: Extend the SI Load/Store optimizer to merge MIMG load
instructions. Handle different flavours of image_load and image_sample
instructions.
When the instructions of the same subclass differ only in dmask, merge
them and update dmask accordingly.
Reviewers: nhaehnle
Reviewed By: nhaehnle
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl,
dstuttard, tpr, t-tye, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D64911
llvm-svn: 374984
The file was addedllvm/test/CodeGen/AMDGPU/merge-image-load.mir
The file was addedllvm/test/CodeGen/AMDGPU/merge-image-sample.mir
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
Commit b13d257028a671439aea51f0ddd66c81134592bf by nicolasweber
Revert 374967 "[Concepts] ConceptSpecializationExprs mangling"
This reverts commit 5e34ad109ced8dbdea9500ee28180315b2aeba3d.
The mangling test fails on Windows:
http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/15944
It also fails on ppc64le:
http://lab.llvm.org:8011/builders/clang-ppc64le-linux-lnt/builds/21092
Also revert follow-up  374971 "Fix failing mangle-concept.cpp test."
(it did not help on Win/ppc64le).
llvm-svn: 374985
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was removedclang/test/CodeGenCXX/mangle-concept.cpp
Commit c598ef7f2432ab72fda58113cbe7a11a1a7e130c by llvm-dev
SimpleLoopUnswitch - fix uninitialized variable and null dereference
warnings. NFCI.
llvm-svn: 374986
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
Commit 729a2f6c2bd8a4f2254e3f8a93e8e0c5120ebd35 by llvm-dev
CGBuiltin - silence static analyzer getAs<> null dereference warnings.
NFCI.
The static analyzer is warning about potential null dereferences, but in
these cases we should be able to use castAs<> directly and if not assert
will fire for us.
llvm-svn: 374987
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
Commit cebfddc0b589037909e12308ccf8dde6a2c167f2 by llvm-dev
CGExprConstant - silence static analyzer getAs<> null dereference
warning. NFCI.
The static analyzer is warning about a potential null dereference, but
in these cases we should be able to use castAs<> directly and if not
assert will fire for us.
llvm-svn: 374988
The file was modifiedclang/lib/CodeGen/CGExprConstant.cpp
Commit cfee2efc57b27ce7eed932528e219a99f934d3ca by llvm-dev
CGDebugInfo - silence static analyzer dyn_cast<> null dereference
warnings. NFCI.
The static analyzer is warning about potential null dereferences, but in
these cases we should be able to use cast<> directly and if not assert
will fire for us.
llvm-svn: 374989
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 95b5d459a0eb18d3a563f8ef84489635d85cdecd by mikhail.maltsev
[ARM] Add a register class for GPR pairs without SP and use it. NFCI
Summary: Currently Thumb2InstrInfo.cpp uses a register class which is
auto-generated by tablegen. Such approach is fragile because
auto-generated classes might change when other register classes are
added. For example, before https://reviews.llvm.org/D62667 we were using
GPRPair_with_gsub_1_in_rGPRRegClass, but had to change it to
GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass because the former class
stopped being generated (this did not change the functionality though).
This patch adds a register class consisting of even-odd GPR register
pairs from (R0, R1) to (R10, R11), which excludes (R12, SP) and uses it
in Thumb2InstrInfo.cpp instead of
GPRPair_with_gsub_1_in_GPRwithAPSRnospRegClass.
Reviewers: ostannard, simon_tatham, dmgreen, efriedma
Reviewed By: simon_tatham
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69026
llvm-svn: 374990
The file was modifiedllvm/lib/Target/ARM/ARMRegisterInfo.td
The file was modifiedllvm/test/CodeGen/ARM/ipra-reg-usage.ll
The file was modifiedllvm/lib/Target/ARM/Thumb2InstrInfo.cpp
Commit b150494fc7b34b728024380782fcb5c26d125364 by llvm-dev
RewriteModernObjC - silence static analyzer getAs<> null dereference
warnings. NFCI.
The static analyzer is warning about potential null dereferences, but in
these cases we should be able to use castAs<> directly and if not assert
will fire for us.
llvm-svn: 374991
The file was modifiedclang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
Commit 5a131889665fadca1306e75cd463f0da320d6717 by sjoerd.meijer
Revert "[HardwareLoops] Optimisation remarks"
while I investigate the PPC build bot failures.
This reverts commit ad763751565b9663bc338fa2ca5ade86c6ca22ec.
llvm-svn: 374992
The file was modifiedllvm/lib/CodeGen/HardwareLoops.cpp
The file was modifiedllvm/test/Transforms/HardwareLoops/ARM/structure.ll
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
The file was modifiedllvm/test/Transforms/HardwareLoops/unconditional-latch.ll
Commit 79769a4475b37fa011203c688985e36b972328ff by Piotr Sobczak
[InstCombine][AMDGPU] Fix crash with v3i16/v3f16 buffer intrinsics
Summary: This is something of a workaround to avoid a crash later on in
type legalizer (WidenVectorResult()). Also added some f16 tests,
including a non-working v3f16 case with a FIXME.
Reviewers: arsenm, tpr, nhaehnle
Reviewed By: arsenm
Subscribers: kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr,
t-tye, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68865
llvm-svn: 374993
The file was modifiedllvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
Commit 115a6ecdf173d116b253617ee529efac1ff6f2bb by llvm-dev
RealFile - fix self-initialization warning in constructor.
llvm-svn: 374994
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
Commit 0caee2762086f6f3bb5657c1d7798df6b4789337 by llvm-dev
RedirectingFileSystem::openFileForRead - replace bitwise & with boolean
&& to fix warning
Seems to be just a typo - now matches other instances which do something
similar
llvm-svn: 374995
The file was modifiedllvm/lib/Support/VirtualFileSystem.cpp
Commit 2f6da767f13b8fd81f840c211d405fea32ac9db7 by gchatelet
[Alignment][NFC] Optimize alignTo
Summary: A small optimization suggested by jakehehrlich@ in D64790.
Reviewers: jakehehrlich, courbet
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69023
llvm-svn: 375000
The file was modifiedllvm/include/llvm/Support/Alignment.h
Commit fdccf28697e5debe861247d218cbbecf9fd4323e by simon.tatham
[Driver,ARM] Make -mfloat-abi=soft turn off MVE.
Since `-mfloat-abi=soft` is taken to mean turning off all uses of the FP
registers, it should turn off the MVE vector instructions as well as
NEON and scalar FP. But it wasn't doing so.
So the options `-march=armv8.1-m.main+mve.fp+fp.dp -mfloat-abi=soft`
would cause the underlying LLVM to //not// support MVE (because it knows
the real target feature relationships and turned off MVE when the
`fpregs` feature was removed), but the clang layer still thought it
//was// supported, and would misleadingly define the feature macro
`__ARM_FEATURE_MVE`.
The ARM driver code already has a long list of feature names to turn off
when `-mfloat-abi=soft` is selected. The fix is to add the missing
entries `mve` and `mve.fp` to that list.
Reviewers: dmgreen
Subscribers: kristof.beyls, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69025
llvm-svn: 375001
The file was modifiedclang/test/Driver/arm-mfpu.c
The file was modifiedclang/lib/Driver/ToolChains/Arch/ARM.cpp
Commit 28a3b2aeb48fac0391b328eb1822b3fefe228a05 by gbreynoo
[llvm-ar] Make paths case insensitive when on windows
When on windows gnu-ar treats member names as case insensitive. This
commit implements the same behaviour.
Differential Revision: https://reviews.llvm.org/D68033
llvm-svn: 375002
The file was modifiedllvm/docs/CommandGuide/llvm-ar.rst
The file was addedllvm/test/tools/llvm-ar/Inputs/path-names.a
The file was addedllvm/test/tools/llvm-ar/non-windows-name-case.test
The file was addedllvm/test/tools/llvm-ar/path-names.test
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
The file was addedllvm/test/tools/llvm-ar/windows-name-case.test
Commit c14f1ea25e0505625560db81209a319b6c6caab0 by yitzhakm
[libTooling] Fix r374962: add more Transformer forwarding decls.
Summary: The move to a new, single namespace in r374962 left out some
type definitions from the old namespace and resulted in one naming
conflict (`text`).  This revision adds aliases for those definitions and
removes one of the `text` functions from the new namespace.
Reviewers: alexfh
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69036
llvm-svn: 375003
The file was modifiedclang/include/clang/Tooling/Transformer/RewriteRule.h
The file was modifiedclang/unittests/Tooling/TransformerTest.cpp
The file was modifiedclang/include/clang/Tooling/Transformer/RangeSelector.h
The file was modifiedclang/include/clang/Tooling/Transformer/Stencil.h
Commit 2d6a2303f83d762d05b0851a9212830e28712dfd by david.stuttard
[AMDGPU] Fix-up cases where writelane has 2 SGPR operands
Summary: Even though writelane doesn't have the same constraints as
other valu instructions it still can't violate the >1 SGPR operand
constraint
Due to later register propagation (e.g. fixing up vgpr operands via
readfirstlane) changing writelane to only have a single SGPR is tricky.
This implementation puts a new check after SIFixSGPRCopies that prevents
multiple SGPRs being used in any writelane instructions.
The algorithm used is to check for trivial copy prop of suitable
constants into one of the SGPR operands and perform that if possible. If
this isn't possible put an explicit copy of Src1 SGPR into M0 and use
that instead (this is allowable for writelane as the constraint is for
SGPR read-port and not constant-bus access).
Reviewers: rampitec, tpr, arsenm, nhaehnle
Reviewed By: rampitec, arsenm, nhaehnle
Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, mgorny, yaxunl,
tpr, t-tye, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D51932
Change-Id: Ic7553fa57440f208d4dbc4794fc24345d7e0e9ea llvm-svn: 375004
The file was modifiedllvm/test/CodeGen/AMDGPU/inserted-wait-states.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.writelane.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 1893f9a45813d7b486576d88642e0e1cc5bc92fb by luismarques
[RISCV] Add MachineInstr immediate verification
Summary: This patch implements the `TargetInstrInfo::verifyInstruction`
hook for RISC-V. Currently the hook verifies the machine instruction's
immediate operands, to check if the immediates are within the expected
bounds. Without the hook invalid immediates are not detected except when
doing assembly parsing, so they are silently emitted (including being
truncated when emitting object code).
The bounds information is specified in tablegen by using the
`OperandType` definition, which sets the `MCOperandInfo`'s `OperandType`
field. Several RISC-V-specific immediate operand types were created,
which extend the `MCInstrDesc`'s `OperandType` `enum`.
To have the hook called with `llc` pass it the `-verify-machineinstrs`
option. For Clang add the cmake build config
`-DLLVM_ENABLE_EXPENSIVE_CHECKS=True`, or temporarily patch
`TargetPassConfig::addVerifyPass`.
Review concerns:
- The patch adds immediate operand type checks that cover at least the
base ISA. There are several other operand types for the C extension and
one type for the F/D extensions that were left out of this initial patch
because they introduced further design concerns that I felt were best
evaluated separately.
- Invalid register classes (e.g. passing a GPR register where a GPRC is
expected) are already caught, so were not included.
- This design makes the more abstract `MachineInstr` verification depend
on MC layer definitions, which arguably is not the cleanest design, but
is in line with how things are done in other parts of the target and
LLVM in general.
- There is some duplication of logic already present in the
`MCOperandPredicate`s. Since the `MachineInstr` and `MCInstr` notions of
immediates are fundamentally different, this is currently necessary.
Reviewers: asb, lenary
Reviewed By: lenary
Subscribers: hiraditya, rbar, johnrusso, simoncook, apazos, sabuasal,
niosHD, kito-cheng, shiva0217, jrtc27, MaskRay, zzheng, edward-jones,
rogfer01, MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei,
psnobl, benna, Jim, s.egerton, pzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67397
llvm-svn: 375006
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
The file was addedllvm/test/CodeGen/RISCV/verify-instr.mir
The file was modifiedllvm/lib/Target/RISCV/Utils/RISCVBaseInfo.h
Commit ec51851026a55e1cfc7f006f0e75f0a19acb32d3 by wong.kwongyuan.tools
bpf: fix wrong truncation elimination when there is back-edge/loop
Currently, BPF backend is doing truncation elimination. If one
truncation is performed on a value defined by narrow loads, then it
could be redundant given BPF loads zero extend the destination register
implicitly.
When the definition of the truncated value is a merging value (PHI node)
that could come from different code paths, then checks need to be done
on all possible code paths.
Above described optimization was introduced as r306685, however it
doesn't work when there is back-edge, for example when loop is used
inside BPF code.
For example for the following code, a zero-extended value should be
stored into b[i], but the "and reg, 0xffff" is wrongly eliminated which
then generates corrupted data.
void cal1(unsigned short *a, unsigned long *b, unsigned int k)
{
unsigned short e;
  e = *a;
for (unsigned int i = 0; i < k; i++) {
   b[i] = e;
   e = ~e;
}
}
The reason is r306685 was trying to do the PHI node checks inside isel
DAG2DAG phase, and the checks are done on MachineInstr. This is actually
wrong, because MachineInstr is being built during isel phase and the
associated information is not completed yet. A quick search shows none
target other than BPF is access MachineInstr info during isel phase.
For an PHI node, when you reached it during isel phase, it may have all
predecessors linked, but not successors. It seems successors are linked
to PHI node only when doing SelectionDAGISel::FinishBasicBlock and this
happens later than PreprocessISelDAG hook.
Previously, BPF program doesn't allow loop, there is probably the reason
why this bug was not exposed.
This patch therefore fixes the bug by the following approach:
- The existing truncation elimination code and the associated
  "load_to_vreg_" records are removed.
- Instead, implement truncation elimination using MachineSSA pass, this
  is where all information are built, and keep the pass together with
other
  similar peephole optimizations inside BPFMIPeephole.cpp. Redundant
move
  elimination logic is updated accordingly.
- Unit testcase included + no compilation errors for kernel BPF
selftest.
Patch Review
=== Patch was sent to and reviewed by BPF community at:
  https://lore.kernel.org/bpf
Reported-by: David Beckett <david.beckett@netronome.com> Reviewed-by:
Yonghong Song <yhs@fb.com> Signed-off-by: Jiong Wang
<jiong.wang@netronome.com> llvm-svn: 375007
The file was modifiedllvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/BPF/BPFMIPeephole.cpp
The file was addedllvm/test/CodeGen/BPF/remove_truncate_6.ll
The file was modifiedllvm/lib/Target/BPF/BPF.h
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
Commit 684605ec0ea2e9b162e353e13708b01e2decf3f0 by francisvm
[Remarks] Add support for prepending a path to external files
This helps with testing and debugging for paths that are assumed
absolute.
It also uses a FileError to provide the file path it's trying to open.
llvm-svn: 375008
The file was modifiedllvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
The file was modifiedllvm/lib/Remarks/RemarkParser.cpp
The file was modifiedllvm/lib/Remarks/BitstreamRemarkParser.h
The file was modifiedllvm/lib/Remarks/YAMLRemarkParser.cpp
The file was modifiedllvm/lib/Remarks/YAMLRemarkParser.h
The file was modifiedllvm/include/llvm/Remarks/RemarkParser.h
The file was modifiedllvm/lib/Remarks/BitstreamRemarkParser.cpp
Commit fe2d15b39bb5265015802e9492f8c3eab8442de3 by david.green
[Codegen] Adjust saturation test. NFC.
Add some extra sat tests and adjust some of the existing tests to use
signext where it would naturally be.
llvm-svn: 375009
The file was addedllvm/test/CodeGen/AArch64/sadd_sat_plus.ll
The file was addedllvm/test/CodeGen/ARM/uadd_sat_plus.ll
The file was addedllvm/test/CodeGen/X86/uadd_sat_plus.ll
The file was addedllvm/test/CodeGen/ARM/sadd_sat_plus.ll
The file was modifiedllvm/test/CodeGen/X86/ssub_sat.ll
The file was modifiedllvm/test/CodeGen/ARM/uadd_sat.ll
The file was modifiedllvm/test/CodeGen/ARM/usub_sat.ll
The file was addedllvm/test/CodeGen/X86/ssub_sat_plus.ll
The file was addedllvm/test/CodeGen/ARM/usub_sat_plus.ll
The file was modifiedllvm/test/CodeGen/ARM/ssub_sat.ll
The file was addedllvm/test/CodeGen/AArch64/usub_sat_plus.ll
The file was addedllvm/test/CodeGen/X86/sadd_sat_plus.ll
The file was modifiedllvm/test/CodeGen/X86/usub_sat.ll
The file was modifiedllvm/test/CodeGen/X86/uadd_sat.ll
The file was addedllvm/test/CodeGen/AArch64/uadd_sat_plus.ll
The file was addedllvm/test/CodeGen/ARM/ssub_sat_plus.ll
The file was modifiedllvm/test/CodeGen/X86/sadd_sat.ll
The file was addedllvm/test/CodeGen/X86/usub_sat_plus.ll
The file was modifiedllvm/test/CodeGen/ARM/sadd_sat.ll
The file was addedllvm/test/CodeGen/AArch64/ssub_sat_plus.ll
Commit b6dd1286217711a40a3d8f20366a5fdad6b8c7db by mark.murray
[AArch64,Assembler] Compiler support for ID_MMFR5_EL1
Summary: Add read-only system register ID_MMFR5_EL1 and unit tests.
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69039
llvm-svn: 375010
The file was modifiedllvm/lib/Target/AArch64/AArch64SystemOperands.td
The file was modifiedllvm/test/MC/Disassembler/AArch64/basic-a64-instructions.txt
The file was modifiedllvm/test/MC/AArch64/basic-a64-instructions.s
The file was modifiedllvm/test/MC/AArch64/basic-a64-diagnostics.s
Commit 0216a3c6d1c12357767b52a66151781cc2e1c5cd by francisvm
[Remarks] Use StringRef::contains to avoid differences in error string
Different OSs have different error strings:
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/39534/steps/ninja%20check%201/logs/FAIL%3A%20LLVM-Unit%3A%3AYAMLRemarks.ParsingBadMeta
llvm-svn: 375011
The file was modifiedllvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
Commit a9cfde1f6ab5ca52467c9e8695c64ddd247bd4ef by Adrian Prantl
[DWARF5] Added support for DW_AT_noreturn attribute to be emitted for
C++ class member functions.
Patch by Sourabh Singh Tomar!
Differential Revision: https://reviews.llvm.org/D68697
llvm-svn: 375012
The file was addedclang/test/CodeGenCXX/debug-info-noreturn.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedllvm/test/DebugInfo/X86/noreturn_cpp11.ll
Commit f998fa2924c736e5b5c2cc6ddc222a36d0171470 by graham.hunter
[SVE][IR] Small TypeSize improvements left out of initial commit
The commit for D53137 left out the last round of improvements requested
by reviewers. Adding those in now.
llvm-svn: 375013
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/DataLayout.h
The file was modifiedllvm/include/llvm/Support/TypeSize.h
Commit 437f362c3380275611fb34b88c1b305145a4956e by francisvm
[Remarks] Fix unit test by only checking for the path
http://lab.llvm.org:8011/builders/clang-ppc64be-linux/builds/39536/steps/ninja%20check%201/logs/FAIL%3A%20LLVM-Unit%3A%3AYAMLRemarks.ParsingBadMeta
llvm-svn: 375014
The file was modifiedllvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
Commit 0947af7ac539368b1bee8c21052b843753f2f190 by francisvm
[Remarks] Fix warning for ambigous `else` behind EXPECT macro
http://lab.llvm.org:8011/builders/clang-ppc64be-linux-lnt/builds/31902/steps/ninja%20check%201/logs/stdio
llvm-svn: 375015
The file was modifiedllvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
Commit d4ab74ee0b37c930ce7446caa55f2a8c829197fe by Stanislav.Mekhanoshin
[AMDGPU] Supress unused sdwa insts generation
Do not generate non-existing sdwa instructions. It reduces the number of
generated instructions by 185.
Differential Revision: https://reviews.llvm.org/D69010
llvm-svn: 375016
The file was modifiedllvm/lib/Target/AMDGPU/VOPCInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
Commit f89cf21337b07e0f6fc3704eadaddc05aa845831 by a.bataev
[OPENMP]Use different addresses for zeroed thread_id/bound_id.
When the parallel region is called directly in the sequential region,
the zeroed tid/bound id are used. But they must point to the different
memory locations as the parameters are marked as noalias.
llvm-svn: 375017
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/nvptx_teams_reduction_codegen.cpp
The file was modifiedclang/test/OpenMP/parallel_if_codegen.cpp
Commit f095b8c425ecf832d0a5ccdbaa02c27153f80a0c by jdenny.ornl
[lit] Clean up internal diff's encoding handling
As suggested by rnk at D67643#1673043, instead of reading files multiple
times until an appropriate encoding is found, read them once as binary,
and then try to decode what was read.
For Python >= 3.5, don't fail when attempting to decode the
`diff_bytes` output in order to print it.
Avoid failures for Python 2.7 used on some Windows bots by transforming
diff output with `lit.util.to_string` before writing it to stdout.
Finally, add some tests for encoding handling.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D68664
llvm-svn: 375018
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-encodings.txt
The file was modifiedllvm/utils/lit/tests/shtest-shell.py
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf16
The file was modifiedllvm/utils/lit/lit/TestRunner.py
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-in.utf8
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-in.bin
The file was modifiedllvm/utils/lit/tests/max-failures.py
Commit e2163f96abb5905938115f8935702b1defe4f015 by llvm-dev
CombinerHelper - silence dead assignment warnings. NFCI.
Copy the NewAlignment value to Alignment first and then use that to
update the stack frame object alignments.
llvm-svn: 375019
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 2622419c78c204105bd04d5f0b55eadbc26850ad by jdenny.ornl
[lit] Fix internal diff's --strip-trailing-cr and use it
Using GNU diff, `--strip-trailing-cr` removes a `\r` appearing before a
`\n` at the end of a line.  Without this patch, lit's internal diff only
removes `\r` if it appears as the last character.  That seems useless.
This patch fixes that.
This patch also adds `--strip-trailing-cr` to some tests that fail on
Windows bots when D68664 is applied.  Based on what I see in the bot
logs, I think the following is happening.  In each test there, lit diff
is comparing a file with `\r\n` line endings to a file with `\n` line
endings.  Without D68664, lit diff reads those files in text mode, which
in Windows causes `\r\n` to be replaced with `\n`. However, with D68664,
lit diff reads the files in binary mode instead and thus reports that
every line is different, just as GNU diff does
(at least under Ubuntu).  Adding `--strip-trailing-cr` to those tests
restores the previous behavior while permitting the behavior of lit diff
to be more like GNU diff.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D68839
llvm-svn: 375020
The file was modifiedllvm/utils/lit/tests/max-failures.py
The file was modifiedllvm/utils/lit/tests/shtest-shell.py
The file was modifiedllvm/utils/lit/lit/TestRunner.py
The file was modifiedllvm/test/tools/llvm-profdata/roundtrip.test
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-in.dos
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-in.unix
The file was modifiedllvm/test/tools/llvm-profdata/sample-remap.test
The file was addedllvm/utils/lit/tests/Inputs/shtest-shell/diff-strip-trailing-cr.txt
The file was modifiedllvm/test/MC/ARM/preserve-comments-arm.s
The file was modifiedllvm/test/MC/AsmParser/preserve-comments.s
The file was modifiedllvm/test/tools/llvm-profdata/profile-symbol-list.test
The file was modifiedllvm/test/tools/llvm-cxxmap/remap.test
Commit 97ed5625442d66d882c304a72ffe0de9fdad59a1 by jasonliu.development
[NFC][XCOFF][AIX] Rename ControlSections to CsectGroup
The name of ControlSections is not expressive enough to convey what they
really are. CsectGroup can better communicate the concept of grouping
csects together since they have similar property.
Reviewer: daltenty
Differential Revision: https://reviews.llvm.org/D69001
llvm-svn: 375021
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
Commit e2692b3bc0327606748b6d291b9009d2c845ced5 by dmitry.mikulin
Tag CFI-generated data structures with "#pragma clang section"
attributes.
Differential Revision: https://reviews.llvm.org/D68808
llvm-svn: 375022
The file was addedclang/test/CodeGen/cfi-pragma-section.c
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
Commit 6ce2d810320c50cf2ca07dafecaf9ebb10e4abba by jdenny.ornl
[lit] Fix a test case that r374652 missed
llvm-svn: 375023
The file was modifiedllvm/test/Assembler/thinlto-vtable-summary.ll
Commit 1d4a40751ff3552494f063306d3b2e1879d49230 by hhb
[lldb] move more things from python to cmake
Summary: Move the copy of six.py, lldb.py and macosx/heap
Reviewers: labath
Subscribers: mgorny, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D69016
llvm-svn: 375024
The file was modifiedlldb/CMakeLists.txt
The file was modifiedlldb/scripts/Python/finishSwigPythonLLDB.py
Commit 8cc6d42e8d6c0c133e4d5d46e918e5e2ae0781c6 by spatel
[SLP] avoid reduction transform on patterns that the backend can
load-combine (2nd try)
The 1st attempt at this modified the cost model in a bad way to avoid
the vectorization, but that caused problems for other users (the loop
vectorizer) of the cost model.
I don't see an ideal solution to these 2 related, potentially large,
perf regressions: https://bugs.llvm.org/show_bug.cgi?id=42708
https://bugs.llvm.org/show_bug.cgi?id=43146
We decided that load combining was unsuitable for IR because it could
obscure other optimizations in IR. So we removed the LoadCombiner pass
and deferred to the backend. Therefore, preventing SLP from destroying
load combine opportunities requires that it recognizes patterns that
could be combined later, but not do the optimization itself ( it's not a
vector combine anyway, so it's probably out-of-scope for SLP).
Here, we add a cost-independent bailout with a conservative pattern
match for a multi-instruction sequence that can probably be reduced
later.
In the x86 tests shown (and discussed in more detail in the bug
reports), SDAG combining will produce a single instruction on these
tests like:
  movbe   rax, qword ptr [rdi]
or:
  mov     rax, qword ptr [rdi]
Not some (half) vector monstrosity as we currently do using SLP:
  vpmovzxbq       ymm0, dword ptr [rdi + 1] # ymm0 = mem[0],zero,zero,..
vpsllvq ymm0, ymm0, ymmword ptr [rip + .LCPI0_0]
movzx   eax, byte ptr [rdi]
movzx   ecx, byte ptr [rdi + 5]
shl     rcx, 40
movzx   edx, byte ptr [rdi + 6]
shl     rdx, 48
or      rdx, rcx
movzx   ecx, byte ptr [rdi + 7]
shl     rcx, 56
or      rcx, rdx
or      rcx, rax
vextracti128    xmm1, ymm0, 1
vpor    xmm0, xmm0, xmm1
vpshufd xmm1, xmm0, 78          # xmm1 = xmm0[2,3,0,1]
vpor    xmm0, xmm0, xmm1
vmovq   rax, xmm0
or      rax, rcx
vzeroupper
ret
Differential Revision: https://reviews.llvm.org/D67841
llvm-svn: 375025
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
Commit 31ba47646ba40b7892492bb227d85de0d6733e07 by a.bataev
[OPENMP]Allow priority clause in combined task-based directives.
The expression of the priority clause must be captured in the combined
task-based directives, like 'parallel master taskloop' directive.
llvm-svn: 375026
The file was modifiedclang/lib/AST/OpenMPClause.cpp
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/include/clang/AST/OpenMPClause.h
The file was modifiedclang/test/OpenMP/parallel_master_taskloop_codegen.cpp
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
The file was modifiedclang/lib/Serialization/ASTReader.cpp
Commit 87cf73e956386a0942137f70a1171c484836341b by Steven Wu
Fix darwin-ld-lto test for some speical path
Fix the test by not assuming the prefix path of the temp directory can
be matched by a regex.
rdar://problem/56259195
llvm-svn: 375027
The file was modifiedclang/test/Driver/darwin-ld-lto.c
Commit a86bd22515952c184471c95aaf6273cd6a94505b by rupprecht
[llvm-ar] Implement the V modifier as an alias for --version
Summary: Also update the help modifier (h) so that it works as a
modifier and not just as a standalone `h`. For example, `llvm-ar h`
prints the help message, but `llvm-ar xh` currently prints `unknown
option h`.
Reviewers: MaskRay, gbreynoo
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69007
llvm-svn: 375028
The file was modifiedllvm/test/tools/llvm-ar/help-message.test
The file was modifiedllvm/tools/llvm-ar/llvm-ar.cpp
The file was addedllvm/test/tools/llvm-ar/version.test
Commit 48a50ee0344d626fc4b51f6d2acf1fa2354bc46b by a20012251
[android/process list] support showing process arguments
Summary: The qfProcessInfo and qsProcessInfo packets currently don't set
the processes' arguments, however the platform process list -v command
tries to print it. In this diff I'm adding the arguments as part of the
packet, and now the command shows the arguments just like on mac.
On Mac:
507    1      wallace    1876110778 wallace    1876110778
x86_64-apple-macosx      /usr/libexec/secd 503    1      wallace  
1876110778 wallace    1876110778 x86_64-apple-macosx    
/usr/libexec/secinitd 501    1      wallace    1876110778 wallace  
1876110778 x86_64-apple-macosx      /usr/libexec/languageassetd
--firstLogin 497    1      wallace    1876110778 wallace    1876110778
x86_64-apple-macosx      /usr/libexec/trustd --agent 496    1    
wallace    1876110778 wallace    1876110778 x86_64-apple-macosx    
/usr/libexec/lsd 494    1      wallace    1876110778 wallace  
1876110778 x86_64-apple-macosx    
/System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter -L
491    1      wallace    1876110778 wallace    1876110778
x86_64-apple-macosx      /usr/sbin/distnoted agent 489    1      wallace
   1876110778 wallace    1876110778 x86_64-apple-macosx    
/usr/libexec/UserEventAgent (Aqua) 484    1      wallace    1876110778
wallace    1876110778 x86_64-apple-macosx      /usr/sbin/cfprefsd agent
483    1      wallace    1876110778 wallace    1876110778
x86_64-apple-macosx    
/System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd
On android:
1561   1016   root       0                     0        
aarch64-unknown-linux-android  /system/bin/ip6tables-restore--noflush -w
-v 1805   982    1000       1000                  1000                 
                   android:drmService 1811   982    10189      10189   
            10189                                   
com.qualcomm.embms:remote 1999   1      1000       1000                
1000       aarch64-unknown-linux-android  /system/bin/tlc_serverCCM 2332
  982    10038      10038                 10038                        
           com.android.systemui 2378   983    1053       1053          
      1053                                      webview_zygote 2448 
982    5013       5013                  5013                           
         com.sec.location.nsflp2 2465   982    10027      10027        
       10027                                   
com.google.android.gms.persistent
Differential Revision:  https://reviews.llvm.org/D68293
llvm-svn: 375029
The file was addedlldb/packages/Python/lldbsuite/test/commands/platform/process/main.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was addedlldb/packages/Python/lldbsuite/test/commands/platform/process/TestProcessList.py
The file was modifiedlldb/docs/lldb-gdb-remote.txt
The file was modifiedlldb/source/Utility/ProcessInfo.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py
The file was addedlldb/packages/Python/lldbsuite/test/commands/platform/process/Makefile
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
Commit 3d99310c15e45d0dd9db20ff283d53ba4192ca1a by Stanislav.Mekhanoshin
[AMDGPU] Do not combine dpp with physreg def
We will remove dpp mov along with the physreg def otherwise.
Differential Revision: https://reviews.llvm.org/D69063
llvm-svn: 375030
The file was modifiedllvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.mir
Commit 930ada91ce8ff9715e2ca7309bc946dbb9162dfb by vsapsai
Replace platform-dependent `stat` with `llvm::sys::fs::status`. NFC
intended.
Reviewers: bruno, sammccall
Reviewed By: sammccall
Subscribers: jkorous, dexonsmith, arphaman, ributzka, cfe-commits
Differential Revision: https://reviews.llvm.org/D69011
llvm-svn: 375031
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/tools/libclang/CIndexCodeCompletion.cpp
Commit 7dd7a3607596a51044b8706ebf6df2e613ce1e9b by Jason Molenda
Add arm64_32 support to lldb, an ILP32 codegen that runs on arm64 ISA
targets, specifically Apple watches.
Differential Revision: https://reviews.llvm.org/D68858
llvm-svn: 375032
The file was modifiedlldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
The file was modifiedlldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/persist_objc_pointeetype/TestPersistObjCPointeeType.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/char/TestExprsChar.py
The file was modifiedlldb/source/Target/Platform.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
The file was modifiedlldb/source/Utility/ArchSpec.cpp
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/register/register/register_command/TestRegisters.py
The file was modifiedlldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
The file was modifiedlldb/tools/debugserver/source/DNB.cpp
The file was modifiedlldb/source/Target/Thread.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/call-function/TestCallStdStringFunction.py
The file was modifiedlldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbplatformutil.py
The file was modifiedlldb/include/lldb/Utility/ArchSpec.h
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/TestWatchpointIter.py
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
The file was modifiedlldb/unittests/Utility/ArchSpecTest.cpp
The file was modifiedlldb/source/Host/common/NativeProcessProtocol.cpp
The file was modifiedlldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
The file was modifiedlldb/source/Host/macosx/objcxx/Host.mm
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/arm/breakpoint-it/TestBreakpointIt.py
The file was modifiedlldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp
The file was modifiedlldb/source/Symbol/CompactUnwindInfo.cpp
The file was modifiedlldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
The file was modifiedlldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleWatch.cpp
The file was modifiedlldb/tools/compact-unwind/compact-unwind-dumper.c
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-objc/nsindexpath/TestDataFormatterNSIndexPath.py
Commit edcd5815ced65300ff2aea10afd818faaa36523c by Stanislav.Mekhanoshin
[AMDGPU] Do not combine dpp mov reading physregs
We cannot be sure physregs will stay unchanged.
Differential Revision: https://reviews.llvm.org/D69065
llvm-svn: 375033
The file was modifiedllvm/test/CodeGen/AMDGPU/dpp_combine.mir
The file was modifiedllvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
Commit 13993a6f8681ae40fa9b1ce690885e95119b6dbf by martin
[LLDB] Use the llvm microsoft demangler instead of the windows dbghelp
api. NFCI.
Differential Revision: https://reviews.llvm.org/D68134
llvm-svn: 375034
The file was modifiedlldb/source/Core/Mangled.cpp
Commit d4346584fa35232af286ededf9f01353d905ed9f by listmail
[IndVars] Fix a miscompile in off-by-default loop predication
implementation
The problem is that we can have two loop exits, 'a' and 'b', where 'a'
and 'b' would exit at the same iteration, 'a' precedes 'b' along some
path, and 'b' is predicated while 'a' is not. In this case (see the
previously submitted test case), we causing the loop to exit through 'b'
whereas it should have exited through 'a'.
This only applies to loop exits where the exit counts are not provably
inequal, but that isn't as much of a restriction as it appears. If we
could order the exit counts, we'd have already removed one of the two
exits. In theory, we might be able to prove inequality w/o ordering, but
I didn't really explore that piece. Instead, I went for the obvious
restriction and ensured we didn't predicate exits following
non-predicateable exits.
Credit goes to Evgeny Brevnov for figuring out the problematic case.
Fuzzing probably also found it (failures seen), but due to some silly
infrastructure problems I hadn't gotten to the results before Evgeny
hand reduced it from a benchmark (he manually enabled the transform).
Once this is fixed, I'll try to filter through the fuzzer failures to
see if there's anything additional lurking.
Differential Revision https://reviews.llvm.org/D68956
llvm-svn: 375038
The file was modifiedllvm/test/Transforms/IndVarSimplify/loop-predication.ll
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
Commit b4874226de6145d3196eacb0fbf3cba7654d51d9 by michael.hliao
[clangd] Add the missing dependency on `clangLex`.
llvm-svn: 375039
The file was modifiedclang-tools-extra/clangd/tool/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
Commit ac77947315c5cf9a79b1aa5b813baaa2d018cbe3 by listmail
Remove a stale comment, noted in post commit review for rL375038
llvm-svn: 375040
The file was modifiedllvm/test/Transforms/IndVarSimplify/loop-predication.ll
Commit a4f6b598462e39107aecad1f8d4fb1cfd7583580 by martin
[Symbolize] Use the local MSVC C++ demangler instead of relying on
dbghelp. NFC.
This allows making a couple llvm-symbolizer tests run in all
environments.
Differential Revision: https://reviews.llvm.org/D68133
llvm-svn: 375041
The file was modifiedllvm/lib/DebugInfo/Symbolize/Symbolize.cpp
The file was modifiedllvm/test/tools/llvm-symbolizer/coff-exports.test
The file was modifiedllvm/test/tools/llvm-symbolizer/coff-dwarf.test
Commit 34ed76e1803cd5173aeb9460824b9be65f2b326f by Matthew.Arsenault
GlobalISel: Implement lower for G_SADDO/G_SSUBO
Port directly from SelectionDAG, minus the path using
ISD::SADDSAT/ISD::SSUBSAT.
llvm-svn: 375042
The file was removedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ssubo.mir
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-saddo.mir
The file was addedllvm/test/CodeGen/AMDGPU/GlobalISel/legalize-ssubo.mir
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was removedllvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-saddo.mir
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Commit 6d1891c508fecf189d1d76b43740b144b91aae23 by smeenai
[AArch64] Fix offset calculation
r374772 changed Offset to be an int64_t but left NewOffset as an int.
Scale is unsigned, so in the calculation `Offset - NewOffset * Scale`,
`NewOffset * Scale` was promoted to unsigned and was then zero-extended
to 64 bits, leading to an incorrect computation which manifested as an
out-of-memory when building the Swift standard library for Android
aarch64. Promote NewOffset to int64_t to fix this, and promote
EmittableOffset as well, since its one user passes it to a function
which takes an int64_t anyway.
Test case based on a suggestion by Sander de Smalen!
Differential Revision: https://reviews.llvm.org/D69018
llvm-svn: 375043
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/framelayout-offset-immediate-change.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.h
Commit 8cdc842c51626b94fc20af604f640f6f195eeadb by Jonas Devlieghere
[dsymutil] Print warning/error for unknown/missing arguments.
After changing dsymutil to use libOption, we lost error reporting for
missing required arguments (input files). Additionally, we stopped
complaining about unknown arguments. This patch fixes both and adds a
test.
llvm-svn: 375044
The file was modifiedllvm/test/tools/dsymutil/cmdline.test
The file was modifiedllvm/tools/dsymutil/dsymutil.cpp
Commit c0e6a92e34d151ae70155a113e0fa65cc0f25034 by asbirlea
Update ReleaseNotes: expand the section on enabling MemorySSA
llvm-svn: 375045
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit bbc56dd845841fd6f20e70a1418445831cc8958e by jlettner
[lit] Small refactoring and cleanups in main.py
* Remove outdated precautions for Python versions < 2.7
* Remove dead code related to `maxIndividualTestTime` option
* Move printing of test and result summary out of main into its own
function
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D68847
llvm-svn: 375046
The file was modifiedllvm/utils/lit/lit/main.py
Commit 70055d81b25a6ba50e58eca6df7a41856ebf0ee7 by jlettner
[lit] Remove return value from print_summary function
llvm-svn: 375047
The file was modifiedllvm/utils/lit/lit/main.py
Commit 3c7d8792f12d6598ead6c3fb5f10d5a4be90ed4c by jlettner
[lit] Skip creation of tmp dir if we don't actually run any tests
llvm-svn: 375048
The file was modifiedllvm/utils/lit/lit/main.py
Commit 471dc1fb286ae7551da1d4a0349970b2a9491052 by jlettner
[lit] Print warning if we fail to delete temp directory
llvm-svn: 375049
The file was modifiedllvm/utils/lit/lit/main.py
Commit 4eb1a573fab3b2257e966c97a06d15159ecac922 by asbirlea
[Utils] Cleanup similar cases to MergeBlockIntoPredecessor.
Summary: There are two cases where a block is merged into its
predecessor and the MergeBlockIntoPredecessor API is not used. Update
the API so it can be reused in the other cases, in order to avoid code
duplication.
Cleanup motivated by D68659.
Reviewers: chandlerc, sanjoy.google, george.burgess.iv
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68670
llvm-svn: 375050
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/BasicBlockUtils.h
The file was modifiedllvm/lib/Transforms/Utils/LoopRotationUtils.cpp
Commit a409afaad64ce83ea44cc30ee5f96b6e613a6e98 by rupprecht
[support] GlobPattern: add support for `\` and `[!...]`, and allow `]`
in more places
Summary: Update GlobPattern in libSupport to handle a few more cases. It
does not fully match the `fnmatch` used by GNU objcopy since named
character classes (e.g. `[[:digit:]]`) are not supported, but this
should support most existing use cases (mostly just `*` is what's used
anyway).
This will be used to implement the `--wildcard` flag in llvm-objcopy to
be more compatible with GNU objcopy.
This is split off of D66613 to land the libSupport changes separately.
The llvm-objcopy part will land soon.
Reviewers: jhenderson, MaskRay, evgeny777, espindola, alexshap
Reviewed By: MaskRay
Subscribers: nickdesaulniers, emaste, arichardson, hiraditya,
jakehehrlich, abrachet, seiya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66613
undo objcopy changes to make this libsupport only
llvm-svn: 375051
The file was modifiedllvm/lib/Support/GlobPattern.cpp
The file was modifiedllvm/unittests/Support/GlobPatternTest.cpp
The file was modifiedllvm/include/llvm/Support/GlobPattern.h
Commit 25181660425aa8feb9a4d4039513396e3f78dac0 by rupprecht
Revert [support] GlobPattern: add support for `\` and `[!...]`, and
allow `]` in more places
This reverts r375051 (git commit
a409afaad64ce83ea44cc30ee5f96b6e613a6e98)
The patch does not work on Windows due to `\` in filenames being
interpreted as escaping rather than literal path separators when used by
lld linker scripts.
llvm-svn: 375052
The file was modifiedllvm/lib/Support/GlobPattern.cpp
The file was modifiedllvm/include/llvm/Support/GlobPattern.h
The file was modifiedllvm/unittests/Support/GlobPatternTest.cpp
Commit a44bc401b5b72c5bdbeb614c110547bb15e68b73 by rupprecht
[NFC] Fix unused var in release builds
llvm-svn: 375053
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp