AbortedChanges

Summary

  1. [lldb] Set timeout to 90 and 60 min for build and testing respectively.
  2. [lldb] Add DWARF variants to the matrix bot
  3. [lldb] Remove old pipeline scripts
  4. [lldb] Checking LLDB pipelines
  5. Add sanitizer-aarch64-linux-mte builder. Reviewers: vitalybuka Subscribers: javed.absar, kristof.beyls Differential Revision: https://reviews.llvm.org/D66375
  6. Add "sanitizer-aarch64-linux-mte" build script. Due to the lack of mte tests, run llvm/clang/asan tests for now.
Revision 369302 by jdevlieghere:
[lldb] Set timeout to 90 and 60 min for build and testing respectively.
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmakezorg/jenkins/jobs/jobs/lldb-cmake
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-matrixzorg/jenkins/jobs/jobs/lldb-cmake-matrix
Revision 369278 by jdevlieghere:
[lldb] Add DWARF variants to the matrix bot
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-matrixzorg/jenkins/jobs/jobs/lldb-cmake-matrix
Revision 369274 by jdevlieghere:
[lldb] Remove old pipeline scripts
Change TypePath in RepositoryPath in Workspace
The file was removed/zorg/trunk/zorg/jenkins/lldb-cmake-matrix-dwarf.shzorg/jenkins/lldb-cmake-matrix-dwarf.sh
The file was removed/zorg/trunk/zorg/jenkins/lldb-cmake-matrix-stage1.shzorg/jenkins/lldb-cmake-matrix-stage1.sh
The file was removed/zorg/trunk/zorg/jenkins/lldb-cmake-matrix-stage2.shzorg/jenkins/lldb-cmake-matrix-stage2.sh
Revision 369273 by jdevlieghere:
[lldb] Checking LLDB pipelines
Change TypePath in RepositoryPath in Workspace
The file was added/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmakezorg/jenkins/jobs/jobs/lldb-cmake
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-matrixzorg/jenkins/jobs/jobs/lldb-cmake-matrix
The file was added/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-sanitizedzorg/jenkins/jobs/jobs/lldb-cmake-sanitized
The file was modified/zorg/trunk/zorg/jenkins/jobs/jobs/lldb-cmake-standalonezorg/jenkins/jobs/jobs/lldb-cmake-standalone
Revision 369178 by eugenis:
Add sanitizer-aarch64-linux-mte builder.

Reviewers: vitalybuka

Subscribers: javed.absar, kristof.beyls

Differential Revision: https://reviews.llvm.org/D66375
Change TypePath in RepositoryPath in Workspace
The file was modified/zorg/trunk/buildbot/osuosl/master/config/builders.pybuildbot/osuosl/master/config/builders.py
The file was modified/zorg/trunk/buildbot/osuosl/master/config/slaves.pybuildbot/osuosl/master/config/slaves.py
Revision 369176 by eugenis:
Add "sanitizer-aarch64-linux-mte" build script.

Due to the lack of mte tests, run llvm/clang/asan tests for now.
Change TypePath in RepositoryPath in Workspace
The file was added/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_mte.shzorg/buildbot/builders/sanitizers/buildbot_mte.sh
The file was modified/zorg/trunk/zorg/buildbot/builders/sanitizers/buildbot_selector.pyzorg/buildbot/builders/sanitizers/buildbot_selector.py

Summary

  1. [InstCombine] canonicalize a scalar-select-of-vectors to vector select (details)
  2. [ORC] Remove some stray debugging output accidentally left in r368707 (details)
  3. [Attributor] Introduce initialize calls and move code to keep attributes (details)
  4. [Attributor][NFC] Introduce aliases for call site attributes (details)
  5. [Attributor] Towards a more structured deduction pattern (details)
  6. Stop abusing SuppressAllDiagnostics when speculatively determining (details)
  7. [OPENMP5.0]Diagnose global variables in lambda not marked as declare (details)
  8. [ARM] push LR before __gnu_mcount_nc (details)
  9. [Test Commit] Fix typo in diagtool.rst (details)
  10. Revert "[ARM] push LR before __gnu_mcount_nc" (details)
  11. [TSan] Don't guard #include <xpc/xpc.h> (details)
  12. [X86] Use Register/MCRegister in more places in X86 (details)
  13. [X86] Support -mlong-double-80 (details)
  14. [Utility] Reimplement RegularExpression on top of llvm::Regex (details)
  15. [RWMutex] Simplify availability check (details)
  16. [Attributor] Add all missing attribute definitions/symbols (details)
  17. [CodeGenPrepare] fix RUN line settings (details)
  18. [clang-format] Fix the bug that joins template closer and > or >> (details)
  19. [CaptureTracking] Allow null to be in either icmp operand (details)
  20. [Attributor] Fix: Make sure we set the changed flag (details)
  21. [Attributor] Fix: Do not partially resolve returned calls. (details)
  22. [doc] Fix some minor formatting issues. (details)
  23. [ARM] Preserve liveness in ARMConstantIslands. (details)
  24. [InstCombine][NFC] Revisit tests in (details)
  25. [TSan] Add interceptors for os_unfair_lock (details)
  26. Revert "[TSan] Don't guard #include <xpc/xpc.h>" (details)
  27. [InstCombine][NFC] reuse-constant-from-select-in-icmp.ll - check (details)
  28. Revert [X86] SimplifyDemandedVectorElts - attempt to recombine target (details)
  29. [CodeGenPrepare] Fix use-after-free (details)
  30. [llvm-readobj] Fallback to PT_NOTE if file doesn't have sections (details)
  31. Revert "[X86] Support -mlong-double-80" (details)
  32. [ORC] Re-introduce self-dependence accidentally dropped from a unit (details)
  33. [AArch64][GlobalISel] Fix an assertion during G_UNMERGE selection for (details)
  34. Reland "[ARM] push LR before __gnu_mcount_nc" (details)
  35. Revert r367891 - "[InstCombine] combine mul+shl separated by zext" (details)
  36. Add LLDB dataformatters for llvm::StringRef and (details)
  37. [llvm-readobj] Unwrap the value first to avoid the error (details)
  38. Simplify code (NFC). (details)
  39. [Fuchsia] Create the VMO during initialization, not during exit (details)
  40. [MemorySSA] Loop passes should mark MSSA preserved when available. (details)
  41. [clang-doc] Fix casting not working in gcc 5.4.0 (details)
  42. [X86] Support -mlong-double-80 (details)
  43. [ELF][PPC] Fix getRelExpr for R_PPC64_REL16_HI (details)
  44. Revert [AArch64InstrInfo] Stop getInstSizeInBytes returning non-zero for (details)
  45. Revert Revert [AArch64InstrInfo] Stop getInstSizeInBytes returning (details)
  46. [ELF] Replace local variable hasExportDynamic with (details)
  47. [circular_raw_ostream] Delegate is_displayed to contained stream (details)
  48. [test] - Remove precomiled openbsd-phdrs.elf-x86-64 objects. (details)
  49. [llvm-readobj/llvm-readelf] - Improve/cleanup the error reporting API. (details)
  50. [CodeGen] Do the Simple Early Return in block-placement pass to optimize (details)
  51. [llvm-readobj] - An attemp to fix BB after r369191. (details)
  52. Revert r369190, r369192 ([llvm-readobj/llvm-readelf] - Improve/cleanup (details)
  53. Recommit r369190 "[llvm-readobj/llvm-readelf] - Improve/cleanup the (details)
  54. [analyzer] Turn an assert into an if condition (details)
  55. [SemaDeclCXX] Allow inheriting constructor declaration to specify a (details)
  56. [NFC][InstCombine] Some tests for 'shift amount reassoc in bit test - (details)
  57. [lldb][NFC] Remove unused MaterializeInitializer and (details)
  58. [BPF] Fix bpf llvm-objdump issues. (details)
  59. [X86] Add a one use check to the combineStore code that handles (details)
  60. TableGen: Revert changes from r369038 (details)
  61. AMDGPU: Disambiguate v3f16 format in load/store tables (details)
  62. AMDGPU: Fix iterator error when lowering SI_END_CF (details)
  63. [SelectionDAG] Add a node creation debug message to getMachineNode. (details)
  64. [TargetLowering] Teach computeRegisterProperties to only widen (details)
  65. [Diagnostics] Improve -Wsizeof-pointer-div (details)
  66. [InstCombine] Cherry-pick NFC cleanups of (details)
  67. [MC] MCFixup - Fix cppcheck + MSVC analyzer uninitialized member (details)
  68. [X86][SSE] Improve PACKSS shuffle tests to better match codegen from (details)
  69. [X86] isTargetShuffleEquivalent - early out on illegal shuffle masks. (details)
  70. [X86] isTargetShuffleEquivalent - add BUILD_VECTOR matching (details)
  71. Fix signed/unsigned comparison warning. NFCI. (details)
  72. [clang-format] Fix a bug that joins template closer and = (details)
  73. [X86] Improve lower1BitShuffle handling for KSHIFTL on narrow vectors. (details)
  74. [Docs] Test commit (details)
  75. [Diagnostics] Diagnose misused xor as pow (details)
  76. [ORC] Remove some dead code. (details)
  77. [ORC] Make sure we linker-mangle symbol names in the SpeculationLayer. (details)
  78. [CMake] Update CMAKE_OSX_DEPLOYMENT_TARGET to 10.12. (details)
  79. [cmake] Move blocks out of redundant else( MSVC ); NFC (details)
  80. [X86] Replace uses of getZeroVector for vXi1 vectors with (details)
  81. [X86] Add test cases for suboptimal insertion of a vXi1 vector into a (details)
  82. [X86] Add a special case to LowerCONCAT_VECTORSvXi1 to handle (details)
  83. [X86] Add test case for missed opportunity to recognize a vXi1 shuffle (details)
  84. [X86] Teach lower1BitShuffle to recognize padding a subvector with zeros (details)
  85. [X86] Teach lower1BitShuffle to match KSHIFTR that doesn't use Zeroable (details)
  86. [X86] Fix the lower1BitShuffle code added in r369215 to correctly pass (details)
  87. [clangd] Update features table in the docs with links to LSP extension (details)
  88. [llvm-objcopy][MachO] Support load commands used in executables/shared (details)
  89. [llvm-objcopy][MachO] Implement a layout algorithm for executables (details)
  90. [X86] Teach lower1BitShuffle to match right shifts with upper zero (details)
  91. [MC] Don't emit .symver redirected symbols to the symbol table (details)
  92. Revert r369230 and r369231 (details)
  93. [lldb] Remove unused inheritance in RegularExpression (details)
  94. Revert [Attributor] Fix: Do not partially resolve returned calls. (details)
  95. [lldb][NFC] Address review comments to StringList for-loop support (details)
  96. [clangd] Added special HighlightingKind for function parameters. (details)
  97. [MC] Delete unnecessary diagnostic: "No relocation available to (details)
  98. [lldb][NFC] Use GetMaxStringLength in CommandObjectApropos::DoExecute (details)
  99. Revert [Attributor] Fix: Make sure we set the changed flag (details)
  100. [lldb][NFC] Remove StringList::AutoComplete (details)
  101. [DebugInfo] Test for variable range un-coalescing (details)
  102. [ARM] MVE sext costs (details)
  103. [ARM] Add support for MVE vaddv (details)
  104. [ELF][ARM] Add a test that maxes out the thunk convergence limit (details)
  105. [DebugInfo] Make postra sinking of DBG_VALUEs subregister-safe (details)
  106. [MC] Simplify ELFObjectWriter::recordRelocation. NFC (details)
  107. [lldb][NFC] Add a few more completion tests to increase test coverage (details)
  108. [SLP] reduce duplicated code; NFC (details)
  109. [OpenCL] Fix addr space deduction for pointers/references to arrays. (details)
  110. [lldb][NFC] Use CompletionRequest in Variable::AutoComplete (details)
  111. [OpenCL] Add generic type handling for builtin functions (details)
  112. [llvm-readobj] unwrapOrError: remove unnecessary llvm_unreachable after (details)
  113. [SLP] add test that requires shuffle of scalars; NFC (details)
  114. [DebugInfo] Allow bundled calls in the MIR's call site info (details)
  115. [RISCV] Don't force absolute FK_Data_X fixups to relocs (details)
  116. [lld][Hexagon] Add GOTREL relocations. (details)
  117. Don't keep stale pointers to LoopInfos. (details)
  118. [ELF][Hexagon] Improve error message for unknown relocations (details)
  119. [PeepholeOptimizer] Don't assume bitcast def always has input (details)
  120. [ELF] Move (copy relocation/canonical PLT) before error checking (details)
  121. [Object/COFF.h] - Stop returning std::error_code in a few methods. NFCI. (details)
  122. Automatically generate AVX512 test cases. NFC (details)
  123. [llvm-objdump] - Restore lost comment. (details)
  124. [nfc] Silent gcc warning (details)
  125. [lldb][NFC] Stop using GetNumberOfMatches in CompletionRequest test (details)
  126. [TargetLowering] x s% C == 0 fold: vector divisor with INT_MIN handling (details)
  127. Filesystem/Windows: fix inconsistency in readNativeFileSlice API (details)
  128. [libc++] reverts commit a5f5aad568bb7a91ceee47641f3076ac339ef8c7. (details)
  129. [ELF] Simplify processRelocAux and allow a corner-case error (details)
  130. [dotest] Add --dwarf-version to override the tested DWARF version. (details)
  131. [clangd] Added highlighting for tokens that are macro arguments. (details)
  132. [lld][WebAssembly] Honor --no-export-dynamic even with -shared (details)
  133. [Attributor] -attributor-verify has false positives. Temporarily remove (details)
  134. [X86] Added extensive scheduling model tests for all the CMPXCHG (details)
  135. [libc++] Add XFAIL for is_base_of test on AppleClang 11 (details)
  136. Implement P1668R1 (details)
  137. Update cxx_status.html with P1668 status. (details)
  138. [CGP] Remove ModifiedDT from the makeBitReverse loop (details)
  139. Fix test where diagnostics changed in P1668 implementation (details)
  140. [Sanitizer] arc4random interception on Mac (details)
  141. Fix poorly formatted HTML in the cxx_status.html file caused by adding (details)
  142. [X86] Teach lowerV4I32Shuffle to only use broadcasts if the mask has (details)
  143. [X86] Move scheduling tests for CMPXCHG to the corresponding (details)
  144. [TSan] Rename file to make it clear that it defines interceptors (details)
  145. Build symbolizer runtime with C++14. (details)
  146. [MemorySSA] Rename uses when inserting memory uses. (details)
  147. [WebAssembly][MC] Allow empty assembly functions (details)
  148. [lldb] Make TestIOHandlerCompletion more stable and document it (details)
  149. Re-apply fixed "[Attributor] Fix: Make sure we set the changed flag" (details)
  150. [Support] Replace sys::Mutex with their standard equivalents. (details)
  151. [lldb-vscode] add `launchCommands` to handle launch specific commands (details)
Commit 39eb2324f7ec48bd455c370dcb26ffcf9f8dfc48 by spatel
[InstCombine] canonicalize a scalar-select-of-vectors to vector select
This pattern may arise more frequently with an enhancement to SLP
vectorization suggested in PR42755:
https://bugs.llvm.org/show_bug.cgi?id=42755
...but we should handle this pattern to make things easier for the
backend either way.
For all in-tree targets that I looked at, codegen for typical vector
sizes looks better when we change to a vector select, so this is safe to
do without a cost model (in other words, as a target-independent
canonicalization).
For example, if the condition of the select is a scalar, we end up with
something like this on x86:
vpcmpgtd %xmm0, %xmm1, %xmm0
vpextrb $12, %xmm0, %eax
testb $1, %al
jne LBB0_2
## %bb.1:
vmovaps %xmm3, %xmm2
LBB0_2:
vmovaps %xmm2, %xmm0
Rather than the splat-condition variant:
vpcmpgtd %xmm0, %xmm1, %xmm0
vpshufd $255, %xmm0, %xmm0      ## xmm0 = xmm0[3,3,3,3]
vblendvps %xmm0, %xmm2, %xmm3, %xmm0
Differential Revision: https://reviews.llvm.org/D66095
llvm-svn: 369140
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was modifiedllvm/test/Transforms/InstCombine/select-extractelement.ll
Commit 9bb9a0c10b21cdddea593bad20d955ced9118b19 by Lang Hames
[ORC] Remove some stray debugging output accidentally left in r368707
llvm-svn: 369141
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
Commit fe6dbadc0d53efdc34c096dd1695f23467ea6591 by jdoerfert
[Attributor] Introduce initialize calls and move code to keep attributes
concise
Summary: This patch should not change the behavior except that the added
initialize methods might indicate an optimistic fixpoint earlier. The
code movement is done to keep the attribute definitions in a single
block where it makes sense. No functional changes intended there.
Reviewers: uenoku, sstefan1
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66258
llvm-svn: 369142
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 66cf87e29090737acfbaa66f15464ee2f6c93e21 by jdoerfert
[Attributor][NFC] Introduce aliases for call site attributes
Until we have call site specific liveness and/or value information there
is no need to do call site specific deduction. Though, we need the
symbols in follow up patches that make Attributor::getAAFor return a
reference.
llvm-svn: 369143
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 234eda563df3c207ed641c0ee550d73e10577d82 by jdoerfert
[Attributor] Towards a more structured deduction pattern
Summary: This is the first commit aiming to structure the attribute
deduction. The base idea is that we have default propagation patterns as
listed below on top of which we can add specific, e.g., context
sensitive, logic.
Deduction patterns used in this patch:
- argument states are determined from call site argument states,
   see AAAlignArgument and AAArgumentFromCallSiteArguments.
- call site argument states are determined as if they were floating
   values, see AAAlignCallSiteArgument and AAAlignFloating.
- floating value states are determined by traversing the def-use chain
   and combining the states determined for the leaves, see
   AAAlignFloating and genericValueTraversal.
- call site return states are determined from function return states,
   see AAAlignCallSiteReturned and AACallSiteReturnedFromReturned.
- function return states are determined from returned value states,
   see AAAlignReturned and AAReturnedFromReturnedValues.
Through this strategy all logic for alignment is concentrated in the
AAAlignFloating::updateImpl method.
Note: This commit works on its own but is part of a larger change that
involves "on-demand" creation of abstract attributes that will
participate in the fixpoint iteration. Without this part, we sometimes
do not have an AAAlign abstract attribute to query, loosing information
we determined before. All tests have appropriate FIXMEs and the
information will be recovered once we added all parts.
Reviewers: sstefan1, uenoku
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66126
llvm-svn: 369144
The file was modifiedllvm/test/Transforms/FunctionAttrs/noalias_returned.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/align.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 2e3ed4a852d07ef2d329fbb391a8d1c5bec337d2 by richard-llvm
Stop abusing SuppressAllDiagnostics when speculatively determining
whether an expression would be valid during error recovery.
llvm-svn: 369145
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Parse/ParseExpr.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit 217ff1e445605077622fac73c56887c85fa44a6f by a.bataev
[OPENMP5.0]Diagnose global variables in lambda not marked as declare
target.
According to OpenMP 5.0, if a lambda declaration and definition appears
between a declare target directive and the matching end declare target
directive, all variables that are captured by the lambda expression must
also appear in a to clause.
llvm-svn: 369146
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/OpenMP/declare_target_messages.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit f4cf3b959333f62b7a7b2d7771f7010c9d8da388 by caij2003
[ARM] push LR before __gnu_mcount_nc
Push LR register before calling __gnu_mcount_nc as it expects the value
of LR register to be the top value of the stack on ARM32.
Differential Revision: https://reviews.llvm.org/D65019
llvm-svn: 369147
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was addedllvm/test/CodeGen/ARM/gnu_mcount_nc.ll
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
Commit 856608c30a8b9f28333e0d1b9cacc19db6d688e8 by troyj
[Test Commit] Fix typo in diagtool.rst
Test commit after obtaining commit access.
llvm-svn: 369148
The file was modifiedclang/docs/CommandGuide/diagtool.rst
Commit 2d957cfe02a1b4c82068d1a0bf22bcffbba72a8a by caij2003
Revert "[ARM] push LR before __gnu_mcount_nc"
This reverts commit f4cf3b959333f62b7a7b2d7771f7010c9d8da388.
llvm-svn: 369149
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was removedllvm/test/CodeGen/ARM/gnu_mcount_nc.ll
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
Commit 8191585b36eb4963002cce43fb2e79e7fb05c3d6 by jlettner
[TSan] Don't guard #include <xpc/xpc.h>
The xpc_connection_* APIs that we are intercepting are available
starting at macOS 10.7. This is old enough so that we don't need to
guard them.
llvm-svn: 369150
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
Commit a17d1d2250448a8dcffc3c7be3a70eb24309537e by craig.topper
[X86] Use Register/MCRegister in more places in X86
This was a quick pass through some obvious places. I haven't tried the
clang-tidy check.
I also replaced the zeroes in getX86SubSuperRegister with
X86::NoRegister which is the real sentinel name.
Differential Revision: https://reviews.llvm.org/D66363
llvm-svn: 369151
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
The file was modifiedllvm/lib/Target/X86/X86FixupBWInsts.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp
The file was modifiedllvm/lib/Target/X86/AsmParser/X86Operand.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
Commit 250aafa2c4a1bc2395edfe8d4365545bbe56fffe by troyj
[X86] Support -mlong-double-80
Add an option group for all of the -mlong-double-* options and make
-mlong-double-80 restore the default long double behavior for X86.  The
motivations are that GNU accepts the -mlong-double-80 option and that
complex Makefiles often need a way of undoing earlier options. Prior to
this commit, if one chooses 64-bit or 128-bit long double for X86, there
is no way to undo that choice and restore the 80-bit behavior.
Differential Revision: https://reviews.llvm.org/D66055
llvm-svn: 369152
The file was modifiedclang/test/Driver/mlong-double-128.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 3af3f1e8e253d93cb655388af69f4ed1722b4f51 by Jonas Devlieghere
[Utility] Reimplement RegularExpression on top of llvm::Regex
Originally I wanted to remove the RegularExpression class in Utility and
replace it with llvm::Regex. However, during that transition I noticed
that there are several places where need the regular expression string.
So instead I propose to keep the RegularExpression class and make it a
thin wrapper around llvm::Regex.
This patch also removes the workaround for empty regular expressions.
The result is that we are now (more or less) POSIX conformant.
Differential revision: https://reviews.llvm.org/D66174
llvm-svn: 369153
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInRange.cpp
The file was modifiedlldb/source/Interpreter/CommandObject.cpp
The file was modifiedlldb/source/Symbol/ObjectFile.cpp
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
The file was modifiedlldb/unittests/Utility/NameMatchesTest.cpp
The file was modifiedlldb/source/Interpreter/OptionArgParser.cpp
The file was modifiedlldb/source/Host/common/Socket.cpp
The file was modifiedlldb/source/Core/Disassembler.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointResolverFileRegex.cpp
The file was modifiedlldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h
The file was modifiedlldb/include/lldb/Interpreter/OptionValueRegex.h
The file was modifiedlldb/source/Utility/RegularExpression.cpp
The file was modifiedlldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointResolverName.cpp
The file was modifiedlldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp
The file was modifiedlldb/source/Symbol/Variable.cpp
The file was modifiedlldb/source/Interpreter/OptionValueRegex.cpp
The file was modifiedlldb/include/lldb/Core/AddressResolverName.h
The file was modifiedlldb/unittests/Utility/CMakeLists.txt
The file was modifiedlldb/source/Core/AddressResolverName.cpp
The file was modifiedlldb/source/Interpreter/CommandObjectRegexCommand.cpp
The file was modifiedlldb/include/lldb/Breakpoint/BreakpointResolverName.h
The file was modifiedlldb/include/lldb/Utility/RegularExpression.h
The file was addedlldb/unittests/Utility/RegularExpressionTest.cpp
Commit f4bdbea02ff507bceb2c519ce01d92ed5b7f8bde by Jonas Devlieghere
[RWMutex] Simplify availability check
Check for the actual version number for the scenarios where the macOS
version isn't available (__MAC_10_12).
llvm-svn: 369154
The file was modifiedllvm/lib/Support/RWMutex.cpp
The file was modifiedllvm/include/llvm/Support/RWMutex.h
Commit 6dedc78d9ddd117a4a39ec626c5641c698b8600e by jdoerfert
[Attributor] Add all missing attribute definitions/symbols
As a preparation to "on-demand" abstract attribute generation we need
implementations for all attributes (as they can be queried and then
created on-demand where we now fail to find one).
Reviewers: uenoku, sstefan1
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66129
llvm-svn: 369155
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 8341a847a22800056aa9a7bf446f47f1a530668f by spatel
[CodeGenPrepare] fix RUN line settings
I'm not sure if this was running as expected with a broken triple.
llvm-svn: 369156
The file was modifiedllvm/test/Transforms/CodeGenPrepare/sink-shift-and-trunc.ll
Commit ac67414618df9fdc24754b05cf438f8f7568f04a by owenpiano
[clang-format] Fix the bug that joins template closer and > or >>
Also fixes a buggy test case.
See PR42404
Differential Revision: https://reviews.llvm.org/D66332
llvm-svn: 369157
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 17cb91853638facffe4a26fbf632c845a9830359 by jdoerfert
[CaptureTracking] Allow null to be in either icmp operand
Summary: Before we required the comparison against null to be
"canonical", hence null to be operand #1. This patch allows null to be
in either operand, similar to the handling of loaded globals that
follows.
Reviewers: sanjoy, hfinkel, aykevl, sstefan1, uenoku
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66321
llvm-svn: 369158
The file was modifiedllvm/lib/Analysis/CaptureTracking.cpp
The file was modifiedllvm/test/Transforms/FunctionAttrs/nocapture.ll
Commit cbaf1fdea2de891bdbc49cdec89ae2077e6b9ed0 by jdoerfert
[Attributor] Fix: Make sure we set the changed flag
The flag was updated *before* we actually run the visitor callback so we
might miss updates.
llvm-svn: 369159
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit f72d9b1c97b41fff48ad1eecbba59a29c171bff4 by jdoerfert
[Attributor] Fix: Do not partially resolve returned calls.
By partially resolving returned calls we did not record that they were
not fully resolved which caused odd behavior down the line. We could
also end up with some, but not all, returned values of the callee in the
returned values map of the caller, another odd behavior we want to
avoid.
llvm-svn: 369160
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 87869b398dbe525658d5ccfe2e9edd2cdf342662 by richard-llvm
[doc] Fix some minor formatting issues.
llvm-svn: 369161
The file was modifiedclang/docs/LanguageExtensions.rst
Commit eaff844fe9584be189ce66214efdf8ce1eceeb5b by efriedma
[ARM] Preserve liveness in ARMConstantIslands.
We currently don't use liveness information after this point, but it can
be useful to catch bugs using -verify-machineinstrs, and optimizations
could potentially use this information in the future.
Differential Revision: https://reviews.llvm.org/D66319
llvm-svn: 369162
The file was modifiedllvm/test/CodeGen/ARM/constant-island-movwt.mir
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
Commit 97176bd2bce003353b23e554e95a52780cb0f87c by lebedev.ri
[InstCombine][NFC] Revisit tests in
reuse-constant-from-select-in-icmp.ll
llvm-svn: 369163
The file was modifiedllvm/test/Transforms/InstCombine/reuse-constant-from-select-in-icmp.ll
Commit 4a9b747bfb5579f69514a13b643684714343d4e7 by jlettner
[TSan] Add interceptors for os_unfair_lock
llvm-svn: 369164
The file was addedcompiler-rt/test/tsan/Darwin/os_unfair_lock.c
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
Commit 0c2f26d664020e50b096a927d22c1085679c022e by jlettner
Revert "[TSan] Don't guard #include <xpc/xpc.h>"
This reverts commit 8191585b36eb4963002cce43fb2e79e7fb05c3d6.
llvm-svn: 369165
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
Commit 515ad8fe4acbfcd0eb6c179a61e2acb134495843 by lebedev.ri
[InstCombine][NFC] reuse-constant-from-select-in-icmp.ll - check
branch_weights too
llvm-svn: 369166
The file was modifiedllvm/test/Transforms/InstCombine/reuse-constant-from-select-in-icmp.ll
Commit d0797ece4641580d0c2c4a60ff3d6696b657a2e5 by rupprecht
Revert [X86] SimplifyDemandedVectorElts - attempt to recombine target
shuffle using DemandedElts mask (reapplied)
This reverts r368662 (git commit
1a8d790cf5f89c1df718844f13e934e39bef6ef5)
The compile-time regression repro is in
https://bugs.llvm.org/show_bug.cgi?id=43024
llvm-svn: 369167
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
The file was modifiedllvm/test/CodeGen/X86/vec_umulo.ll
The file was modifiedllvm/test/CodeGen/X86/vec_smulo.ll
The file was modifiedllvm/test/CodeGen/X86/shrink_vmul.ll
Commit acceedb15f52108d0e36d8090cb25fcdf34a4fc1 by spatel
[CodeGenPrepare] Fix use-after-free
If OptimizeExtractBits() encountered a shift instruction with no
operands at all, it would erase the instruction, but still return false.
This previously didn’t matter because its caller would always return
after processing the instruction, but https://reviews.llvm.org/D63233
changed the function’s caller to fall through if it returned false,
which would then cause a use-after-free detectable by ASAN.
This change makes OptimizeExtractBits return true if it removes a shift
instruction with no users, terminating processing of the instruction.
Patch by: @brentdax (Brent Royal-Gordon)
Differential Revision: https://reviews.llvm.org/D66330
llvm-svn: 369168
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
The file was modifiedllvm/test/Transforms/CodeGenPrepare/sink-shift-and-trunc.ll
Commit 7da81b5e4d2b9cb389cff28c1cc144abcf986f66 by phosek
[llvm-readobj] Fallback to PT_NOTE if file doesn't have sections
This is useful when trying to read notes from stripped files and matches
the behavior of GNU readelf and eu-readelf.
Differential Revision: https://reviews.llvm.org/D66358
llvm-svn: 369169
The file was modifiedllvm/test/tools/llvm-readobj/gnu-notes.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 0dd9494d4701de60479d03db9012a5524a39932a by troyj
Revert "[X86] Support -mlong-double-80"
This reverts commit 250aafa2c4a1bc2395edfe8d4365545bbe56fffe. Caused
buildbot failures -- still investigating.
llvm-svn: 369170
The file was modifiedclang/test/Driver/mlong-double-128.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit 8e2837e549dba107f8dcac0cd33d855ffecb40e6 by Lang Hames
[ORC] Re-introduce self-dependence accidentally dropped from a unit
test.
llvm-svn: 369171
The file was modifiedllvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
Commit 57ec292ab80002b8dbc3e9b201be5d4e22917449 by Amara Emerson
[AArch64][GlobalISel] Fix an assertion during G_UNMERGE selection for
s128 types.
llvm-svn: 369172
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-unmerge.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
Commit 16fa8b09702378bacfa3d07081afe6b353b99e60 by caij2003
Reland "[ARM] push LR before __gnu_mcount_nc"
This relands r369147 with fixes to unit tests.
https://reviews.llvm.org/D65019
llvm-svn: 369173
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/Transforms/EntryExitInstrumenter/mcount.ll
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb.td
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was modifiedllvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was addedllvm/test/CodeGen/ARM/gnu_mcount_nc.ll
The file was modifiedclang/test/Frontend/gnu-mcount.c
Commit a53ad0e157d19487e2baab9e7bd02bdf1e353782 by spatel
Revert r367891 - "[InstCombine] combine mul+shl separated by zext"
This reverts commit 5dbb90bfe14ace30224239cac7c61a1422fa5144.
As noted in the post-commit thread for r367891, this can create a
multiply that is lowered to a libcall that may not exist.
We need to improve the backend decomposition for integer multiply before
trying to re-land this (if it's still worthwhile after doing the backend
work).
llvm-svn: 369174
The file was modifiedllvm/test/Transforms/InstCombine/shift.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
Commit 43c8b19546ae646630898a7b0fe0a517633410de by Adrian Prantl
Add LLDB dataformatters for llvm::StringRef and
lldb_private::ConstString
These data formatters make the string value appear in Xcode's variables
view (and on the command line) without having to expand the data
structure.
Differential Revision: https://reviews.llvm.org/D66354
llvm-svn: 369175
The file was modifiedllvm/utils/lldbDataFormatters.py
Commit 0b5ecef299fd7b430ddaace420cb2f10f1846873 by phosek
[llvm-readobj] Unwrap the value first to avoid the error
This addresses the issue introduced in r369169, we need to unwrap the
value first before we can check whether it's empty. This also swaps the
two branches to put the common path first which should be NFC.
llvm-svn: 369177
The file was modifiedllvm/test/tools/llvm-readobj/gnu-notes.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit 69cef325a337bb1a498689a95dd17de4d4a074cc by Adrian Prantl
Simplify code (NFC).
llvm-svn: 369179
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Commit edf504f5038b573a3e2f0eedfa7de69ec0ab9e7f by phosek
[Fuchsia] Create the VMO during initialization, not during exit
We want to avoid doing expensive work during atexit since the process
might be terminated before we can publish the VMO and write out the
symbolizer markup, so move the VMO creation to the initialization phase
and only write data during the atexit phase.
Differential Revision: https://reviews.llvm.org/D66323
llvm-svn: 369180
The file was modifiedcompiler-rt/lib/profile/InstrProfilingPlatformFuchsia.c
Commit f92109dc01b831304bedc990c41d8ea4bfd0a277 by asbirlea
[MemorySSA] Loop passes should mark MSSA preserved when available.
This patch applies only to the new pass manager. Currently, when MSSA
Analysis is available, and pass to each loop pass, it will be preserved
by that loop pass. Hence, mark the analysis preserved based on that
condition, vs the current `EnableMSSALoopDependency`. This leaves the
global flag to affect only the entry point in the loop pass manager (in
FunctionToLoopPassAdaptor).
llvm-svn: 369181
The file was modifiedllvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopRotation.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
Commit ee6700f69766b57849f483f471387229e495e311 by diegoaat97
[clang-doc] Fix casting not working in gcc 5.4.0
An implicit cast of std::string to llvm::SmallString<> was breaking GCC
5.4.0 builder. A pair using llvm::SmallString<> now uses std::string.
Differential Revision: https://reviews.llvm.org/D66378
llvm-svn: 369182
The file was modifiedclang-tools-extra/clang-doc/HTMLGenerator.cpp
Commit c0d70bca0f9f421db80c8e96a4b5dda12de46f2f by troyj
[X86] Support -mlong-double-80
Add an option group for all of the -mlong-double-* options and make
-mlong-double-80 restore the default long double behavior for X86.  The
motivations are that GNU accepts the -mlong-double-80 option and that
complex Makefiles often need a way of undoing earlier options. Prior to
this commit, if one chooses 64-bit or 128-bit long double for X86, there
is no way to undo that choice and restore the 80-bit behavior.
Differential Revision: https://reviews.llvm.org/D66055
llvm-svn: 369183
The file was modifiedclang/test/Driver/mlong-double-128.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit d5d79dfd563d45eabfe9b8f5967e5ccfa5755e5c by maskray
[ELF][PPC] Fix getRelExpr for R_PPC64_REL16_HI
Fixes https://github.com/ClangBuiltLinux/linux/issues/640
R_PPC64_REL16_HI was incorrectly computed as an R_ABS relocation.
rLLD368964 made it a linker failure. Change it to use R_PC to fix the
failures.
Add ppc64-reloc-rel.s for these R_PPC64_REL* tests.
llvm-svn: 369184
The file was modifiedlld/test/ELF/ppc64-relocs.s
The file was modifiedlld/ELF/Arch/PPC64.cpp
The file was addedlld/test/ELF/ppc64-reloc-rel.s
Commit 93c7a4a47cc2f69e5bda9f80f86182d0ac29bcbd by paul.walker
Revert [AArch64InstrInfo] Stop getInstSizeInBytes returning non-zero for
meta instructions.
This reverts r369133 (git commit
2632c677f85cba1ac2aef5d68aaf8af0f5b3c944)
llvm-svn: 369185
The file was removedllvm/test/CodeGen/AArch64/branch-relax-block-size.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Commit 26295676a44d1d805f8fe3f4e5c6196d3d8fd74e by paul.walker
Revert Revert [AArch64InstrInfo] Stop getInstSizeInBytes returning
non-zero for meta instructions.
This reverts r369132 (git commit
19301d75f086caae1a495d267f5d0264b225942d)
llvm-svn: 369186
The file was addedllvm/test/CodeGen/AArch64/branch-relax-block-size.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Commit a560bbf7a0374a6d1b9e8b6284037778cb135f1e by maskray
[ELF] Replace local variable hasExportDynamic with
config->exportDynamic. NFC
llvm-svn: 369187
The file was modifiedlld/ELF/Driver.cpp
Commit 30cde4e2e6a5b31e8246ad3fbc30d2e37ee04798 by troyj
[circular_raw_ostream] Delegate is_displayed to contained stream
raw_ostream has an is_displayed() member function that determines if the
stream is connected to a console for display or is connected to a
file/pipe. By default, is_displayed() returns false, and derived classes
like raw_fd_ostream override it. Because circular_raw_ostream wraps
another stream, its result for is_displayed() should be the same as that
stream.
Differential Revision: https://reviews.llvm.org/D66026
llvm-svn: 369188
The file was modifiedllvm/include/llvm/Support/circular_raw_ostream.h
Commit 50166f81072c8aba7690b0a57e751393732b64e8 by grimar
[test] - Remove precomiled openbsd-phdrs.elf-x86-64 objects.
There are 2 similar openbsd-phdrs.elf-x86-64 objects committed and used
in test/Object and test/tools/llvm-objdump test cases.
There is no reason to have them, we can use YAML instead. Patch does
that.
Differential revision: https://reviews.llvm.org/D66342
llvm-svn: 369189
The file was removedllvm/test/Object/Inputs/openbsd-phdrs.elf-x86-64
The file was addedllvm/test/tools/llvm-objdump/openbsd-headers.test
The file was removedllvm/test/tools/llvm-objdump/X86/openbsd-headers.test
The file was modifiedllvm/test/tools/llvm-readobj/program-headers.test
The file was removedllvm/test/tools/llvm-objdump/X86/Inputs/openbsd-phdrs.elf-x86-64
Commit bb56755f153a83387fa6c7fa0a6d7d540da41633 by grimar
[llvm-readobj/llvm-readelf] - Improve/cleanup the error reporting API.
urrently we have the following functions for error reporting:
-- LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg); void
reportError(Error Err, StringRef Input);  void reportWarning(Twine Msg);
void reportWarning(StringRef Input, Error Err); void warn(llvm::Error
Err); void error(std::error_code EC);
---
Problems are: naming is inconsistent, arguments order is inconsistent,
some of the functions looks excessive.
After applying this patch we have:
--- LLVM_ATTRIBUTE_NORETURN void reportError(Error Err, StringRef
Input);  LLVM_ATTRIBUTE_NORETURN void reportError(std::error_code EC,
StringRef Input); void reportWarning(Error Err, StringRef Input);
---
I'd be happy to remove reportError(std::error_code EC, StringRef Input)
too, but it is used by COFF heavily.
Test cases were updated, they show an improvement introduced.
Differential revision: https://reviews.llvm.org/D66286
llvm-svn: 369190
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/tools/llvm-readobj/MachODumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-broken-dynsym-link.test
The file was modifiedllvm/test/tools/llvm-readobj/note-core-ntfile-bad.test
The file was modifiedllvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-non-dynamic-in-pt-dynamic.test
The file was modifiedllvm/test/tools/llvm-readobj/hex-dump.test
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/Object/invalid.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-malformed.test
The file was modifiedllvm/test/tools/llvm-readobj/mips-got.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-not-in-pt-dynamic.test
The file was modifiedllvm/test/tools/llvm-readobj/string-dump.test
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.h
The file was modifiedllvm/test/tools/llvm-readobj/elf-malformed-pt-dynamic.test
Commit b3d258fc44b588f06eb35f8e4b9a6d1fc859acec by shkzhang
[CodeGen] Do the Simple Early Return in block-placement pass to optimize
the blocks
Summary:
Fix a bug of preducessors.
In `block-placement` pass, it will create some patterns for
unconditional we can do the simple early retrun. But the `early-ret`
pass is before `block-placement`, we don't want to run it again. This
patch is to do the simple early return to optimize the blocks at the
last of `block-placement`.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D63972
llvm-svn: 369191
The file was modifiedllvm/test/CodeGen/PowerPC/block-placement.mir
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
Commit e9f28133a9fb42156a76f03e8beb85be93b793d2 by grimar
[llvm-readobj] - An attemp to fix BB after r369191.
Few BB failed with the following error:
Command Output (stderr):
--
/home/buildbots/ppc64be-clang-lnt-test/clang-ppc64be-lnt/llvm/test/tools/llvm-readobj/stack-sizes.test:263:19:
error: BADSECTION-OUT: expected string not found in input
# BADSECTION-OUT: 8 ?
                 ^
<stdin>:4:1: note: scanning from here
^
It doesn't reproduce on ubuntu/windows I have. Also, seems many of the
bots are happy too.
This slightly reorders the code to make fouts().flush() call earlier,
like it was before the r369191.
llvm-svn: 369192
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
Commit c35d4c900d209b57f8cf8fe9030ecda054488b71 by grimar
Revert r369190, r369192 ([llvm-readobj/llvm-readelf] - Improve/cleanup
the error reporting API.)
It caused multiple BB failtures:
http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/9743/steps/stage%201%20check/logs/stdio
http://lab.llvm.org:8011/builders/clang-cmake-x86_64-sde-avx512-linux/builds/26042/steps/ninja%20check%201/logs/FAIL%3A%20LLVM%3A%3Astack-sizes.test
llvm-svn: 369193
The file was modifiedllvm/tools/llvm-readobj/MachODumper.cpp
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.h
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-not-in-pt-dynamic.test
The file was modifiedllvm/test/tools/llvm-readobj/mips-got.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/note-core-ntfile-bad.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-malformed-pt-dynamic.test
The file was modifiedllvm/test/tools/llvm-readobj/string-dump.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-broken-dynsym-link.test
The file was modifiedllvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-malformed.test
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
The file was modifiedllvm/test/Object/invalid.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-non-dynamic-in-pt-dynamic.test
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/hex-dump.test
Commit e3fb2d549b6820ab60806240cbf69e7447e71a86 by grimar
Recommit r369190 "[llvm-readobj/llvm-readelf] - Improve/cleanup the
error reporting API."
Fix: Add a `consumeError` call removed by mistake to 'printStackSize',
this should fix the "Expected<T> must be checked before access or
destruction." reported by following bot:
http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/9743/steps/stage%201%20check/logs/stdio
Original commit message: Currently we have the following functions for
error reporting:
LLVM_ATTRIBUTE_NORETURN void reportError(Twine Msg); void
reportError(Error Err, StringRef Input);  void reportWarning(Twine Msg);
void reportWarning(StringRef Input, Error Err); void warn(llvm::Error
Err); void error(std::error_code EC);
Problems are: naming is inconsistent, arguments order is inconsistent,
some of the functions looks excessive.
After applying this patch we have:
void reportError(Error Err, StringRef Input);  void
reportError(std::error_code EC, StringRef Input); void
reportWarning(Error Err, StringRef Input);
I'd be happy to remove reportError(std::error_code EC, StringRef Input)
too, but it is used by COFF heavily.
Test cases were updated, they show an improvement introduced.
Differential revision: https://reviews.llvm.org/D66286
llvm-svn: 369194
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-malformed.test
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.h
The file was modifiedllvm/test/tools/llvm-readobj/hex-dump.test
The file was modifiedllvm/test/tools/llvm-readobj/mips-got.test
The file was modifiedllvm/test/tools/llvm-readobj/string-dump.test
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.cpp
The file was modifiedllvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
The file was modifiedllvm/test/tools/llvm-readobj/elf-broken-dynsym-link.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-not-in-pt-dynamic.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-malformed-pt-dynamic.test
The file was modifiedllvm/tools/llvm-readobj/MachODumper.cpp
The file was modifiedllvm/test/tools/llvm-readobj/elf-non-dynamic-in-pt-dynamic.test
The file was modifiedllvm/test/Object/invalid.test
The file was modifiedllvm/test/tools/llvm-readobj/note-core-ntfile-bad.test
Commit 032e1fdcd47ef98936c88aa30571c6a713179a46 by dkszelethus
[analyzer] Turn an assert into an if condition
Shocker, turns out that terminator conditions that are binary operators
aren't always logical operators.
llvm-svn: 369195
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
The file was modifiedclang/test/Analysis/track-control-dependency-conditions.cpp
Commit 8fd6aa5ed2d61d6ebba1185f59fe0e57fd218429 by cpplearner
[SemaDeclCXX] Allow inheriting constructor declaration to specify a
cv-qualified type
Differential Revision: https://reviews.llvm.org/D47419
llvm-svn: 369196
The file was modifiedclang/test/CXX/special/class.inhctor/elsewhere.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
Commit e8f666f48d87e3d61ae3f68ed96d280805707a22 by lebedev.ri
[NFC][InstCombine] Some tests for 'shift amount reassoc in bit test -
trunc-of-lshr' (PR42399)
Finally, the fold i was looking forward to :)
The legality check is muddy, i doubt  i've groked the full
generalization, but it handles all the cases i care about, and can come
up with: https://rise4fun.com/Alive/26j
https://bugs.llvm.org/show_bug.cgi?id=42399
llvm-svn: 369197
The file was addedllvm/test/Transforms/InstCombine/shift-amount-reassociation-in-bittest-with-truncation-lshr.ll
Commit 37a928efd9f579126d5290f1ebb830eac053739a by Raphael Isemann
[lldb][NFC] Remove unused MaterializeInitializer and
MaterializeInternalVariable
llvm-svn: 369198
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h
Commit a8dad5c79b64523e4c39d2ee32739f8894d40129 by yhs
[BPF] Fix bpf llvm-objdump issues.
Commit https://reviews.llvm.org/D57939 ("[DWARF] Refactor RelocVisitor
and fix computation of SHT_RELA-typed relocation entries) made a change
for relocation resolution when operating on an object file.
The change unfortunately broke BPF as given SymbolValue (S) and Addent
(A), previously relocation is resolved to
   S + A and after the change, it is resolved to
   S
This patch fixed the issue by resolving relocation correctly.
It looks not all relocation resolution reaches here and I did not trace
down exactly when. But I do find if the object file includes codes in
two different ELF sections than default ".text", the above bug will be
triggered.
This patch included a trivial two function source code to demonstrate
this issue. The relocation for .debug_loc is resolved incorrectly due to
this and llvm-objdump cannot display source annotated assembly.
Differential Revision: https://reviews.llvm.org/D66372
llvm-svn: 369199
The file was modifiedllvm/lib/Object/RelocationResolver.cpp
The file was addedllvm/test/CodeGen/BPF/objdump_two_funcs.ll
Commit 31f829f0cd4dbc00066ff0c5929f07a46e204102 by craig.topper
[X86] Add a one use check to the combineStore code that handles
v16i16->v16i8 truncate+store by extending to v16i32 and then emitting a
v16i32->v16i8 truncstore.
This prevent us from emitting a separate truncate and a truncating store
instruction.
llvm-svn: 369200
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-trunc.ll
Commit 8651ec6a84498f8b81a74a1f89ce60c29a2984bf by Matthew.Arsenault
TableGen: Revert changes from r369038
These aren't needed for a specific use yet, and I meant to not commit
these.
llvm-svn: 369201
The file was modifiedllvm/utils/TableGen/IntrinsicEmitter.cpp
Commit cfdc2b9bd92bb27fd8d69a47158731e03b5ad769 by Matthew.Arsenault
AMDGPU: Disambiguate v3f16 format in load/store tables
Currently the searchable tables report the number of dwords. These round
to the same number for 3 and 4 component d16 instructions. Change this
to report the number of elements so this isn't ambiguous.
llvm-svn: 369202
The file was modifiedllvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.td
Commit 479f3bdb2c87838e5edd57e8bf7718f8307cf935 by Matthew.Arsenault
AMDGPU: Fix iterator error when lowering SI_END_CF
If the instruction is the last in the block, there is no next
instruction but the iteration still needs to look at the new block.
llvm-svn: 369203
The file was modifiedllvm/test/CodeGen/AMDGPU/si-lower-control-flow.mir
The file was modifiedllvm/lib/Target/AMDGPU/SILowerControlFlow.cpp
Commit f43106e341d16448921b2186ae225a859c7b5aa8 by craig.topper
[SelectionDAG] Add a node creation debug message to getMachineNode.
llvm-svn: 369204
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit 74168ded0399a30fe9cf4d73a28a6045cc685088 by craig.topper
[TargetLowering] Teach computeRegisterProperties to only widen
v3i16/v3f16 vectors to the next power of 2 type if that's legal.
These were recently made simple types. This restores their behavior back
to something like their EVT legalization.
We might be able to fix the code in type legalization where the assert
was failing, but I didn't investigate too much as I had already looked
at the computeRegisterProperties code during the review for v3i16/v3f16.
Most of the test changes restore the X86 codegen back to what it looked
like before the recent change. The test case in vec_setcc.ll and is a
reduced version of the reproducer from the fuzzer.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16490
llvm-svn: 369205
The file was modifiedllvm/test/CodeGen/X86/vec_setcc.ll
The file was modifiedllvm/test/CodeGen/X86/promote-vec3.ll
The file was modifiedllvm/test/CodeGen/X86/vec_cast.ll
The file was modifiedllvm/test/CodeGen/X86/widen_load-2.ll
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
Commit b4806822d2d52e0e7a29ba1c15a435e2e97a82e7 by david.bolvansky
[Diagnostics] Improve -Wsizeof-pointer-div
Emit diag note with a location of pointer declaration. Revisited/added
tests.
llvm-svn: 369206
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Sema/div-sizeof-ptr.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 9b957d332171d4daadf1906b18646f05366584d4 by lebedev.ri
[InstCombine] Cherry-pick NFC cleanups of
foldShiftIntoShiftInAnotherHandOfAndInICmp() from D66383
llvm-svn: 369207
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 000dfdab2dfcac736ce7ccb01029c862b338b346 by llvm-dev
[MC] MCFixup - Fix cppcheck + MSVC analyzer uninitialized member
variable warnings. NFCI.
llvm-svn: 369208
The file was modifiedllvm/include/llvm/MC/MCFixup.h
Commit 133e2d7bf83c8423f03c5fab58c7ac48dbfc9e0a by llvm-dev
[X86][SSE] Improve PACKSS shuffle tests to better match codegen from
D61129
D61129 creates 'concat + trunc' style patterns (at the 128-bit subvector
level)
llvm-svn: 369209
The file was modifiedllvm/test/CodeGen/X86/packss.ll
Commit a66edd86e27a59b78588169b060e2f032fdb16ae by llvm-dev
[X86] isTargetShuffleEquivalent - early out on illegal shuffle masks.
NFCI.
Simplifies shuffle mask comparisons by just bailing out if the shuffle
mask has any out of range values - will make an upcoming patch much
simpler.
llvm-svn: 369211
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit fee2546f3f2ea003cd09970d71ff729dc8c76b3c by llvm-dev
[X86] isTargetShuffleEquivalent - add BUILD_VECTOR matching
Add similar functionality to isShuffleEquivalent - if the mask elements
don't match, try matching the BUILD_VECTOR scalars instead.
As target shuffles need to handle SM_Sentinel values, this can get a bit
tricky, so commit just adds actual mask element index handling - full
SM_SentinelZero support will be added when the need arises.
Also, enables support in matchVectorShuffleWithPACK
llvm-svn: 369212
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/packss.ll
Commit 63b3c56fca6d727feeb66ad5796e392ecd314443 by llvm-dev
Fix signed/unsigned comparison warning. NFCI.
llvm-svn: 369213
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 37860d524e86488e683bb04064ec34cebb4c74c3 by owenpiano
[clang-format] Fix a bug that joins template closer and =
Also fixes the documentation for SpaceBeforeAssignmentOperators.
See discussions at https://reviews.llvm.org/D66332
Differential Revision: https://reviews.llvm.org/D66384
llvm-svn: 369214
The file was modifiedclang/include/clang/Format/Format.h
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
Commit 9e074c06fe08c6b2da3d119c7aa7e6724a8d13ab by craig.topper
[X86] Improve lower1BitShuffle handling for KSHIFTL on narrow vectors.
We can insert the value into a larger legal type and shift that by the
desired amount.
llvm-svn: 369215
The file was modifiedllvm/test/CodeGen/X86/kshift.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit c944438dfdbd6de9785f4652244e80d194f40b92 by d4m1887
[Docs] Test commit
Fixes typo - Removes extra space between last word of sentence and
period.
llvm-svn: 369216
The file was modifiedllvm/docs/TestingGuide.rst
Commit 920890e26812f808a74c60ebc14cc636dac661c1 by david.bolvansky
[Diagnostics] Diagnose misused xor as pow
Summary: Motivation:
https://twitter.com/jfbastien/status/1139298419988549632
https://twitter.com/mikemx7f/status/1139335901790625793
https://codesearch.isocpp.org/cgi-bin/cgi_ppsearch?q=10+%5E&search=Search
Reviewers: jfb, rsmith, regehr, aaron.ballman
Reviewed By: aaron.ballman
Subscribers: lebedev.ri, Quuxplusone, erik.pilkington, riccibruno,
dexonsmith, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D63423
llvm-svn: 369217
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was addedclang/test/SemaCXX/warn-xor-as-pow.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit a264b6074a4f8cf9b2eddeda9f636b3b150502c1 by Lang Hames
[ORC] Remove some dead code.
llvm-svn: 369218
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Speculation.h
Commit cf276ba82e815fe171b3858a0b06d8f0f6c86fa2 by Lang Hames
[ORC] Make sure we linker-mangle symbol names in the SpeculationLayer.
If mangling is not performed then speculative lookups will fail.
llvm-svn: 369219
The file was modifiedllvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/Orc/Speculation.h
Commit 45e598d1357c4436f5a13afa5e57c3600e13f2c1 by Jonas Devlieghere
[CMake] Update CMAKE_OSX_DEPLOYMENT_TARGET to 10.12.
After LLVM moved to C++14, the RWMutex implementation was removed in
favor of std::shared_timed_mutex, which is only available on macOS 10.12
and later. As a workaround for older deployment targets, I added
  the original RWMutexImpl again, guarded by the deployment target.
When doing a standalone build of LLDB using the Xcode generator, the
CMake cache specifies a minimum deployment target. However, LLVM and
Clang might have been built with a different minimum deployment target.
This is exactly what happened for the Xcode build. LLVM was built with a
minimum deployment target newer than 10.12, using
std::shared_timed_mutex. LLDB on the other hand was built with a minimum
deployment target of 10.11, using the old RWMutexImpl, resulting in
undefined symbols at link-time.
This patch changes the minimum deployment target for the Xcode build to
10.12 to work around this problem. A better solution would involve
synchronizing the minimum deployment or even not setting one at all.
llvm-svn: 369220
The file was modifiedlldb/cmake/caches/Apple-lldb-Xcode.cmake
Commit c313944da629acf66669b6bb76d33304d2dda483 by hubert.reinterpretcast
[cmake] Move blocks out of redundant else( MSVC ); NFC
Address post-commit comment on D66256 regarding the `else( MSVC )` block
containing only blocks guarded with `LLVM_COMPILER_IS_GCC_COMPATIBLE`,
which would imply `NOT MSVC`.
llvm-svn: 369221
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit 388b8dd94a470e589f5c01d27a38eb4c741db3b7 by craig.topper
[X86] Replace uses of getZeroVector for vXi1 vectors with
DAG.getConstant.
vXi1 vectors don't need special handling.
llvm-svn: 369222
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 6bd2e8eff817daa26d26a6f00f220b357857aa75 by craig.topper
[X86] Add test cases for suboptimal insertion of a vXi1 vector into a
larger vector with zeros in the lower elements and undef upper elements.
Currently we generate kshifts to clear both the upper and lower
elements, but we only need one kshift.
llvm-svn: 369223
The file was modifiedllvm/test/CodeGen/X86/avx512-skx-insert-subvec.ll
Commit 2ee46c7c4be1be5fa48af39232f62cf26d742efa by craig.topper
[X86] Add a special case to LowerCONCAT_VECTORSvXi1 to handle
concatenating zero vectors followed by one non-zero vector followed by
undef vectors.
For such a case we should only need a KSHIFTL, but we were previously
generating a KSHIFTL followed by a KSHIFTR because we mistakenly
believed we need to zero the undef elements.
llvm-svn: 369224
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/avx512-skx-insert-subvec.ll
Commit c9ee4c7c2207e48c5afaf4de7e2cb241a6837681 by craig.topper
[X86] Add test case for missed opportunity to recognize a vXi1 shuffle
as an insert into a zero vector.
We are currently missing this because shuffle canonicalization puts the
zero vector as V1 and the subvector as V2. Our current code doesn't
recognize this case.
llvm-svn: 369225
The file was modifiedllvm/test/CodeGen/X86/avx512-skx-insert-subvec.ll
Commit 2eb7951da39287ff12be9def2f0b08535c25a799 by craig.topper
[X86] Teach lower1BitShuffle to recognize padding a subvector with zeros
with V2 as the source and V1 as the zero vector.
Shuffle canonicalization can swap the sources so the zero vector might
be V1 and the subvector that's being padded can be V2.
llvm-svn: 369226
The file was modifiedllvm/test/CodeGen/X86/avx512-skx-insert-subvec.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 269c6b1c15a7d105aa39de728e293614de18f973 by craig.topper
[X86] Teach lower1BitShuffle to match KSHIFTR that doesn't use Zeroable
and only relies on undef.
This allows us to widen the type when the KSHIFTR instruction doesn't
exist for the type. If we need to shift in zeroes into the upper
elements we would need more work to guarantee zeroes when widening.
llvm-svn: 369227
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/kshift.ll
Commit e47437a6effcbfce191f6a37f6e421624426201e by craig.topper
[X86] Fix the lower1BitShuffle code added in r369215 to correctly pass
the widened vector to the KSHIFT node.
Not sure how to test this as we have tests that exercise this code, but
nothing failed for the types not matching. Since all the k-registers use
equivalent register classes everything just ends up working.
llvm-svn: 369228
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit dfe5f3eb0a0055244d019ede9214e7df8b7a9cca by zeratul976
[clangd] Update features table in the docs with links to LSP extension
proposals
Also update the semantic coloring entry to reflect it being supported in
clangd now.
Reviewers: sammccall
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D65373
llvm-svn: 369229
The file was modifiedclang-tools-extra/docs/clangd/Features.rst
Commit 4a198a7f990812f6a64ecb2d20d3503c66b5dea2 by nuta
[llvm-objcopy][MachO] Support load commands used in executables/shared
libraries
Summary: This patch implements copying some load commands that appear in
executables/shared libraries such as the indirect symbol table.
I don't add tests intentionally because this patch is incomplete: we
need a layout algorithm for executables/shared libraries. I'll submit it
as a separate patch with tests.
Reviewers: alexshap, rupprecht, jhenderson, compnerd
Reviewed By: alexshap
Subscribers: abrachet, mgorny, mgrang, MaskRay, mtrent, jakehehrlich,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D63395
llvm-svn: 369230
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.cpp
The file was addedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.h
The file was addedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h
The file was modifiedllvm/tools/llvm-objcopy/CMakeLists.txt
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
Commit dee9546b8f8386223769e96becc2e24ddcc39de7 by nuta
[llvm-objcopy][MachO] Implement a layout algorithm for executables
Summary: The layout algorithm for relocatable objects and for executable
are somewhat different. This patch implements the latter one based on
the algorithm in LLD (MachOFileLayout).
Reviewers: alexshap, rupprecht, jhenderson
Reviewed By: alexshap
Subscribers: jakehehrlich, abrachet, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65539
llvm-svn: 369231
The file was addedllvm/test/tools/llvm-objcopy/MachO/basic-executable-copy.test
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
Commit ebb7ddc6330b28b8c7e53d4c68d3684c127a41c1 by craig.topper
[X86] Teach lower1BitShuffle to match right shifts with upper zero
elements on types that don't natively support KSHIFT.
We can support these by widening to a supported type, then shifting all
the way to the left and then back to the right to ensure that we shift
in zeroes.
llvm-svn: 369232
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/kshift.ll
Commit 38426c114f6e50f8638bdd656f2f423151bc8eca by maskray
[MC] Don't emit .symver redirected symbols to the symbol table
GNU as keeps the original symbol in the symbol table for defined @ and
@@, but suppresses it in other cases (@@@ or undefined). The original
symbol is usually undesired: In a shared object, the original symbol can
be localized with a version script, but it is hard to remove/localize in
an archive:
1) a post-processing step removes the undesired original symbol 2)
consumers (executable) of the archive are built with the
  version script
Moreover, it can cause linker issues like binutils PR/18703 if the
original symbol name and the base name of the versioned symbol is the
same (both ld.bfd and gold have some code to work around defined @ and
@@). In lld, if it sees f and f@v1:
  --version-script =(printf 'v1 {};') => f and f@v1
--version-script =(printf 'v1 { f; };') => f@v1 and f@@v1
It can be argued that @@@ added on 2000-11-13 corrected the @ and @@
mistake.
This patch catches some more multiple version errors (defined @ and @@),
and consistently suppress the original symbol. This addresses all the
problems listed above.
If the user wants other aliases to the versioned symbol, they can copy
the original symbol to other symbol names with .set directive, e.g.
    .symver f, f@v1  # emit f@v1 but not f into .symtab
   .set f_impl, f   # emit f_impl into .symtab
llvm-svn: 369233
The file was addedllvm/test/MC/ELF/symver-multiple-version.s
The file was modifiedllvm/test/MC/PowerPC/ppc64-localentry-symbols.s
The file was modifiedllvm/test/LTO/X86/symver-asm.ll
The file was removedllvm/test/MC/ELF/multiple-different-symver.s
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
The file was modifiedllvm/test/MC/ARM/arm-elf-symver.s
The file was modifiedllvm/test/MC/ELF/symver.s
The file was modifiedllvm/test/LTO/X86/symver-asm2.ll
Commit 1e335611adc863201a3522705d30b989e76d2b66 by nuta
Revert r369230 and r369231
Looks these commits break CI builds:
-
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-gn/builds/4159
This commit reverts r369230 and r369231 (git coommit: 4a198a7 and
dee9546).
llvm-svn: 369234
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOWriter.h
The file was removedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/Object.h
The file was modifiedllvm/tools/llvm-objcopy/CMakeLists.txt
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOReader.cpp
The file was removedllvm/test/tools/llvm-objcopy/MachO/basic-executable-copy.test
The file was removedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h
Commit 0697bcd1276111e2917b090cde8535ee2f61fbe0 by jan.kratochvil
[lldb] Remove unused inheritance in RegularExpression
D66174 left inherited llvm::Regex which is now a member variable there.
Approved as a part of: https://reviews.llvm.org/D66392#1634575
llvm-svn: 369235
The file was modifiedlldb/include/lldb/Utility/RegularExpression.h
Commit b1752f670f3d6393306dd5d37546b6e23384d8a2 by dlj
Revert [Attributor] Fix: Do not partially resolve returned calls.
This reverts r369160 (git commit
f72d9b1c97b41fff48ad1eecbba59a29c171bff4)
r369160 caused some tests to fail under UBSAN. See thread on
llvm-commits.
llvm-svn: 369236
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 21599876be328ff6b5c6cf09544ade7e337cb48d by Raphael Isemann
[lldb][NFC] Address review comments to StringList for-loop support
llvm-svn: 369237
The file was modifiedlldb/source/Utility/StringList.cpp
The file was modifiedlldb/include/lldb/Utility/StringList.h
The file was modifiedlldb/unittests/Utility/StringListTest.cpp
The file was modifiedlldb/source/Commands/CommandObjectType.cpp
Commit 17587b36d1928c3399d4d9af6daa052c0cdd6327 by jvikstrom
[clangd] Added special HighlightingKind for function parameters.
Summary: This means that function parameters are no longer highlighted
as variable.other.cpp but instead as variable.parameter.cpp which is the
more "correct" TextMate scope for them.
Reviewers: hokein, ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66335
llvm-svn: 369238
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.h
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
The file was modifiedclang-tools-extra/clangd/test/semantic-highlighting.test
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
Commit b127771f7d2972acad81550e03cc4e1e3c1fcd1c by maskray
[MC] Delete unnecessary diagnostic: "No relocation available to
represent this relative expression"
Replace
- error: No relocation available to represent this relative expression
with
+ error: symbol 'undef' can not be undefined in a subtraction expression
or
+ error: Cannot represent a difference across sections
Keep !IsPcRel as an assertion after the two diagnostic checks are done.
llvm-svn: 369239
The file was modifiedllvm/test/MC/AArch64/adr-diagnostics.s
The file was modifiedllvm/test/MC/AArch64/error-location.s
The file was modifiedllvm/test/MC/ELF/bad-expr2.s
The file was modifiedllvm/test/MC/ARM/error-location.s
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
Commit 81094aad617468208084b574ed7063ed7af7b227 by Raphael Isemann
[lldb][NFC] Use GetMaxStringLength in CommandObjectApropos::DoExecute
llvm-svn: 369240
The file was modifiedlldb/source/Commands/CommandObjectApropos.cpp
Commit cedd0d9a6e4b433e1cd6585d1d4d152eb5e60b11 by dlj
Revert [Attributor] Fix: Make sure we set the changed flag
This reverts r369159 (git commit
cbaf1fdea2de891bdbc49cdec89ae2077e6b9ed0)
r369160 caused a test to fail under UBSAN. See thread on llvm-commits.
llvm-svn: 369241
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit b8639f5c0fd82d4c29eb55590e1dfaf0a54dbb94 by Raphael Isemann
[lldb][NFC] Remove StringList::AutoComplete
We don't need this very specific function in StringList that we only
call once in LLDB.
llvm-svn: 369242
The file was modifiedlldb/include/lldb/Utility/StringList.h
The file was modifiedlldb/source/Utility/StringList.cpp
The file was modifiedlldb/source/Commands/CommandCompletions.cpp
Commit b58ba8aae710cba925e3c59accde6695c1d40aa3 by jeremy.morse.llvm
[DebugInfo] Test for variable range un-coalescing
LiveDebugVariables can coalesce ranges of variable locations across
multiple basic blocks. However when it recreates DBG_VALUE instructions,
it has to recreate one DBG_VALUE per block, otherwise it doesn't
represent the pre-regalloc layout and variable assignments can go
missing.
This feature works -- however while mucking around with
LiveDebugVariables, I commented the relevant code it out and no tests
failed. Thus, here's a test that checks LiveDebugVariables preserves
DBG_VALUEs across block boundaries.
Differential Revision: https://reviews.llvm.org/D66347
llvm-svn: 369243
The file was addedllvm/test/DebugInfo/MIR/X86/livedebugvars-crossbb-interval.mir
Commit 2bfc13fde1296a63dba5d5589aac9aa5ae45949e by david.green
[ARM] MVE sext costs
This adds some sext costs for MVE, taken from the length of assembly
sequences that we currently generate.
Differential Revision: https://reviews.llvm.org/D66010
llvm-svn: 369244
The file was modifiedllvm/test/Analysis/CostModel/ARM/cast.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit f312c1ecf4bc7003f4b10231a3147d004a39bfae by sam.tebbs
[ARM] Add support for MVE vaddv
This patch adds vecreduce_add and the relevant instruction selection for
vaddv.
Differential revision: https://reviews.llvm.org/D66085
llvm-svn: 369245
The file was modifiedllvm/include/llvm/Target/TargetSelectionDAG.td
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was addedllvm/test/CodeGen/Thumb2/mve-vaddv.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Commit 2cafd872fb97f2899ac0f1b01ed82ee88581c86d by peter.smith
[ELF][ARM] Add a test that maxes out the thunk convergence limit
Add a test that takes the maximum amount of passes permitted to
converge. This will make sure that any symbol defined in a linker script
gets the correct value and that any other convergence limit involving
symbol address doesn't restrict Thunk convergence.
Differential Revision: https://reviews.llvm.org/D66346
llvm-svn: 369246
The file was addedlld/test/ELF/arm-thunk-many-passes.s
Commit 176bbd5cde362ad965dcda5cc72b655117685a5a by jeremy.morse.llvm
[DebugInfo] Make postra sinking of DBG_VALUEs subregister-safe
Currently the machine instruction sinker identifies DBG_VALUE insts that
also need to sink by comparing register numbers. Unfortunately this
isn't safe, because (after register allocation) a DBG_VALUE may read a
register that aliases what's being sunk. To fix this, identify the
DBG_VALUEs that need to sink by recording & examining their register
units. Register units gives us the following guarantee:
  "Two registers overlap if and only if they have a common register
unit"
[MCRegisterInfo.h]
Thus we can always identify aliasing DBG_VALUEs if the set of register
units read by the DBG_VALUE, and the register units of the instruction
being sunk, intersect. (MachineSink already uses classes like
"LiveRegUnits" for determining sinking validity anyway).
The test added checks for super and subregister DBG_VALUE reads of a
sunk copy being sunk as well.
Differential Revision: https://reviews.llvm.org/D58191
llvm-svn: 369247
The file was modifiedllvm/lib/CodeGen/MachineSink.cpp
The file was addedllvm/test/DebugInfo/MIR/X86/postra-subreg-sink.mir
Commit d9a071c54be5531ea0b0b949a15497a9c7733755 by maskray
[MC] Simplify ELFObjectWriter::recordRelocation. NFC
llvm-svn: 369248
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
Commit fb443746a89d26987e03d1828a9e0d274de6f78a by Raphael Isemann
[lldb][NFC] Add a few more completion tests to increase test coverage
These tests are mostly trying to reach the different completion
functions in CommandCompletions.cpp (::ArchitectureNames, ::DiskFiles,
::Modules).
llvm-svn: 369249
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
Commit b38bac3699d6a9377254899b84edc483d495b302 by spatel
[SLP] reduce duplicated code; NFC
llvm-svn: 369250
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit eb801abd581730d532eee7d02abb41ede72e1e2b by anastasia.stulova
[OpenCL] Fix addr space deduction for pointers/references to arrays.
Rewrite the logic for detecting if we are deducing addr space of a
pointee type to take into account special logic for arrays. For
pointers/references to arrays we can have any number of parentheses
expressions as well as nested pointers.
Differential Revision: https://reviews.llvm.org/D66137
llvm-svn: 369251
The file was modifiedclang/test/SemaOpenCLCXX/address-space-deduction.cl
The file was modifiedclang/lib/Sema/SemaType.cpp
Commit 0684132107e51b506b31e3be7dc2e3181b90a4b4 by Raphael Isemann
[lldb][NFC] Use CompletionRequest in Variable::AutoComplete
llvm-svn: 369252
The file was modifiedlldb/source/Symbol/Variable.cpp
Commit b21a3654f0b916e885c6e55af36fecefdd2569b5 by sven.vanhaastregt
[OpenCL] Add generic type handling for builtin functions
Generic types are an abstraction of type sets.  It mimics the way
functions are defined in the OpenCL specification.  For example, floatN
can abstract all the vector sizes of the float type.
This allows to
* stick more closely to the specification, which uses generic types;
* factorize definitions of functions with numerous prototypes in the
  tablegen file; and
* reduce the memory impact of functions with many overloads.
Patch by Pierre Gondois and Sven van Haastregt.
Differential Revision: https://reviews.llvm.org/D65456
llvm-svn: 369253
The file was modifiedclang/lib/Sema/OpenCLBuiltins.td
The file was modifiedclang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/test/SemaOpenCL/fdeclare-opencl-builtins.cl
Commit 6520ba3e94eb219a779c4e69d15f0464c325fb97 by maskray
[llvm-readobj] unwrapOrError: remove unnecessary llvm_unreachable after
r369194
llvm-svn: 369254
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.h
Commit 0f9b5f86f1cd06c4a7fc9679d44f334796be653f by spatel
[SLP] add test that requires shuffle of scalars; NFC
llvm-svn: 369255
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
Commit 88df53e6eaf355271e90fa928df53ab6ea244a69 by david.stenberg
[DebugInfo] Allow bundled calls in the MIR's call site info
Summary: Extend the MIR parser and writer so that the call site
information can refer to calls that are bundled.
Reviewers: aprantl, asowda, NikolaPrica, djtodoro, ivanbaev, vsk
Reviewed By: aprantl
Subscribers: arsenm, hiraditya, llvm-commits
Tags: #debug-info, #llvm
Differential Revision: https://reviews.llvm.org/D66145
llvm-svn: 369256
The file was modifiedllvm/lib/CodeGen/MIRParser/MIRParser.cpp
The file was modifiedllvm/lib/CodeGen/MIRPrinter.cpp
The file was addedllvm/test/CodeGen/MIR/Hexagon/bundled-call-site-info.mir
Commit 1c1f8f215d89f1946ec4942c0d4ce8d4bd4f33f3 by asb
[RISCV] Don't force absolute FK_Data_X fixups to relocs
The current behavior of shouldForceRelocation forces relocations for the
majority of fixups when relaxation is enabled. This makes sense for
fixups which incorporate symbols but is unnecessary for simple data
fixups where the fixup target is already resolved to an absolute value.
Differential Revision: https://reviews.llvm.org/D63404 Patch by Edward
Jones.
llvm-svn: 369257
The file was modifiedllvm/test/MC/RISCV/fde-reloc.s
The file was modifiedllvm/test/MC/RISCV/linker-relaxation.s
The file was modifiedllvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Commit a0a4c6b7224e029d736c0e2f58df1493770d93c4 by sidneym
[lld][Hexagon] Add GOTREL relocations.
Add GOTREL relocation support. (S + A - GOT)
Differential Revision: https://reviews.llvm.org/D66260
llvm-svn: 369258
The file was modifiedlld/ELF/Arch/Hexagon.cpp
The file was addedlld/test/ELF/hexagon-gotrel.s
Commit b6ab533b93420e828ea6f555bc7d34d91cb07a34 by aaron
Don't keep stale pointers to LoopInfos.
CGLoopInfo was keeping pointers to parent loop LoopInfos, but when the
loop info vector grew, it reallocated the storage and invalidated all of
the parent pointers, causing use-after-free. Manage the lifetimes of the
LoopInfos separately so that the pointers aren't stale.
Patch by Bevin Hansson.
llvm-svn: 369259
The file was modifiedclang/lib/CodeGen/CGLoopInfo.cpp
The file was addedclang/test/CodeGen/loop-info-asan.c
The file was modifiedclang/lib/CodeGen/CGLoopInfo.h
Commit c8a1dfc484c94238c01567247c0cf83584f8719c by maskray
[ELF][Hexagon] Improve error message for unknown relocations
Like rLLD354040
Previously, for unknown relocation types, in -no-pie/-pie mode, we got
something like:
    foo.o: unrecognized relocation ...
In -shared mode:
    error: can't create dynamic relocation ... against symbol: yyy in
readonly segment
Delete the default case from Hexagon::getRelExpr and add the error
there. We will get consistent error message like `error: unknown
relocation (1024) against symbol foo`
Reviewed By: sidneym
Differential Revision: https://reviews.llvm.org/D66275
llvm-svn: 369260
The file was modifiedlld/ELF/Arch/Hexagon.cpp
Commit 0776da5236e032d8b2419f56ceff990a668c7d89 by Jinsong Ji
[PeepholeOptimizer] Don't assume bitcast def always has input
Summary: If we have a MI marked with bitcast bits, but without input
operands, PeepholeOptimizer might crash with assert.
eg: If we apply the changes in PPCInstrVSX.td as in this patch:
[(set v4i32:$XT, (bitconvert (v16i8 immAllOnesV)))]>;
We will get assert in PeepholeOptimizer.
``` llvm-lit
llvm-project/llvm/test/CodeGen/PowerPC/build-vector-tests.ll -v
llvm-project/llvm/include/llvm/CodeGen/MachineInstr.h:417: const
llvm::MachineOperand &llvm::MachineInstr::getOperand(unsigned int)
const: Assertion `i < getNumOperands() && "getOperand() out of range!"'
failed.
```
The fix is to abort if we found out of bound access.
Reviewers: qcolombet, MatzeB, hfinkel, arsenm
Reviewed By: qcolombet
Subscribers: wdng, arsenm, steven.zhang, wuzish, nemanjai, hiraditya,
kbarton, MaskRay, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65542
llvm-svn: 369261
The file was addedllvm/test/CodeGen/PowerPC/bitcast-peephole.mir
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrVSX.td
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
Commit ac0e6c6502f0bf2456cab6671b4a40c999781438 by maskray
[ELF] Move (copy relocation/canonical PLT) before error checking
In processRelocAux(), we handle errors before copy relocation/canonical
PLT. This makes error checking a bit complex because we have to check
for conditions that will be allowed by copy relocation/canonical PLT.
Instead, move copy relocation/canonical PLT before error checking. This
simplifies the previous clumsy error checking code
`config->shared || (config->pie && expr == R_ABS && type !=
target->symbolicRel)`
to the simple `config->isPic`. Some diagnostics can be reported in
different ways. The code motion changes diagnostics for some contrived
test cases:
* copy-rel-pie-error.s -> copy-rel-pie2.s:
It was rejected before but accepted now. ld.bfd also accepts the case.
* copy-errors.s: "cannot preempt symbol" changes to "symbol 'bar' has no
type"
* got32{,x}-i386.s: the suggestion changes from "-fPIC or -Wl,-z,notext"
to "-fPIE"
* x86-64-dyn-rel-error5.s: one diagnostic changes for -pie case
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D66007
llvm-svn: 369262
The file was modifiedlld/test/ELF/got32-i386.s
The file was modifiedlld/test/ELF/x86-64-dyn-rel-error5.s
The file was removedlld/test/ELF/copy-rel-pie-error.s
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/test/ELF/copy-errors.s
The file was modifiedlld/test/ELF/got32x-i386.s
The file was addedlld/test/ELF/copy-rel-pie2.s
Commit 9d5e8a476ff5e5823a2d34274dbcaa8d200e9f85 by grimar
[Object/COFF.h] - Stop returning std::error_code in a few methods. NFCI.
There are 4 methods that return std::error_code now, though they do not
have to because they are always succeed. I refactored them.
This allows to simplify the code in tools a bit.
llvm-svn: 369263
The file was modifiedllvm/include/llvm/Object/COFF.h
The file was modifiedllvm/tools/obj2yaml/coff2yaml.cpp
The file was modifiedllvm/tools/llvm-objdump/COFFDump.cpp
The file was modifiedllvm/lib/Object/COFFObjectFile.cpp
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/tools/llvm-objcopy/COFF/Reader.cpp
The file was modifiedllvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
Commit 81301541159280ae66eeeda32786c474ff76264c by deadalnix
Automatically generate AVX512 test cases. NFC
llvm-svn: 369264
The file was modifiedllvm/test/CodeGen/X86/avx512vl-nontemporal.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-inc-dec.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-nontemporal.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-memfold.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-fma-commute.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-intel-ocl.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-scalar_mask.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-bugfix-25270.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-mask-spills.ll
Commit 42336682b211e7d9909a6e9077e0bd87e8085122 by grimar
[llvm-objdump] - Restore lost comment.
It was removed by mistake in r369263 (D66417).
llvm-svn: 369265
The file was modifiedllvm/tools/llvm-objdump/COFFDump.cpp
Commit a023d6b7de784719398cfd81b9f2fe871fa35293 by sguelton
[nfc] Silent gcc warning
llvm-svn: 369266
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
Commit 6632ad5851d6f404193a81c15664425ec5706e4a by Raphael Isemann
[lldb][NFC] Stop using GetNumberOfMatches in CompletionRequest test
This function is just a wrapper for GetNumberOfResults and will be
removed soon. This patch just changes all calls to GetNumberOfResults
where possible (which is currently just the unit test).
llvm-svn: 369267
The file was modifiedlldb/unittests/Utility/CompletionRequestTest.cpp
Commit edfaee08115376467d1c95573de991aebfdaeb42 by lebedev.ri
[TargetLowering] x s% C == 0 fold: vector divisor with INT_MIN handling
Summary: The general fold is only valid for positive divisors. Which
effectively means, it is invalid for `INT_MIN` divisors, and we
currently bailout if we see them.
But that is too strict, we can just fix-up the results. For that, let's
do a second computation 'in parallel':
``` Name: srem -> and Pre: isPowerOf2(C)
%o = srem i8 %X, C
%r = icmp eq %o, 0
=>
%n = and i8 %X, C-1
%r = icmp eq %n, 0
``` https://rise4fun.com/Alive/Sup
And then just blend results: if the divisor was `INT_MIN`, pick the
value we got via bit-test, else pick the value from general fold.
There's interesting observation - `ISD::ROTR` is set to
`LegalizeAction::Expand` before AVX512, so we should not treat `INT_MIN`
divisor as even; and as it can be seen while `@test_srem_odd_even_one`
improves on all run-lines,
`@test_srem_odd_even_INT_MIN` only improves for AVX512.
Reviewers: RKSimon, craig.topper, spatel
Reviewed By: RKSimon
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66300
llvm-svn: 369268
The file was modifiedllvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
Commit 08c77b97c0620b3d8e058e4780bb4f62d81c5958 by pavel
Filesystem/Windows: fix inconsistency in readNativeFileSlice API
Summary: The windows version implementation of readNativeFileSlice, was
trying to match the POSIX behavior of not treating EOF as an error, but
it was only handling the case of reading from a pipe. Attempting to read
past the end of a regular file returns a slightly different error code,
which needs to be handled too. This patch adds ERROR_HANDLE_EOF to the
list of error codes to be treated as an end of file, and adds some unit
tests for the API.
This issue was found while attempting to land D66224, which caused a
bunch of lldb tests to start failing on windows.
Reviewers: rnk, aganea
Subscribers: kristina, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66344
llvm-svn: 369269
The file was modifiedllvm/unittests/Support/Path.cpp
The file was modifiedllvm/lib/Support/Windows/Path.inc
Commit 471bbb6e72830ad24d8079c5ee2acf0ec1fac961 by z.zoelec2
[libc++] reverts commit a5f5aad568bb7a91ceee47641f3076ac339ef8c7.
The commit being reverted caused segfaults when building with libc++ and
GCC (and possibly other configurations).
Differential Revision: https://reviews.llvm.org/D62868
llvm-svn: 369270
The file was modifiedlibcxx/include/memory
Commit ec4540d8a62cfef017173ce7309adcb9beca4e53 by maskray
[ELF] Simplify processRelocAux and allow a corner-case error
After D66007/r369262, if the control flow reaches `if
(sym.isUndefined())`, we know:
* The relocation is not a link-time constant => symbol is preemptable =>
Undefined or SharedSymbol
* Not an undef weak.
* -no-pie.
* The symbol type is neither STT_OBJECT nor STT_FUNC.
ld.lld --export-dynamic --unresolved-symbols=ignore-all %t.o can satisfy
these conditions. Delete the isUndefined() test so that we error
`symbol '...' has no type`, because we don't know the type to make the
decision to create copy relocation/canonical PLT.
llvm-svn: 369271
The file was modifiedlld/test/ELF/x86-64-dyn-rel-error.s
The file was modifiedlld/ELF/Relocations.cpp
Commit 8880ac648ceb337868b7c4949776e50f5fd1cad0 by Jonas Devlieghere
[dotest] Add --dwarf-version to override the tested DWARF version.
On the matrix bot on GreenDragon [1] we want to run the test suite
against different DWARF versions. The idea here is not to replace
targeted tests for certain DWARF features, but rather to provide an easy
way to support this configuration.
[1] http://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake-matrix/
Differential revision: https://reviews.llvm.org/D66370
llvm-svn: 369272
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/packages/Python/lldbsuite/test/configuration.py
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
Commit f497da304161c58388d2cc1e09507cde87d51eaa by jvikstrom
[clangd] Added highlighting for tokens that are macro arguments.
Summary: Adds semantic highlighting for tokens that are a macro
argument. Example:
``` D_V(SomeVar);
``` The "SomeVar" inside the macro is highlighted as a variable now.
Tokens that are in a macro body expansion are ignored in this patch for
three reasons.
* The spelling loc is inside the macro "definition" meaning it would
highlight inside the macro definition (could probably easily be fixed by
using getExpansionLoc instead of getSpellingLoc?)
* If wanting to highlight the macro definition this could create
duplicate tokens. And if the tokens are of different types there would
be conflicts (tokens in the same range but with different types). Say a
macro defines some name and both a variable declaration and a function
use this, there would be two tokens in the macro definition but one with
Kind "Variable" and the other with Kind "Function".
* Thirdly, macro body expansions could come from a file that is not the
main file (easily fixed, just check that the Loc is in the main file and
not even a problem if we wanted to highlight the actual macro
"invocation")
Reviewers: hokein, sammccall, ilya-biryukov
Subscribers: MaskRay, jkorous, arphaman, kadircet, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D64741
llvm-svn: 369275
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
Commit e8e914e6404b3402ca80aa75f3944e8fee662de6 by sbc
[lld][WebAssembly] Honor --no-export-dynamic even with -shared
Differential Revision: https://reviews.llvm.org/D66359
llvm-svn: 369276
The file was addedlld/test/wasm/shared-export-dynamic.ll
The file was modifiedlld/wasm/Driver.cpp
Commit 8682281063d6477e01aaa5f06832e03d3b8a702f by sstipanovic
[Attributor] -attributor-verify has false positives. Temporarily remove
it, until resolved.
llvm-svn: 369277
The file was modifiedllvm/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll
Commit ecbaba672e18a5d321b80dbfde9f56770469fd6e by Andrea_DiBiagio
[X86] Added extensive scheduling model tests for all the CMPXCHG
variants. NFC
Addresses a review comment in D66424
llvm-svn: 369279
The file was modifiedllvm/test/tools/llvm-mca/X86/Broadwell/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SkylakeServer/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Haswell/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver1/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SandyBridge/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Generic/resources-cmpxchg.s
Commit 296757c07ccc66a5d5a8f3f7cbc769faef49cfd9 by Louis Dionne
[libc++] Add XFAIL for is_base_of test on AppleClang 11
llvm-svn: 369280
The file was modifiedlibcxx/test/std/utilities/meta/meta.rel/is_base_of_union.pass.cpp
Commit 62b072d413eed260fb526df5edd87691a66f0c60 by erich.keane
Implement P1668R1
Allow inline assembly statements in unexecuted branches of constexpr
functions.
llvm-svn: 369281
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/test/Lexer/cxx-features.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-constexpr-lambdas.cpp
Commit ab00f237ac9db0fb91120bf4a5454f44ad31cf7a by erich.keane
Update cxx_status.html with P1668 status.
llvm-svn: 369282
The file was modifiedclang/www/cxx_status.html
Commit 93c27871936c797380aef9d47a969c088edb0bff by craig.topper
[CGP] Remove ModifiedDT from the makeBitReverse loop
I don't think anything in this loop modifies the control flow and we
don't restart any iteration after setting the flag.
This code was added in http://reviews.llvm.org/D16893 but looking at the
test case added there the code that caused the dominator tree to change
was merging blocks with their predecessor not the bitreverse
optimization.
Differential Revision: https://reviews.llvm.org/D66366
llvm-svn: 369283
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit f04d246d7d13868e2d0922b9743d0b3f4c76c515 by erich.keane
Fix test where diagnostics changed in P1668 implementation
llvm-svn: 369284
The file was modifiedclang/test/SemaCXX/cxx1z-constexpr-lambdas.cpp
Commit 949f1908102ee6ae66e439909ded0fe6e8c5d695 by David CARLIER
[Sanitizer] arc4random interception on Mac
Reviewers: yln,vitalybuka
Reviewed By: yln
Differential Revision: https://reviews.llvm.org/D66391
llvm-svn: 369285
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/arc4random.cpp
Commit a8abe1f82899847e29c4f1d66c32fad17dacb62f by erich.keane
Fix poorly formatted HTML in the cxx_status.html file caused by adding
1668.
llvm-svn: 369286
The file was modifiedclang/www/cxx_status.html
Commit a0d92c72620c49aa36b1738a272a2715f7909a6a by craig.topper
[X86] Teach lowerV4I32Shuffle to only use broadcasts if the mask has
more than one undef element. Prioritize shifts over broadcast in
lowerV8I16Shuffle.
The motivating case are the changes in vector-reduce-add.ll where we
were doing extra work in the scalar domain instead of shuffling. There
may be some one use check that needs to be looked into there, but this
patch sidesteps the issue by avoiding broadcasts that aren't really
broadcasting.
Differential Revision: https://reviews.llvm.org/D66071
llvm-svn: 369287
The file was modifiedllvm/test/CodeGen/X86/sse41.ll
The file was modifiedllvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
The file was modifiedllvm/test/CodeGen/X86/insertelement-shuffle.ll
The file was modifiedllvm/test/CodeGen/X86/avg.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-combining.ll
The file was modifiedllvm/test/CodeGen/X86/vector-reduce-add.ll
The file was modifiedllvm/test/CodeGen/X86/shuffle-vs-trunc-512.ll
The file was modifiedllvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
Commit bf989187c30f37cfb1bb1496c06fe6047ee15202 by Andrea_DiBiagio
[X86] Move scheduling tests for CMPXCHG to the corresponding
resources-x86_64.s files. NFC
In D66424 it has been requested to move all the new tests added by
r369278 into resources-x86_64.s. That is because only the 8b/16 ops
should be tested by resources-cmpxchg.s. This partially reverts r369278.
llvm-svn: 369288
The file was modifiedllvm/test/tools/llvm-mca/X86/Haswell/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SkylakeClient/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Generic/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Barcelona/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SandyBridge/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Broadwell/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SkylakeServer/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Atom/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Barcelona/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver1/resources-cmpxchg.s
The file was modifiedllvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
The file was modifiedllvm/test/tools/llvm-mca/X86/BtVer2/resources-cmpxchg.s
Commit e644d5e230ef34c04e9ed198a9dcc9178721a142 by jlettner
[TSan] Rename file to make it clear that it defines interceptors
Rename file `tsan_libdispatch.cpp -> tsan_libdispatch_interceptors.cpp`
to make it clear that it's main purpose is defining interceptors.
llvm-svn: 369289
The file was removedcompiler-rt/lib/tsan/rtl/tsan_libdispatch.cpp
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was addedcompiler-rt/lib/tsan/rtl/tsan_libdispatch_interceptors.cpp
Commit 4340c2cf8fa79731d19a8a94cee87bb280c5b8aa by peter
Build symbolizer runtime with C++14.
Should hopefully fix sanitizer-x86_64-linux bot.
llvm-svn: 369290
The file was modifiedcompiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
Commit 1a3fdaf6a6ee0d4ff0bb5daf80c54a9fa5594467 by asbirlea
[MemorySSA] Rename uses when inserting memory uses.
Summary: When inserting uses from outside the MemorySSA creation, we
don't normally need to rename uses, based on the assumption that there
will be no inserted Phis (if  Def existed that required a Phi, that Phi
already exists). However, when dealing with unreachable blocks,
MemorySSA will optimize away Phis whose incoming blocks are unreachable,
and these Phis end up being re-added when inserting a Use. There are two
potential solutions here: 1. Analyze the inserted Phis and clean them up
if they are unneeded
(current method for cleaning up trivial phis does not cover this) 2.
Leave the Phi in place and rename uses, the same way as whe inserting
defs. This patch use approach 2.
Resolves first test in PR42940.
Reviewers: george.burgess.iv
Subscribers: Prazek, sanjoy.google, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66033
llvm-svn: 369291
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/lib/Analysis/MemorySSA.cpp
The file was modifiedllvm/lib/Analysis/MemorySSAUpdater.cpp
The file was modifiedllvm/include/llvm/Analysis/MemorySSAUpdater.h
The file was addedllvm/test/Analysis/MemorySSA/PR42940.ll
Commit 19bf637eb12c119cdda9fae818813084a9cf2b2a by sbc
[WebAssembly][MC] Allow empty assembly functions
Differential Revision: https://reviews.llvm.org/D66434
llvm-svn: 369292
The file was modifiedllvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
The file was modifiedllvm/test/MC/WebAssembly/basic-assembly.s
Commit 0f4e9835c98ae68d53ebd05ac40ada41ddae68aa by Raphael Isemann
[lldb] Make TestIOHandlerCompletion more stable and document it
Instead of relying that three tabs show all completions, we should show
all remaining completions which will always stop the mode where we show
completions. Should fix this test on systems that somehow have more
completions that our normal LLDB (as they would end up being stuck in
the mode where we show completions).
llvm-svn: 369293
The file was modifiedlldb/packages/Python/lldbsuite/test/iohandler/completion/TestIOHandlerCompletion.py
Commit 056f1b5cc7c2133f0cb3e30e7f24808d321096d7 by jdoerfert
Re-apply fixed "[Attributor] Fix: Make sure we set the changed flag"
This reverts commit cedd0d9a6e4b433e1cd6585d1d4d152eb5e60b11.
Re-apply the original commit but make sure the variables are initialized
(even if they are not used) so UBSan is not complaining.
llvm-svn: 369294
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 928071ae4ef5e2e6342afb126518a79fde81cf8b by benny.kra
[Support] Replace sys::Mutex with their standard equivalents.
Only use a recursive mutex if it can be locked recursively.
llvm-svn: 369295
The file was modifiedllvm/lib/Support/Unix/Process.inc
The file was modifiedllvm/lib/Support/CrashRecoveryContext.cpp
The file was modifiedllvm/lib/Support/ManagedStatic.cpp
Commit 3b4ce731fbcc6490da95d8091b384c3ddb3c70d9 by apl
[lldb-vscode] add `launchCommands` to handle launch specific commands
Summary: This can help `lldb-vscode` handle launch commands associate
with remote platform attach request have field `attachCommands` to
handle attach specific commands add a corresponding one for launch
request if no launch command is provided, create a new target and
launch; otherwise, execute the launch command
Differential Revision: https://reviews.llvm.org/D65363
Patch by Wanyi Ye <kusmour@gmail.com>
llvm-svn: 369296
The file was modifiedlldb/tools/lldb-vscode/lldb-vscode.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/lldbvscode_testcase.py
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/launch/TestVSCode_launch.py
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-vscode/vscode.py