Changes

Summary

  1. [CMake] Track test dependencies with add_lldb_test_dependency (details)
  2. DWIMy filterspecs for dotest.py (details)
  3. [lldb] Reverts part of 61f471a (details)
  4. Revert "Add VFS support for sanitizers' blacklist" (details)
  5. [CMake] Add two more uses of add_lldb_test_dependency (details)
  6. Fixing missing lldb-scripts rename from D68370 (details)
  7. Reland 'Add VFS support for sanitizers' blacklist' (details)
  8. test fix: TestLoadUsingPaths should use realpath (details)
  9. Revert "ProcessInstanceInfoMatch: Don't match processes with no name if (details)
  10. [LitConfig] Silenced notes/warnings on quiet. (details)
  11. [sanitizer] Fix signal_trap_handler.cpp on android (details)
  12. [NFC] Fix ubsan-blacklist test (details)
  13. [ItaniumMangle] Fix mangling of GNU __null in an expression to match GCC (details)
  14. [WebAssembly] Add REQUIRES: asserts to cfg-stackify-eh.ll (details)
  15. [ConstantRange] [NFC] replace addWithNoSignedWrap with addWithNoWrap. (details)
  16. [LoopVectorize][PowerPC] Estimate int and float register pressure (details)
  17. [IA] Recognize hexadecimal escape sequences (details)
  18. [llvm-exegesis] Add stabilization test with config (details)
  19. [LoopVectorize] Fix non-debug builds after rL374017 (details)
  20. Report error if -export-dynamic is used with -r (details)
  21. Use /dev/null for tests that we do not need outputs (details)
  22. [Tools] Mark output of tools as text if it is text (details)
  23. [ARM] Generate vcmp instead of vcmpe (details)
  24. [LoopRotate] Unconditionally get ScalarEvolution. (details)
  25. [NFC] Add REQUIRES for r374017 in testcase (details)
  26. [llvm-readobj/llvm-readelf] - Add checks for GNU-style to "all.test" (details)
  27. Fix a -Wpedantic warning (details)
  28. Revert "[lldb-server/android] Show more processes and package name when (details)
  29. [llvm-exegesis] Finish plumbing the `Config` field. (details)
  30. Remove an useless allocation (from by clang-analyzer/scan-build) (details)
  31. [ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers (details)
  32. [MCA][LSUnit] Track loads and stores until retirement. (details)
  33. [Diagnostics] Silence -Wsizeof-array-div for character buffers (details)
  34. [LoopRotate] Unconditionally get DomTree. (details)
  35. Don't link libm with -Wl,--as-needed on FreeBSD (details)
  36. Don't assume Type from `readelf -d` has parentheses (details)
  37. [SLP] add test with prefer-vector-width function attribute; NFC (details)
  38. MachineSSAUpdater: insert IMPLICIT_DEF at top of basic block (details)
  39. AMDGPU: Propagate undef flag during pre-RA exec mask optimizations (details)
  40. [SVE][IR] Scalable Vector size queries and IR instruction support (details)
  41. Add test for rotating truncated vectors. NFC (details)
  42. fix fmls fp16 (details)
  43. Restore documentation that 'svn update' unexpectedly yanked out from (details)
  44. Tweak minidebuginfo-set-and-hit-breakpoint.test (details)
  45. [clangd] Bump timeouts in speculative completion tests (details)
  46. [clangd] Disable expand auto on decltype(auto) (details)
  47. Nope, I'm wrong. It looks like someone else removed these on purpose and (details)
  48. [libc++] Use PRIVATE to link benchmark dependencies (details)
  49. Object/minidump: Add support for the MemoryInfoList stream (details)
  50. [lld][Hexagon] Support PLT relocation R_HEX_B15_PCREL_X/R_HEX_B9_PCREL_X (details)
  51. [libc++] Add missing link-time dependencies to the benchmarks (details)
  52. [llvm-exegesis] Add options to SnippetGenerator. (details)
  53. [Mips] Emit proper ABI for _mcount calls (details)
  54. [libc++] TAKE 2: Make system libraries PRIVATE dependencies of libc++ (details)
  55. [OPENMP50]Allow functions in declare variant directive to have different (details)
  56. [TextAPI] Introduce TBDv4 (details)
  57. gn build: Merge r374058 (details)
  58. [Attributor] Add helper class to compose two structured deduction. (details)
  59. [clang][ifs] Clang Interface Stubs ToolChain plumbing. (details)
  60. Revert [TextAPI] Introduce TBDv4 (details)
  61. [Attributor][MustExec] Deduce dereferenceable and nonnull attribute (details)
  62. gn build: Merge r374061 (details)
  63. gn build: Merge r374062 (details)
  64. Extract and simplify DumpEnumValue (details)
  65. Add pretty printing of Clang "bitfield" enums (details)
  66. [DebugInfo][If-Converter] Update call site info during the optimization (details)
  67. Simplify LZMA decoding by using ArrayRef::take_back (details)
  68. [builtins] Unbreak build on FreeBSD armv7 after D60351 (details)
  69. [lldb] Avoid resource leak (details)
  70. [OPENMP50]Prohibit multiple context selector sets in context selectors. (details)
  71. [WebAssembly] Fix a bug in 'try' placement (details)
  72. (Re)generate various tests. NFC (details)
  73. [NFC][CVP] Add tests where we can replace sext with zext (details)
  74. [Testsuite] Get rid of most of the recursive shared library Makefiles (details)
  75. Revert "[platform process list] add a flag for showing the processes of (details)
  76. [UpdateCCTestChecks] Detect function mangled name on separate line (details)
  77. [libc++] Make sure we link all system libraries into the benchmarks (details)
  78. Remove constructor and unused method (NFC). (details)
  79. Replace static const StringRef with StringRef (NFC) (details)
  80. Replace regex match with rfind (NFCish) (details)
  81. [AMDGPU] Disable unused gfx10 dpp instructions (details)
  82. ObjectFileMachO: Replace std::map with llvm::DenseMap (NFC) (details)
  83. CodeGenPrepare - silence static analyzer dyn_cast<> null dereference (details)
  84. [Attributor][Fix] Temporary fix for windows build bot failure (details)
  85. AMDGPU: Add offsets to MMO when lowering buffer intrinsics (details)
  86. [sanitizer] Disable crypt*.cpp tests on Android (details)
  87. [CodeExtractor] Factor out and reuse shrinkwrap analysis (details)
  88. [SLP] add test with prefer-vector-width function attribute; NFC (details)
  89. Revert "[LoopVectorize][PowerPC] Estimate int and float register (details)
  90. AMDGPU: Fix i16 arithmetic pattern redundancy (details)
  91. [OPENMP50]Do not allow multiple same context traits in the same context (details)
  92. exception handling in PythonDataObjects. (details)
  93. Fix sign extension handling in DumpEnumValue (details)
  94. Reflow/fix doxygen comments. (details)
  95. [driver][hip] Skip bundler if host action is nothing. (details)
  96. [NFC] Attempt to make ubsan-blacklist-vfs test pass on Windows (details)
  97. [BPF] do compile-once run-everywhere relocation for bitfields (details)
  98. [CMake] Fix building without python on Windows (details)
  99. [tblgen] Add getOperatorAsDef() to Record (details)
  100. Mark several PointerIntPair methods as lvalue-only (details)
  101. Try to get readability-deleted-default.cpp to pass on Windows. (details)
  102. [Reproducer] Don't isntrument methods that get called from the signal (details)
  103. Try to get ubsan-blacklist-vfs.c pass more on Windows (details)
  104. StopInfo/Mach: Use early-exits, reflow messy comments, NFCI (details)
  105. [OPENMP50]Multiple vendors in vendor context must be treated as logical (details)
  106. Add test coverage to printing of enums and fix display of unsigned (details)
  107. Fix `compiler_rt_logbf_test.c` test failure for Builtins-i386-darwin (details)
  108. [clang] Add llvm-ifs in test deps (details)
  109. [CVP][NFC] Revisit sext vs. zext test (details)
  110. [CVP} Replace SExt with ZExt if the input is known-non-negative (details)
  111. [clang] enable_trivial_var_init_zero should not be Joined<> (details)
  112. StopInfo/Mach: Delete PPC support (details)
  113. [sanitizer] Fix crypt.cpp test on Darwin (details)
Commit 37cf39df20825980adf55143005b553bb7e12047 by Jonas Devlieghere
[CMake] Track test dependencies with add_lldb_test_dependency
I often use `ninja lldb-test-deps` to build all the test dependencies
before running a subset of the tests with `lit --filter`. This
functionality seems to break relatively often because test dependencies
are tracked in an ad-hoc way acrooss cmake files. This patch adds a
helper function `add_lldb_test_dependency` to unify test dependency
tracking by adding dependencies to lldb-test-deps.
Differential revision: https://reviews.llvm.org/D68612
llvm-svn: 373996
The file was modifiedlldb/cmake/modules/AddLLDB.cmake
The file was modifiedlldb/test/CMakeLists.txt
The file was modifiedlldb/unittests/CMakeLists.txt
The file was modifiedlldb/lit/CMakeLists.txt
The file was modifiedlldb/utils/lldb-dotest/CMakeLists.txt
The file was modifiedlldb/CMakeLists.txt
Commit 5d10e417e97bfe7581c72460c46f83722ece6693 by Lawrence D'Anna
DWIMy filterspecs for dotest.py
Summary: dotest.py currently requires a filterspec to be of the form
`TestCase.test_method`.   This patch makes it more flexible, so you can
pass `TestModule.TestCase.test_method` or `TestModule.TestCase` or
`TestCase.test_method` or just
`test_method`.
This makes it more convenient to just copy a test name out of the
terminal after running a bunch of tests and use it as a filterspec.
Reviewers: JDevlieghere, jasonmolenda, labath
Reviewed By: JDevlieghere
Subscribers: jingham, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68545
llvm-svn: 373997
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest.py
The file was modifiedlldb/packages/Python/lldbsuite/test/dotest_args.py
Commit 0016b450bee87bec816f764acfb9fa6afc31c352 by hhb
[lldb] Reverts part of 61f471a
Seems I wrongly merged an old patch.
Reverts the change related to python dir for windows.
FileSpec should always contain normalized path. I.e. using '/' even in
windows.
llvm-svn: 373998
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Commit 40943b5193f22182ed9c47aea822167a17072f3d by Jan Korous
Revert "Add VFS support for sanitizers' blacklist"
Fix tests on Windows for now.
This reverts commit 96ac97a4213287003f08636d0c372b3f71e9cfca.
llvm-svn: 373999
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/CodeGen/ubsan-blacklist.c
The file was removedclang/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml
Commit ce3314cf28554265cac55bfabd86a192ebc07674 by Jonas Devlieghere
[CMake] Add two more uses of add_lldb_test_dependency
llvm-svn: 374000
The file was modifiedlldb/CMakeLists.txt
The file was modifiedlldb/lit/CMakeLists.txt
The file was modifiedlldb/test/CMakeLists.txt
Commit ffc67f92514c97558a93b51b46f20c264d2d31e6 by antonio.afonso
Fixing missing lldb-scripts rename from D68370
llvm-svn: 374005
The file was modifiedlldb/CMakeLists.txt
Commit 3dab5e825b8c9ef0e7d129e6aaa382b69f813c48 by Jan Korous
Reland 'Add VFS support for sanitizers' blacklist'
The original patch broke the test for Windows. Trying to fix as per
Reid's suggestions outlined here: https://reviews.llvm.org/rC371663
Differential Revision: https://reviews.llvm.org/D67742
llvm-svn: 374006
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/test/CodeGen/ubsan-blacklist.c
The file was addedclang/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml
Commit 68491f50720de7da61866a478fa1971baa68e4e9 by Lawrence D'Anna
test fix: TestLoadUsingPaths should use realpath
Summary: TestLoadUsingPaths will fail if the build directory has
symlinks in its path, because the real paths reported by the debugger
won't match the symlink-laden paths it's expecting.
This can be solved just by using os.path.realpath on the base path for
the test.
Reviewers: JDevlieghere, jasonmolenda, labath
Reviewed By: JDevlieghere
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68618
llvm-svn: 374007
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/load_using_paths/TestLoadUsingPaths.py
Commit e21399b02e2651eb461301452355fc821d28712b by Jonas Devlieghere
Revert "ProcessInstanceInfoMatch: Don't match processes with no name if
a name match was requested"
This breaks TestProcessAttach and TestHelloWorld on Darwin.
llvm-svn: 374008
The file was modifiedlldb/unittests/Utility/ProcessInstanceInfoTest.cpp
The file was modifiedlldb/source/Utility/ProcessInfo.cpp
Commit cb194057b9d6d1cd68b3aa98b59c6cb323293d51 by atrick
[LitConfig] Silenced notes/warnings on quiet.
Lit has a "quiet" option, -q, which is documented to "suppress no error
output". Previously, LitConfig displayed notes and warnings when the
quiet option was specified. The result was that it was not possible to
get only pertinent file/line information to be used by an editor to jump
to the location where checks were failing without passing a number of
unhelpful locations first. Here, the implementations of LitConfig.note
and LitConfig.warning are modified to account for the quiet flag and
avoid displaying if the flag has indeed been set.
Patch by Nate Chandler
Reviewed by yln
Differential Revision: https://reviews.llvm.org/D68044
llvm-svn: 374009
The file was modifiedllvm/utils/lit/lit/LitConfig.py
Commit 54d767f508bbcbdafd57bdbfcc4036173c2708e8 by Vitaly Buka
[sanitizer] Fix signal_trap_handler.cpp on android
llvm-svn: 374010
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/signal_trap_handler.cpp
Commit d6609a404fecafe479be8a012b99e3f278f86275 by Jan Korous
[NFC] Fix ubsan-blacklist test
Restored original test and marked tests for VFS as unsupported on
Windows.
llvm-svn: 374011
The file was modifiedclang/test/CodeGen/ubsan-blacklist.c
The file was addedclang/test/CodeGen/ubsan-blacklist-vfs.c
Commit 66e276862781f6edc4e757695e20b69b3fb11d49 by jrtc27
[ItaniumMangle] Fix mangling of GNU __null in an expression to match GCC
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: erik.pilkington, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68368
llvm-svn: 374013
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/test/CodeGenCXX/mangle-exprs.cpp
Commit a58ddba1137dc11462955a5a4aecda112923c8a8 by aheejin
[WebAssembly] Add REQUIRES: asserts to cfg-stackify-eh.ll
This was missing in D68552.
llvm-svn: 374015
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Commit 9806a1d5f90a21a16c4bfc6d4bb10e0d5b870573 by czhengsz
[ConstantRange] [NFC] replace addWithNoSignedWrap with addWithNoWrap.
llvm-svn: 374016
The file was modifiedllvm/include/llvm/IR/ConstantRange.h
The file was modifiedllvm/unittests/IR/ConstantRangeTest.cpp
The file was modifiedllvm/lib/Transforms/Scalar/IndVarSimplify.cpp
The file was modifiedllvm/lib/IR/ConstantRange.cpp
Commit 9f41deccc0e648a006c9f38e11919f181b6c7e0a by wuzish
[LoopVectorize][PowerPC] Estimate int and float register pressure
separately in loop-vectorize
In loop-vectorize, interleave count and vector factor depend on target
register number. Currently, it does not estimate different register
pressure for different register class separately(especially for scalar
type, float type should not be on the same position with int type), so
it's not accurate. Specifically, it causes too many times
interleaving/unrolling, result in too many register spills in loop body
and hurting performance.
So we need classify the register classes in IR level, and importantly
these are abstract register classes, and are not the target register
class of backend provided in td file. It's used to establish the mapping
between the types of IR values and the number of simultaneous live
ranges to which we'd like to limit for some set of those types.
For example, POWER target, register num is special when VSX is enabled.
When VSX is enabled, the number of int scalar register is 32(GPR), float
is 64(VSR), but for int and float vector register both are 64(VSR). So
there should be 2 kinds of register class when vsx is enabled, and 3
kinds of register class when VSX is NOT enabled.
It runs on POWER target, it makes big(+~30%) performance improvement in
one specific bmk(503.bwaves_r) of spec2017 and no other obvious
degressions.
Differential revision: https://reviews.llvm.org/D67148
llvm-svn: 374017
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reg-usage-debug.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was addedllvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/XCore/XCoreTargetTransformInfo.h
Commit 411f1885b655ea622fe124a87a6eadfd988d7a5e by isanbard
[IA] Recognize hexadecimal escape sequences
Summary: Implement support for hexadecimal escape sequences to match how
GNU 'as' handles them. I.e., read all hexadecimal characters and
truncate to the lower 16 bits.
Reviewers: nickdesaulniers, jcai19
Subscribers: llvm-commits, hiraditya
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68598
llvm-svn: 374018
The file was modifiedllvm/lib/MC/MCParser/AsmParser.cpp
The file was modifiedllvm/test/MC/AsmParser/directive_ascii.s
Commit f1ac8151f9cd9a7380b877e4e57213aa9b995e05 by courbet
[llvm-exegesis] Add stabilization test with config
In preparation for D68629.
llvm-svn: 374020
The file was addedllvm/test/tools/llvm-exegesis/X86/analysis-cluster-stabilization-config.test
Commit 18b6fe07bcf44294f200bd2b526cb737ed275c04 by kadircet
[LoopVectorize] Fix non-debug builds after rL374017
llvm-svn: 374021
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 54933667296d687743e8bd44048389b01f2cb94b by ruiu
Report error if -export-dynamic is used with -r
The combination of the two flags doesn't make sense. And other linkers
seem to just ignore --export-dynamic if --relocatable is given, but we
probably should report it as an error to let users know that is an
invalid combination.
Fixes https://bugs.llvm.org/show_bug.cgi?id=43552
Differential Revision: https://reviews.llvm.org/D68441
llvm-svn: 374022
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/test/ELF/lto/relocation-model.ll
The file was modifiedlld/test/ELF/driver.test
Commit d2e9dd3877e903812ed5568e3a59e9e124ca4f85 by ruiu
Use /dev/null for tests that we do not need outputs
llvm-svn: 374023
The file was modifiedlld/test/ELF/driver.test
Commit c9ddda84052659698b921e6c3a5bf7df9df599ce by kai.nacke
[Tools] Mark output of tools as text if it is text
Several LLVM tools write text files/streams without using OF_Text. This
can cause problems on platforms which distinguish between text and
binary output. This PR adds the OF_Text flag for the following tools:
- llvm-dis
- llvm-dwarfdump
- llvm-mca
- llvm-mc (assembler files only)
- opt (assembler files only)
- RemarkStreamer (used e.g. by opt)
Reviewers: rnk, vivekvpandya, Bigcheese, andreadb
Differential Revision: https://reviews.llvm.org/D67696
llvm-svn: 374024
The file was modifiedllvm/tools/llvm-dis/llvm-dis.cpp
The file was modifiedllvm/tools/llvm-mca/llvm-mca.cpp
The file was modifiedllvm/lib/IR/RemarkStreamer.cpp
The file was modifiedllvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedllvm/tools/llvm-mc/llvm-mc.cpp
Commit 78bfe3ab9475776ae72ca7c9446066f6eb816cc0 by kristof.beyls
[ARM] Generate vcmp instead of vcmpe
Based on the discussion in
http://lists.llvm.org/pipermail/llvm-dev/2019-October/135574.html, the
conclusion was reached that the ARM backend should produce vcmp instead
of vcmpe instructions by default, i.e. not be producing an Invalid
Operation exception when either arguments in a floating point compare
are quiet NaNs.
In the future, after constrained floating point intrinsics for floating
point compare have been introduced, vcmpe instructions probably should
be produced for those intrinsics - depending on the exact semantics
they'll be defined to have.
This patch logically consists of the following parts:
- Revert http://llvm.org/viewvc/llvm-project?rev=294945&view=rev and
http://llvm.org/viewvc/llvm-project?rev=294968&view=rev, which
implemented fine-tuning for when to produce vcmpe (i.e. not do it for
equality comparisons). The complexity introduced by those patches
isn't needed anymore if we just always produce vcmp instead. Maybe
these patches need to be reintroduced again once support is needed to
map potential LLVM-IR constrained floating point compare intrinsics to
the ARM instruction set.
- Simply select vcmp, instead of vcmpe, see simple changes in
lib/Target/ARM/ARMInstrVFP.td
- Adapt lots of tests that tested for vcmpe (instead of vcmp). For all
of these test, the intent of what is tested for isn't related to
whether the vcmp should produce an Invalid Operation exception or not.
Fixes PR43374.
Differential Revision: https://reviews.llvm.org/D68463
llvm-svn: 374025
The file was modifiedllvm/test/CodeGen/ARM/fp16-promote.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpf.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was modifiedllvm/test/CodeGen/ARM/2009-07-18-RewriterBug.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/test/CodeGen/ARM/vfp.ll
The file was modifiedllvm/lib/Target/ARM/ARMFastISel.cpp
The file was modifiedllvm/test/CodeGen/ARM/swifterror.ll
The file was modifiedllvm/test/CodeGen/ARM/fp16-instructions.ll
The file was modifiedllvm/test/CodeGen/ARM/vsel-fp16.ll
The file was modifiedllvm/test/CodeGen/ARM/float-helpers.s
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/test/CodeGen/ARM/arm-shrink-wrapping.ll
The file was modifiedllvm/test/CodeGen/ARM/fcmp-xo.ll
The file was modifiedllvm/test/CodeGen/ARM/vsel.ll
The file was modifiedllvm/test/CodeGen/Thumb2/float-cmp.ll
The file was modifiedllvm/lib/Target/ARM/ARMInstrVFP.td
The file was modifiedllvm/test/CodeGen/ARM/ifcvt11.ll
The file was modifiedllvm/test/CodeGen/ARM/compare-call.ll
The file was modifiedllvm/test/CodeGen/ARM/fpcmp.ll
The file was removedllvm/test/CodeGen/ARM/vcmp-crash.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfz.ll
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vcmpfr.ll
Commit a70c5261436322a53187d67b8bdc0445d0463a9a by flo
[LoopRotate] Unconditionally get ScalarEvolution.
Summary: LoopRotate is a loop pass and SE should always be available.
Reviewers: anemet, asbirlea
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D68573
llvm-svn: 374026
The file was modifiedllvm/lib/Transforms/Scalar/LoopRotation.cpp
Commit 2edc69c05d1e687c9cd12c5409d0da116d1e9521 by wuzish
[NFC] Add REQUIRES for r374017 in testcase
llvm-svn: 374027
The file was modifiedllvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
Commit eec98969603e3d79c73ed8955bcaa581cd5b455a by grimar
[llvm-readobj/llvm-readelf] - Add checks for GNU-style to "all.test"
test case.
We do not check the GNU-style output when -all is given. This patch does
that.
Differential revision: https://reviews.llvm.org/D68462
llvm-svn: 374028
The file was modifiedllvm/test/tools/llvm-readobj/all.test
Commit 07932b108898f64ad5429f9cd23d06baa9e914cb by pavel
Fix a -Wpedantic warning
namespace-closing '}' don't need ';'.
llvm-svn: 374029
The file was modifiedlldb/include/lldb/API/SBCommandReturnObject.h
Commit c41294705bbb9457524df91c525d53ade53b304a by pavel
Revert "[lldb-server/android] Show more processes and package name when
necessary"
This reverts r373758 because it causes several to test to be flaky (=
failing ~90% of the time) on linux.
llvm-svn: 374030
The file was modifiedlldb/source/Host/linux/Host.cpp
Commit 4919534ae4d4029982d5a5ad7ea18f4a681cb602 by courbet
[llvm-exegesis] Finish plumbing the `Config` field.
Summary: Right now there are no snippet generators that emit the
`Config` Field, but I plan to add it to investigate LEA operands for
PR32326.
What was broken was:
- `Config` Was not propagated up until the BenchmarkResult::Key.
- Clustering should really consider different configs as measuring
different things, so we should stabilize on (Opcode, Config) instead of
just Opcode.
Reviewers: gchatelet
Subscribers: tschuett, llvm-commits, lebedev.ri
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68629
llvm-svn: 374031
The file was modifiedllvm/tools/llvm-exegesis/lib/CodeTemplate.h
The file was modifiedllvm/tools/llvm-exegesis/lib/Clustering.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetFile.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkCode.h
The file was modifiedllvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkResult.h
The file was modifiedllvm/test/tools/llvm-exegesis/X86/analysis-cluster-stabilization-config.test
The file was modifiedllvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
Commit fb190c82983589eedfde7d1424c350eeb3d00050 by sylvestre
Remove an useless allocation (from by clang-analyzer/scan-build)
https://llvm.org/reports/scan-build/report-TargetInfo.cpp-detectFPCCEligibleStruct-9-1.html#EndPath
llvm-svn: 374032
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
Commit 02682498b86a72a53415a3676042b1a7d30ccbdc by nikola.prica
[ISEL][ARM][AARCH64] Tracking simple parameter forwarding registers
Support for tracking registers that forward function parameters into the
following function frame. For now we only support cases when parameter
is forwarded through single register.
Reviewers: aprantl, vsk, t.p.northover
Reviewed By: vsk
Differential Revision: https://reviews.llvm.org/D66953
llvm-svn: 374033
The file was addedllvm/test/DebugInfo/AArch64/call-site-info-output.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was addedllvm/test/DebugInfo/ARM/call-site-info-output.ll
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
Commit 8d6651f7b11ee3bc68d4e5523e44e987b53760bf by Andrea_DiBiagio
[MCA][LSUnit] Track loads and stores until retirement.
Before this patch, loads and stores were only tracked by their
corresponding queues in the LSUnit from dispatch until execute stage. In
practice we should be more conservative and assume that memory opcodes
leave their queues at retirement stage.
Basically, loads should leave the load queue only when they have
completed and delivered their data. We conservatively assume that a load
is completed when it is retired. Stores should be tracked by the store
queue from dispatch until retirement. In practice, stores can only leave
the store queue if their data can be written to the data cache.
This is mostly a mechanical change. With this patch, the retire stage
notifies the LSUnit when a memory instruction is retired. That would
triggers the release of LDQ/STQ entries.  The only visible change is in
memory tests for the bdver2 model. That is because bdver2 is the only
model that defines the load/store queue size.
This patch partially addresses PR39830.
Differential Revision: https://reviews.llvm.org/D68266
llvm-svn: 374034
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/load-store-throughput.s
The file was modifiedllvm/lib/MCA/Stages/RetireStage.cpp
The file was modifiedllvm/lib/MCA/HardwareUnits/LSUnit.cpp
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/load-throughput.s
The file was modifiedllvm/lib/MCA/Context.cpp
The file was modifiedllvm/include/llvm/MCA/HardwareUnits/LSUnit.h
The file was modifiedllvm/include/llvm/MCA/Stages/RetireStage.h
The file was modifiedllvm/test/tools/llvm-mca/X86/BdVer2/store-throughput.s
Commit 67f542aba72f552c4833bb253761dbcc54071016 by jrtc27
[Diagnostics] Silence -Wsizeof-array-div for character buffers
Summary: Character buffers are sometimes used to represent a pool of
memory that contains non-character objects, due to them being synonymous
with a stream of bytes on almost all modern architectures. Often, when
interacting with hardware devices, byte buffers are therefore used as an
intermediary and so we can end Character buffers are sometimes used to
represent a pool of memory that contains non-character objects, due to
them being synonymous with a stream of bytes on almost all modern
architectures. Often, when interacting with hardware devices, byte
buffers are therefore used as an intermediary and so we can end up
generating lots of false-positives.
Moreover, due to the ability of character pointers to alias
non-character pointers, the strict aliasing violations that would
generally be implied by the calculations caught by the warning (if the
calculation itself is in fact correct) do not apply here, and so
although the length calculation may be wrong, that is the only possible
issue.
Reviewers: rsmith, xbolva00, thakis
Reviewed By: xbolva00, thakis
Subscribers: thakis, lebedev.ri, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68526
llvm-svn: 374035
The file was modifiedclang/test/Sema/div-sizeof-array.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit 537225a6a352f66f3b536b27359786dcca919a80 by flo
[LoopRotate] Unconditionally get DomTree.
LoopRotate is a loop pass and the DomTree should always be available.
Similar to a70c5261436322a53187d67b8bdc0445d0463a9a
llvm-svn: 374036
The file was modifiedllvm/lib/Transforms/Scalar/LoopRotation.cpp
Commit f34271d886901b5a96db8d8ac3341a8c59f1c141 by Andrey.Churbanov
Don't link libm with -Wl,--as-needed on FreeBSD
Patch by jbeich (Jan Beich)
Differential Revision: https://reviews.llvm.org/D68051
llvm-svn: 374037
The file was modifiedopenmp/runtime/cmake/LibompHandleFlags.cmake
Commit ca2973bb2024a72efd9bd583d6587bfff0a5545f by Andrey.Churbanov
Don't assume Type from `readelf -d` has parentheses
Patch by jbeich (Jan Beich)
Differential Revision: https://reviews.llvm.org/D68053
llvm-svn: 374038
The file was modifiedopenmp/runtime/tools/check-depends.pl
Commit 5cce533525d6d5174da796622a79bada6b48bba3 by spatel
[SLP] add test with prefer-vector-width function attribute; NFC
llvm-svn: 374039
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/pr19657.ll
Commit 7febdb7f27dfd3c5aab75ee07e1d36d30124fecc by nhaehnle
MachineSSAUpdater: insert IMPLICIT_DEF at top of basic block
Summary: When getValueInMiddleOfBlock happens to be called for a basic
block that has no incoming value at all, an IMPLICIT_DEF is inserted in
that block via GetValueAtEndOfBlockInternal. This IMPLICIT_DEF must be
at the top of its basic block or it will likely not reach the use that
the caller intends to insert.
Issue: https://github.com/GPUOpen-Drivers/llpc/issues/204
Reviewers: arsenm, rampitec
Subscribers: jvesely, wdng, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68183
llvm-svn: 374040
The file was modifiedllvm/lib/CodeGen/MachineSSAUpdater.cpp
The file was addedllvm/test/CodeGen/AMDGPU/si-i1-copies.mir
Commit df6e67697bfbfe364c65d75b5c01279dacc43aad by nhaehnle
AMDGPU: Propagate undef flag during pre-RA exec mask optimizations
Summary: Issue: https://github.com/GPUOpen-Drivers/llpc/issues/204
Reviewers: arsenm, rampitec
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye,
hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68184
llvm-svn: 374041
The file was modifiedllvm/test/CodeGen/AMDGPU/optimize-exec-masking-pre-ra.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
Commit b302561b763a1d2eb1a450e135b8d49931936755 by graham.hunter
[SVE][IR] Scalable Vector size queries and IR instruction support
* Adds a TypeSize struct to represent the known minimum size of a type
along with a flag to indicate that the runtime size is a integer
multiple
of that size
* Converts existing size query functions from Type.h and DataLayout.h to
return a TypeSize result
* Adds convenience methods (including a transparent conversion operator
to uint64_t) so that most existing code 'just works' as if the return
values were still scalars.
* Uses the new size queries along with ElementCount to ensure that all
supported instructions used with scalable vectors can be constructed
in IR.
Reviewers: hfinkel, lattner, rkruppe, greened, rovka, rengolin,
sdesmalen
Reviewed By: rovka, sdesmalen
Differential Revision: https://reviews.llvm.org/D53137
llvm-svn: 374042
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedllvm/include/llvm/ADT/DenseMapInfo.h
The file was modifiedllvm/include/llvm/IR/Type.h
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/lib/IR/DataLayout.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
The file was modifiedllvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/unittests/IR/VectorTypesTest.cpp
The file was addedllvm/include/llvm/Support/TypeSize.h
The file was modifiedllvm/include/llvm/IR/DataLayout.h
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h
The file was addedllvm/test/Other/scalable-vectors-core-ir.ll
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was removedllvm/include/llvm/Support/ScalableSize.h
The file was modifiedllvm/lib/IR/Type.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/Analysis.cpp
Commit aa53d6eb01a623254513c7f6ed61e0b3dc083ef4 by deadalnix
Add test for rotating truncated vectors. NFC
llvm-svn: 374043
The file was modifiedllvm/test/CodeGen/X86/rot16.ll
The file was modifiedllvm/test/CodeGen/X86/vector-rotate-128.ll
Commit d0d52edae92f5705450862561cecfc949d762481 by spop
fix fmls fp16
Tim Northover remarked that the added patterns for fmls fp16 produce
wrong code in case the fsub instruction has a multiplication as its
first operand, i.e., all the patterns FMLSv*_OP1:
> define <8 x half> @test_FMLSv8f16_OP1(<8 x half> %a, <8 x half> %b, <8
x half> %c) {
> ; CHECK-LABEL: test_FMLSv8f16_OP1:
> ; CHECK: fmls {{v[0-9]+}}.8h, {{v[0-9]+}}.8h, {{v[0-9]+}}.8h
> entry:
>
>   %mul = fmul fast <8 x half> %c, %b
>   %sub = fsub fast <8 x half> %mul, %a
>   ret <8 x half> %sub
> }
>
> This doesn't look right to me. The exact instruction produced is "fmls
> v0.8h, v2.8h, v1.8h", which I think calculates "v0 - v2*v1", but the
> IR is calculating "v2*v1-v0". The equivalent <4 x float> code also
> doesn't emit an fmls.
This patch generates an fmla and negates the value of the operand2 of
the fsub.
Inspecting the pattern match, I found that there was another mistake in
the opcode to be selected: matching FMULv4*16 should generate FMLSv4*16
and not FMLSv2*32.
Tested on aarch64-linux with make check-all.
Differential Revision: https://reviews.llvm.org/D67990
llvm-svn: 374044
The file was modifiedllvm/include/llvm/CodeGen/MachineCombinerPattern.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/fp16-fmla.ll
Commit 0929e5eca2cb2b9dcc854a3dad86273a6a6e6adc by kevin.neal
Restore documentation that 'svn update' unexpectedly yanked out from
under me.
llvm-svn: 374045
The file was addedllvm/docs/SubsystemDocumentation.rst
The file was addedllvm/docs/ProgrammingDocumentation.rst
Commit 9a44ab77637da1e740b72a72765c4504e13d9331 by pavel
Tweak minidebuginfo-set-and-hit-breakpoint.test
On my system, llvm-objcopy was refusing to remove the .dynsym section
because it was still referenced from .rela.plt. Remove that section too,
and clarify that this is needed only because llvm-objcopy
--only-keep-debug does not work (does not set the sections to
SHT_NOBITS). Also, ensure that the test is not creating temporary files
in the source tree.
llvm-svn: 374046
The file was modifiedlldb/lit/ObjectFile/ELF/minidebuginfo-set-and-hit-breakpoint.test
Commit 3c4646194ede95d26e30b24be9964ce45925a844 by kadircet
[clangd] Bump timeouts in speculative completion tests
llvm-svn: 374047
The file was modifiedclang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Commit 1b36caf45e5e52b139818e24e07ee069e9c8e18a by ibiryukov
[clangd] Disable expand auto on decltype(auto)
Summary: Applying it produces incorrect code at the moment.
Reviewers: sammccall
Reviewed By: sammccall
Subscribers: kuhnel, MaskRay, jkorous, arphaman, kadircet, usaxena95,
cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68630
llvm-svn: 374048
The file was modifiedclang-tools-extra/clangd/refactor/tweaks/ExpandAutoType.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TweakTests.cpp
Commit c91f1992a6cc13005550ae523aea2627e2ebd977 by kevin.neal
Nope, I'm wrong. It looks like someone else removed these on purpose and
it just happened to break the bot right when I did my push. So I'm
undoing this mornings incorrect push. I've also kicked off an email to
hopefully get the bot fixed the correct way.
llvm-svn: 374049
The file was removedllvm/docs/ProgrammingDocumentation.rst
The file was removedllvm/docs/SubsystemDocumentation.rst
Commit 534c86d172528d791738c0503948ee9bf883a9f3 by Louis Dionne
[libc++] Use PRIVATE to link benchmark dependencies
It's better style to use PRIVATE when linking libraries to executables,
and it doesn't make a difference since executables don't need to
propagate their link-time dependencies anyway.
llvm-svn: 374050
The file was modifiedlibcxx/benchmarks/CMakeLists.txt
Commit 6e0b1ce48e3cf95f447b932b03d8294903aa56e0 by pavel
Object/minidump: Add support for the MemoryInfoList stream
Summary: This patch adds the definitions of the constants and structures
necessary to interpret the MemoryInfoList minidump stream, as well as
the object::MinidumpFile interface to access the stream.
While the code is fairly simple, there is one important deviation from
the other minidump streams, which is worth calling out explicitly.
Unlike other "List" streams, the size of the records inside
MemoryInfoList stream is not known statically. Instead it is described
in the stream header. This makes it impossible to return
ArrayRef<MemoryInfo> from the accessor method, as it is done with other
streams. Instead, I create an iterator class, which can be parameterized
by the runtime size of the structure, and return
iterator_range<iterator> instead.
Reviewers: amccarth, jhenderson, clayborg
Subscribers: JosephTremoulet, zturner, markmentovai, lldb-commits,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68210
llvm-svn: 374051
The file was modifiedllvm/include/llvm/BinaryFormat/Minidump.h
The file was modifiedllvm/lib/Object/Minidump.cpp
The file was modifiedllvm/include/llvm/Object/Minidump.h
The file was modifiedllvm/unittests/Object/MinidumpTest.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/MinidumpConstants.def
Commit aca5d395d541b4adb9a9808984da24044e0b4ac7 by sidneym
[lld][Hexagon] Support PLT relocation R_HEX_B15_PCREL_X/R_HEX_B9_PCREL_X
These are sometimes generated by tail call optimizations.
Differential Revision: https://reviews.llvm.org/D66542
llvm-svn: 374052
The file was modifiedlld/test/ELF/hexagon-shared.s
The file was modifiedlld/ELF/Arch/Hexagon.cpp
The file was addedlld/test/ELF/hexagon-plt.s
Commit cf3ab6d96c3e9477b05bbbe8b525151320e96d71 by Louis Dionne
[libc++] Add missing link-time dependencies to the benchmarks
Since the benchmarks build with -nostdlib, they need to manually link
against some system libraries that are used by the benchmarks and the
GoogleBenchmark library itself.
Previously, we'd rely on the fact that these libraries were linked
through the PUBLIC dependencies of cxx_shared/cxx_static. However, if we
were to make these dependencies PRIVATE (as they should be because they
are implementation details of libc++), the benchmarks would fail to
link. This commit remediates that.
llvm-svn: 374053
The file was modifiedlibcxx/benchmarks/CMakeLists.txt
Commit 2cd0f2895946de546d066f67c88ff365d3210017 by courbet
[llvm-exegesis] Add options to SnippetGenerator.
Summary: This adds a `-max-configs-per-opcode` option to limit the
number of configs per opcode.
Reviewers: gchatelet
Subscribers: tschuett, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68642
llvm-svn: 374054
The file was modifiedllvm/docs/CommandGuide/llvm-exegesis.rst
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.cpp
The file was addedllvm/test/tools/llvm-exegesis/X86/max-configs.test
The file was modifiedllvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Latency.h
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetGenerator.cpp
The file was modifiedllvm/tools/llvm-exegesis/llvm-exegesis.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Uops.h
The file was modifiedllvm/tools/llvm-exegesis/lib/X86/Target.cpp
The file was modifiedllvm/tools/llvm-exegesis/lib/Target.h
The file was modifiedllvm/tools/llvm-exegesis/lib/SnippetGenerator.h
Commit 45e0f2437327e753b0cd20fbe6fa25c8e1b226c7 by Mirko.Brkusanin
[Mips] Emit proper ABI for _mcount calls
When -pg option is present than a call to _mcount is inserted into every
function. However since the proper ABI was not followed then the
generated gmon.out did not give proper results. By inserting needed
instructions  before every _mcount we can fix this.
Differential Revision: https://reviews.llvm.org/D68390
llvm-svn: 374055
The file was addedllvm/test/CodeGen/Mips/mcount.ll
The file was modifiedllvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
Commit c864f73e45ce138040b14d54dd4ad2bdcba396ea by Louis Dionne
[libc++] TAKE 2: Make system libraries PRIVATE dependencies of libc++
We tried doing that previously (in r373487) and failed (reverted in
r373506) because the benchmarks needed to link against system libraries
and relied on libc++'s dependencies being propagated. Now that this has
been fixed (in r374053), this commit marks the system libraries as
PRIVATE dependencies of libc++.
llvm-svn: 374056
The file was modifiedlibcxx/src/CMakeLists.txt
Commit 6b06ead19be79fd6e2d2abdda4c4cbb7c8f3c7c0 by a.bataev
[OPENMP50]Allow functions in declare variant directive to have different
C linkage.
After some discussion with OpenMP developers, it was decided that the
functions with the different C linkage can be used in declare variant
directive.
llvm-svn: 374057
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
The file was modifiedclang/test/OpenMP/declare_variant_implementation_vendor_codegen.cpp
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.cpp
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
Commit 5d566c5a46aeaa1fa0e5c0b823c9d5f84036dc9a by Cyndy Ishida
[TextAPI] Introduce TBDv4
Summary: This format introduces new features and platforms The
motivation for this format is to support more than 1 platform since
previous versions only supported additional architectures and 1
platform, for example ios + ios-simulator and macCatalyst.
Reviewers: ributzka, steven_wu
Reviewed By: ributzka
Subscribers: mgorny, hiraditya, mgrang, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67529
llvm-svn: 374058
The file was modifiedllvm/include/llvm/TextAPI/MachO/Target.h
The file was modifiedllvm/unittests/TextAPI/CMakeLists.txt
The file was modifiedllvm/include/llvm/TextAPI/MachO/Symbol.h
The file was modifiedllvm/lib/TextAPI/MachO/TextStub.cpp
The file was addedllvm/unittests/TextAPI/TextStubV4Tests.cpp
The file was modifiedllvm/lib/TextAPI/MachO/TextStubCommon.cpp
The file was modifiedllvm/include/llvm/TextAPI/MachO/InterfaceFile.h
The file was modifiedllvm/lib/TextAPI/MachO/Target.cpp
Commit ed5d1c12dc4e59990fbb3d1940d3efa8742e7968 by llvmgnsyncbot
gn build: Merge r374058
llvm-svn: 374059
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/TextAPI/BUILD.gn
Commit 08daf8cf0a554990caa8a559053c12e41af52dd2 by uenoku.tokotoko
[Attributor] Add helper class to compose two structured deduction.
Summary: This patch introduces a generic way to compose two structured
deductions.  This will be used for composing generic deduction with
`MustBeExecutedExplorer` and other existing generic deduction.
Reviewers: jdoerfert, sstefan1
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66645
llvm-svn: 374060
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit c382d03ca85d0c93b3e49949006e42314b9d4409 by puyan
[clang][ifs] Clang Interface Stubs ToolChain plumbing.
Second Landing Attempt:
This patch enables end to end support for generating ELF interface stubs
directly from clang. Now the following:
clang -emit-interface-stubs -o libfoo.so a.cpp b.cpp c.cpp
will product an ELF binary with visible symbols populated. Visibility
attributes and -fvisibility can be used to control what gets populated.
* Adding ToolChain support for clang Driver IFS Merge Phase
* Implementing a default InterfaceStubs Merge clang Tool, used by
ToolChain
* Adds support for the clang Driver to involve llvm-ifs on ifs files.
* Adds -emit-merged-ifs flag, to tell llvm-ifs to emit a merged ifs text
file
instead of the final object format (normally ELF)
Differential Revision: https://reviews.llvm.org/D63978
llvm-svn: 374061
The file was modifiedclang/lib/Driver/ToolChain.cpp
The file was addedclang/test/InterfaceStubs/object-double.c
The file was modifiedclang/lib/Driver/CMakeLists.txt
The file was modifiedclang/test/InterfaceStubs/function-template-specialization.cpp
The file was addedclang/test/InterfaceStubs/object.ifs
The file was modifiedclang/test/InterfaceStubs/class-template-specialization.cpp
The file was modifiedclang/include/clang/Driver/Types.def
The file was modifiedclang/lib/Driver/Action.cpp
The file was addedclang/test/InterfaceStubs/func.ifs
The file was modifiedclang/test/InterfaceStubs/inline.c
The file was addedclang/test/InterfaceStubs/merge-conflict-test.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was removedclang/test/InterfaceStubs/object.cpp
The file was addedclang/test/InterfaceStubs/object-float.c
The file was addedclang/test/InterfaceStubs/conflict-type.ifs
The file was modifiedclang/test/InterfaceStubs/template-namespace-function.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Action.h
The file was modifiedclang/lib/Driver/Types.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedclang/include/clang/Driver/Phases.h
The file was modifiedclang/test/InterfaceStubs/bad-format.cpp
The file was addedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was modifiedclang/include/clang/Driver/ToolChain.h
The file was addedclang/lib/Driver/ToolChains/InterfaceStubs.h
The file was modifiedclang/test/InterfaceStubs/externstatic.c
The file was addedclang/test/InterfaceStubs/driver-test.c
The file was addedclang/test/InterfaceStubs/object.c
The file was modifiedclang/test/InterfaceStubs/weak.cpp
The file was modifiedclang/test/lit.cfg.py
The file was modifiedclang/lib/Driver/Phases.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit fb92ef1e55d7371c29d695889d0b4d026627637d by Cyndy Ishida
Revert [TextAPI] Introduce TBDv4
This reverts r374058 (git commit
5d566c5a46aeaa1fa0e5c0b823c9d5f84036dc9a)
llvm-svn: 374062
The file was modifiedllvm/include/llvm/TextAPI/MachO/InterfaceFile.h
The file was modifiedllvm/unittests/TextAPI/CMakeLists.txt
The file was removedllvm/unittests/TextAPI/TextStubV4Tests.cpp
The file was modifiedllvm/include/llvm/TextAPI/MachO/Target.h
The file was modifiedllvm/lib/TextAPI/MachO/Target.cpp
The file was modifiedllvm/lib/TextAPI/MachO/TextStubCommon.cpp
The file was modifiedllvm/lib/TextAPI/MachO/TextStub.cpp
The file was modifiedllvm/include/llvm/TextAPI/MachO/Symbol.h
Commit 96e6ce4cd3613527107ed0fc762c510e9d18a860 by uenoku.tokotoko
[Attributor][MustExec] Deduce dereferenceable and nonnull attribute
using MustBeExecutedContextExplorer
Summary: In D65186 and related patches, MustBeExecutedContextExplorer is
introduced. This enables us to traverse instructions guaranteed to
execute from function entry. If we can know the argument is used as
`dereferenceable` or `nonnull` in these instructions, we can mark
`dereferenceable` or `nonnull` in the argument definition:
1. Memory instruction (similar to D64258) Trace memory instruction
pointer operand. Currently, only inbounds GEPs are traced.
``` define i64* @f(i64* %a) { entry:
%add.ptr = getelementptr inbounds i64, i64* %a, i64 1
; (because of inbounds GEP we can know that %a is at least
dereferenceable(16))
store i64 1, i64* %add.ptr, align 8
ret i64* %add.ptr ; dereferenceable 8 (because above instruction stores
into it)
}
```
2. Propagation from callsite (similar to D27855) If `deref` or `nonnull`
are known in call site parameter attributes we can also say that
argument also that attribute.
``` declare void @use3(i8* %x, i8* %y, i8* %z); declare void
@use3nonnull(i8* nonnull %x, i8* nonnull %y, i8* nonnull %z);
define void @parent1(i8* %a, i8* %b, i8* %c) {
call void @use3nonnull(i8* %b, i8* %c, i8* %a)
; Above instruction is always executed so we can say that@parent1(i8*
nonnnull %a, i8* nonnull %b, i8* nonnull %c)
call void @use3(i8* %c, i8* %a, i8* %b)
ret void
}
```
Reviewers: jdoerfert, sstefan1, spatel, reames
Reviewed By: jdoerfert
Subscribers: xbolva00, hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65402
llvm-svn: 374063
The file was modifiedllvm/test/Transforms/FunctionAttrs/norecurse.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/readattrs.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/arg_returned.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/test/Transforms/FunctionAttrs/nosync.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/noalias_returned.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/internal-noalias.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nocapture.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nonnull.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/dereferenceable.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/liveness.ll
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/dereferenceable.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/align.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/FunctionAttrs/callbacks.ll
Commit d190f7679f747d239eaa0b0efac9f9cf84e614a2 by llvmgnsyncbot
gn build: Merge r374061
llvm-svn: 374064
The file was modifiedllvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Commit 4e139f38710f84db6ab81253d9dd849d71f409b6 by llvmgnsyncbot
gn build: Merge r374062
llvm-svn: 374065
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/TextAPI/BUILD.gn
Commit d6470fb01a08b7e51870e27bab5271e2fea04ff6 by Fred Riss
Extract and simplify DumpEnumValue
llvm-svn: 374066
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit 41ff39605ea1c9278f6ff15208475f5f3c863f44 by Fred Riss
Add pretty printing of Clang "bitfield" enums
Summary: Using enumerators as flags is standard practice. This patch
adds support to LLDB to display such enum values symbolically, eg:
(E) e1 = A | B
If enumerators don't cover the whole value, the remaining bits are
displayed as hexadecimal:
(E) e4 = A | 0x10
Detecting whether an enum is used as a bitfield or not is complicated.
This patch implements a heuristic that assumes that such enumerators
will either have only 1 bit set or will be a combination of previous
values.
This patch doesn't change the way we currently display enums which the
above heuristic would not consider as bitfields.
Reviewers: jingham, labath
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D67520
llvm-svn: 374067
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/c/enum_types/main.c
The file was modifiedlldb/lit/SymbolFile/DWARF/debug-types-missing-signature.test
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/c/enum_types/TestEnumTypes.py
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit 98603a815308626fafdba930f69333da13ecc31e by nikola.prica
[DebugInfo][If-Converter] Update call site info during the optimization
During the If-Converter optimization pay attention when copying or
deleting call instructions in order to keep call site information in
valid state.
Reviewers: aprantl, vsk, efriedma
Reviewed By: vsk, efriedma
Differential Revision: https://reviews.llvm.org/D66955
llvm-svn: 374068
The file was modifiedllvm/lib/CodeGen/MachineFunction.cpp
The file was modifiedllvm/lib/CodeGen/PeepholeOptimizer.cpp
The file was addedllvm/test/DebugInfo/MIR/ARM/if-coverter-call-site-info.mir
The file was modifiedllvm/lib/CodeGen/BranchFolding.cpp
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/include/llvm/CodeGen/MachineFunction.h
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/test/CodeGen/ARM/smml.ll
The file was modifiedllvm/lib/CodeGen/InlineSpiller.cpp
The file was modifiedllvm/lib/CodeGen/IfConversion.cpp
The file was modifiedllvm/lib/CodeGen/MachineOutliner.cpp
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/XRayInstrumentation.cpp
The file was modifiedllvm/lib/CodeGen/LiveRangeEdit.cpp
The file was modifiedllvm/lib/CodeGen/UnreachableBlockElim.cpp
Commit 8970d88b65f0d0abea1306f2b64a07c60a66553a by kkleine
Simplify LZMA decoding by using ArrayRef::take_back
Summary: Follow-up for D66791#inline-616303
Reviewers: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68647
llvm-svn: 374069
The file was modifiedlldb/source/Host/common/LZMA.cpp
Commit d80c2520d9f8cb660bbd10b8ff7b78d7f03ad339 by David CARLIER
[builtins] Unbreak build on FreeBSD armv7 after D60351
headers include reordering.
Reviewers: phosek, echristo
Reviewed-By: phosek
Differential Revsion: https://reviews.llvm.org/D68045
llvm-svn: 374070
The file was modifiedcompiler-rt/lib/builtins/clear_cache.c
The file was modifiedcompiler-rt/lib/builtins/atomic.c
Commit 6d7fb29914e3dd9e7f7d7524c5f98367a1aa613a by kkleine
[lldb] Avoid resource leak
Summary: Before the pointer variable `args_dict` was assigned the result
of an allocation with `new` and then `args_dict` is passed to
`GetValueForKeyAsDictionary` which immediatly and unconditionally
assigns `args_dict` to `nullptr`:
```
   bool GetValueForKeyAsDictionary(llvm::StringRef key,
                                   Dictionary *&result) const {
     result = nullptr;
```
This caused a memory leak which was found in my coverity scan instance
under CID 224753: https://scan.coverity.com/projects/kwk-llvm-project.
Reviewers: jankratochvil, teemperor
Reviewed By: teemperor
Subscribers: teemperor, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68638
llvm-svn: 374071
The file was modifiedlldb/source/Breakpoint/BreakpointResolverScripted.cpp
Commit 5d154c3e7d9dcd8f651ac6b34ee21aa553c82c74 by a.bataev
[OPENMP50]Prohibit multiple context selector sets in context selectors.
According to OpenMP 5.0, 2.3.2 Context Selectors, Restrictions, each
trait-set-selector-name can only be specified once. Added check to
implement this restriction.
llvm-svn: 374072
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.c
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.cpp
Commit 6a37c5d6fcae2182856051f558aab6cb8ba7233c by aheejin
[WebAssembly] Fix a bug in 'try' placement
Summary: When searching for local expression tree created by stackified
registers, for 'block' placement, we start the search from the previous
instruction of a BB's terminator. But in 'try''s case, we should start
from the previous instruction of a call that can throw, or a EH_LABEL
that precedes the call, because the return values of the call's previous
instructions can be stackified and consumed by the throwing call.
For example,
```
i32.call @foo
call @bar         ; may throw
br $label0
``` In this case, if we start the search from the previous instruction
of the terminator (`br` here), we end up stopping at `call @bar` and
place a 'try' between `i32.call @foo` and `call @bar`, because `call
@bar` does not have a return value so it is not a local expression tree
of
`br`.
But in this case, unlike when placing 'block's, we should start the
search from `call @bar`, because the return value of `i32.call @foo` is
stackified and used by `call @bar`.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68619
llvm-svn: 374073
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
Commit 7df5b2f79f9d802a94e8c9b8e9882777fe0f7ef7 by deadalnix
(Re)generate various tests. NFC
llvm-svn: 374074
The file was modifiedllvm/test/CodeGen/Thumb/rev.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/lshr.v2i16.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-rev.ll
The file was modifiedllvm/test/CodeGen/ARM/rev.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/shl.v2i16.ll
Commit d1fe34cc93b4d690381a6993a3f7f21fa20e9fe4 by lebedev.ri
[NFC][CVP] Add tests where we can replace sext with zext
If the sign bit of the value that is being sign-extended is not set,
i.e. the value is non-negative (s>= 0), then zero-extension will
suffice, and is better for analysis: https://rise4fun.com/Alive/a8PD
llvm-svn: 374075
The file was addedllvm/test/Transforms/CorrelatedValuePropagation/sext.ll
Commit 3fb4e49a68f5845afc4daea0eb81c69d424ee85f by Fred Riss
[Testsuite] Get rid of most of the recursive shared library Makefiles
Most of the secondary Makefiles we have are just a couple variable
definitions and then an include of Makefile.rules. This patch removes
most of the secondary Makefiles and replaces them with a direct
invocation of Makefile.rules in the main Makefile. The specificities of
each sub-build are listed right there on the recursive $(MAKE) call. All
the variables that matter are being passed automagically by make as they
have been passed on the command line. The only things you need to
specify are the variables customizating the Makefile.rules logic for
each image.
This patch also removes most of the clean logic from those Makefiles and
from Makefile.rules. The clean rule is not required anymore now that we
run the testsuite in a separate build directory that is wiped with each
run. The patch leaves a very crude version of clean in Makefile.rules
which removes everything inside of $(BUILDDIR). It does this only when
the $(BUILDDIR) looks like a sub-directory of our standard testsuite
build directory to be extra safe.
Reviewers: aprantl, labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68558
llvm-svn: 374076
The file was removedlldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/svr4lib_a.mk
The file was removedlldb/packages/Python/lldbsuite/test/macosx/macabi/dylib.mk
The file was removedlldb/packages/Python/lldbsuite/test/functionalities/load_unload/d.mk
The file was removedlldb/packages/Python/lldbsuite/test/commands/expression/top-level/dummy.mk
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Makefile
The file was removedlldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/svr4lib_b_quote.mk
The file was removedlldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/create-empty-corefile.mk
The file was modifiedlldb/packages/Python/lldbsuite/test/make/Makefile.rules
The file was removedlldb/packages/Python/lldbsuite/test/commands/target/create-deps/a.mk
The file was removedlldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/Test/Test.mk
The file was removedlldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/simple.mk
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/load_using_paths/Makefile
The file was removedlldb/packages/Python/lldbsuite/test/functionalities/load_unload/c.mk
The file was removedlldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/a.mk
The file was removedlldb/packages/Python/lldbsuite/test/functionalities/load_unload/b.mk
The file was removedlldb/packages/Python/lldbsuite/test/functionalities/exec/secondprog.mk
The file was removedlldb/packages/Python/lldbsuite/test/lang/objc/conflicting-definition/TestExt/TestExt.mk
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/exec/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/macosx/lc-note/kern-ver-str/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/jitloader_gdb/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/tools/lldb-server/libraries-svr4/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/top-level/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/load_unload/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/Makefile
The file was removedlldb/packages/Python/lldbsuite/test/functionalities/load_unload/a.mk
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/target/create-deps/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/macosx/macabi/Makefile
The file was removedlldb/packages/Python/lldbsuite/test/lang/cpp/namespace_definitions/b.mk
Commit 02376077be5567fe0d7d1e51679aac121e4bbf79 by Shafik Yaghmour
Revert "[platform process list] add a flag for showing the processes of
all users"
This reverts commit 080f35fb875f52c924ee37ed4d56a51fe7056afa.
Conflicts:
packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py
llvm-svn: 374077
The file was modifiedlldb/source/Commands/Options.td
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
The file was removedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/TestPlatformClient.py
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/gdb_remote_client/gdbclientutils.py
Commit eb6698572623f7f704596949bfc2a6bdcc7940d1 by greened
[UpdateCCTestChecks] Detect function mangled name on separate line
Sometimes functions with large comment blocks in front of them have
their declarations output on several lines by c-index-test.  Hence the
one-line function name/line/mangled pattern will not work to detect
them.  Break the pattern up into two patterns and keep state after
seeing the name/line information until we finally see the mangled name.
Differential Revision: https://reviews.llvm.org/D68272
llvm-svn: 374078
The file was modifiedllvm/utils/update_cc_test_checks.py
Commit 32300877f9f450c0a58810d94a905a0fd76f9948 by Louis Dionne
[libc++] Make sure we link all system libraries into the benchmarks
It turns out that r374056 broke _some_ build bots again, specifically
the ones using sanitizers. Instead of trying to link the right system
libraries to the benchmarks bit-by-bit, let's just link exactly the
system libraries that libc++ itself needs.
llvm-svn: 374079
The file was modifiedlibcxx/benchmarks/CMakeLists.txt
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibcxx/CMakeLists.txt
Commit bde5a6a45a3c3f3703d04cde4068f5b82cbd8d01 by Adrian Prantl
Remove constructor and unused method (NFC).
Differential Revision: https://reviews.llvm.org/D68595
llvm-svn: 374080
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Commit 917b8df0e531d4b2ecb9c9bc7370a75905587bbc by Adrian Prantl
Replace static const StringRef with StringRef (NFC)
Differential Revision: https://reviews.llvm.org/D68597
llvm-svn: 374081
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
The file was modifiedlldb/source/Interpreter/OptionValueBoolean.cpp
Commit ea6377505435f0a6c9deb154a38dc6960d28726e by Adrian Prantl
Replace regex match with rfind (NFCish)
This change is mostly performance-neutral since our regex engine is
fast, but it's IMHO slightly more readable.  Also, matching matching
parenthesis is not a great match for regular expressions.
Differential Revision: https://reviews.llvm.org/D68609
llvm-svn: 374082
The file was modifiedlldb/source/Symbol/ObjectFile.cpp
The file was modifiedlldb/include/lldb/Symbol/ObjectFile.h
Commit 8f002193bf498df6caef159278a9cb61ef1c5437 by Stanislav.Mekhanoshin
[AMDGPU] Disable unused gfx10 dpp instructions
Inhibit generation of unused real dpp instructions on gfx10 just like it
is done on other subtargets. This does not change anything because these
are illegal anyway and not accepted, but it does reduce the number of
instruction definitions generated.
Differential Revision: https://reviews.llvm.org/D68607
llvm-svn: 374083
The file was modifiedllvm/lib/Target/AMDGPU/VOP1Instructions.td
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
Commit 8db229e28771c04c02bfcb3fbd72135dcef6780f by Adrian Prantl
ObjectFileMachO: Replace std::map with llvm::DenseMap (NFC)
This makes parsing the symbol table of clang marginally faster.
(Hashtable versus tree).
Differential Revision: https://reviews.llvm.org/D68605
llvm-svn: 374084
The file was modifiedlldb/include/lldb/Utility/ConstString.h
The file was modifiedlldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
Commit e746380f6a19d347f09b30d6cff0e463b2953366 by llvm-dev
CodeGenPrepare - silence static analyzer dyn_cast<> null dereference
warnings. NFCI.
The static analyzer is warning about potential null dereferences, but in
these cases we should be able to use cast<> directly and if not assert
will fire for us.
llvm-svn: 374085
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit fb8218f2525ae7b03a383b066929878d265d5ef3 by uenoku.tokotoko
[Attributor][Fix] Temporary fix for windows build bot failure
D65402 causes test failure related to attributor-max-iterations. This
commit removes attributor-max-iterations-verify for now. I'll examine
the factor and the flag should be reverted.
llvm-svn: 374086
The file was modifiedllvm/test/Transforms/FunctionAttrs/callbacks.ll
Commit 3a8d80944b7766449e2c8784a8fb30d19a2ba16c by tstellar
AMDGPU: Add offsets to MMO when lowering buffer intrinsics
Summary: Without offsets on the MachineMemOperands (MMOs),
MachineInstr::mayAlias() will return true for all reads and writes to
the same resource descriptor.  This leads to O(N^2) complexity in the
MachineScheduler when analyzing dependencies of buffer loads and stores.
It also limits the SILoadStoreOptimizer from merging more instructions.
This patch reduces the compile time of one pathological compute shader
from 12 seconds to 1 second.
Reviewers: arsenm, nhaehnle
Reviewed By: arsenm
Subscribers: kzhuravl, jvesely, wdng, yaxunl, dstuttard, tpr, t-tye,
hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D65097
llvm-svn: 374087
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.h
The file was addedllvm/test/CodeGen/AMDGPU/buffer-intrinsics-mmo-offsets.ll
Commit d8245e7a36d50310c85cbefe6b79f27f745e7cee by Vitaly Buka
[sanitizer] Disable crypt*.cpp tests on Android
llvm-svn: 374088
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/crypt_r.cpp
Commit 9852699dcb18dd26866695a861e31a07bcc16e82 by Vedant Kumar
[CodeExtractor] Factor out and reuse shrinkwrap analysis
Factor out CodeExtractor's analysis of allocas (for shrinkwrapping
purposes), and allow the analysis to be reused.
This resolves a quadratic compile-time bug observed when compiling
AMDGPUDisassembler.cpp.o.
Pre-patch (Release + LTO clang):
```
  ---User Time---   --System Time--   --User+System--   ---Wall Time---
--- Name ---
176.5278 ( 57.8%)   0.4915 ( 18.5%)  177.0192 ( 57.4%)  177.4112 (
57.3%)  Hot Cold Splitting
```
Post-patch (ReleaseAsserts clang):
```
  ---User Time---   --System Time--   --User+System--   ---Wall Time---
--- Name ---
1.4051 (  3.3%)   0.0079 (  0.3%)   1.4129 (  3.2%)   1.4129 (  3.2%)
Hot Cold Splitting
```
Testing: check-llvm, and comparing the AMDGPUDisassembler.cpp.o binary
pre- vs. post-patch.
An alternate approach is to hide CodeExtractorAnalysisCache from clients
of CodeExtractor, and to recompute the analysis from scratch inside of
CodeExtractor::extractCodeRegion(). This eliminates some redundant work
in the shrinkwrapping legality check. However, some clients continue to
exhibit O(n^2) compile time behavior as computing the analysis is O(n).
rdar://55912966
Differential Revision: https://reviews.llvm.org/D68616
llvm-svn: 374089
The file was modifiedllvm/lib/Transforms/IPO/BlockExtractor.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/lib/Transforms/IPO/PartialInlining.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/HotColdSplitting.h
The file was modifiedllvm/lib/Transforms/IPO/LoopExtractor.cpp
The file was modifiedllvm/lib/Transforms/IPO/HotColdSplitting.cpp
The file was modifiedllvm/unittests/Transforms/Utils/CodeExtractorTest.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/CodeExtractor.h
Commit 796a58107ad5116d1da88871528ac8ec5195bd5e by spatel
[SLP] add test with prefer-vector-width function attribute; NFC
(PR43578)
llvm-svn: 374090
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/load-merge.ll
Commit 9912232b461ab76b08497021019084360b137060 by Jinsong Ji
Revert "[LoopVectorize][PowerPC] Estimate int and float register
pressure separately in loop-vectorize"
Also Revert "[LoopVectorize] Fix non-debug builds after rL374017"
This reverts commit 9f41deccc0e648a006c9f38e11919f181b6c7e0a. This
reverts commit 18b6fe07bcf44294f200bd2b526cb737ed275c04.
The patch is breaking PowerPC internal build, checked with author,
reverting on behalf of him for now due to timezone.
llvm-svn: 374091
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reg-usage.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/reg-usage-debug.ll
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was removedllvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
The file was modifiedllvm/lib/Target/XCore/XCoreTargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
Commit 190a17bbd1c24f677ba0fdca6df97d9cd208e131 by Matthew.Arsenault
AMDGPU: Fix i16 arithmetic pattern redundancy
There were 2 problems here. First, these patterns were duplicated to
handle the inverted shift operands instead of using the commuted
PatFrags.
Second, the point of the zext folding patterns don't apply to the
non-0ing high subtargets. They should be skipped instead of inserting
the extension. The zeroing high code would be emitted when necessary
anyway. This was also emitting unnecessary zexts in cases where the high
bits were undefined.
llvm-svn: 374092
The file was modifiedllvm/test/CodeGen/AMDGPU/idot2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ashr.s16.mir
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-lshr.s16.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/idot4u.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8s.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/preserve-hi16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/idot8u.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-shl.s16.mir
Commit 70d2e5427ed31889456fac933c3e596b4bb5a762 by a.bataev
[OPENMP50]Do not allow multiple same context traits in the same context
selector.
According to OpenMP 5.0, 2.3.2 Context Selectors, Restrictions, each
trait-selector-name can only be specified once. Added check for this
restriction.
llvm-svn: 374093
The file was modifiedclang/test/OpenMP/declare_variant_messages.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.c
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/test/OpenMP/declare_variant_messages.c
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.cpp
Commit 085328eeeeba63ab3ef2d59f1bb8fa83ca069d33 by Lawrence D'Anna
exception handling in PythonDataObjects.
Summary: Python APIs nearly all can return an exception.   They do this
by returning NULL, or -1, or some such value and setting the exception
state with PyErr_Set*().   Exceptions must be handled before further
python API functions are called.   Failure to do so will result in
asserts on debug builds of python. It will also sometimes, but not
usually result in crashes of release builds.
Nearly everything in PythonDataObjects.h needs to be updated to account
for this.   This patch doesn't fix everything, but it does introduce
some new methods using Expected<> return types that are safe to use.
split off from https://reviews.llvm.org/D68188
Reviewers: JDevlieghere, jasonmolenda, labath, zturner
Reviewed By: labath
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D68547
llvm-svn: 374094
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
The file was modifiedlldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
Commit 5d415b706f678108fa7f5dca7ade588cd8da24eb by Fred Riss
Fix sign extension handling in DumpEnumValue
When an enumerator has an unsigned type and its high bit set, the code
introduced in r374067 would fail to match it due to a sign extension
snafu. This commit fixes this aspec of the code and should fix the bots.
I think it's not a complete fix though, I'll add more test coverage and
additional tweaks in a follow-up commit.
llvm-svn: 374095
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
Commit 065d34dbe1000302404a051b34dc3b1c35077060 by Adrian Prantl
Reflow/fix doxygen comments.
llvm-svn: 374096
The file was modifiedlldb/include/lldb/Symbol/ObjectFile.h
Commit 6334a59454ef934f08731d536c7352e97af31d3f by michael.hliao
[driver][hip] Skip bundler if host action is nothing.
Reviewers: sfantao, tra, yaxunl
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68652
llvm-svn: 374097
The file was modifiedclang/lib/Driver/Driver.cpp
The file was addedclang/test/Driver/hip-syntax-only.hip
Commit 135f2f01a2d9f58546846894ac63417a0264b9f6 by Jan Korous
[NFC] Attempt to make ubsan-blacklist-vfs test pass on Windows
Previously disabled in d0c2d5daa3e
llvm-svn: 374098
The file was modifiedclang/test/CodeGen/ubsan-blacklist-vfs.c
Commit 05e46979d2f4ba709400e43716b5c37d3d46d329 by yhs
[BPF] do compile-once run-everywhere relocation for bitfields
A bpf specific clang intrinsic is introduced:
  u32 __builtin_preserve_field_info(member_access, info_kind) Depending
on info_kind, different information will be returned to the program. A
relocation is also recorded for this builtin so that bpf loader can
patch the instruction on the target host. This clang intrinsic is used
to get certain information to facilitate struct/union member
relocations.
The offset relocation is extended by 4 bytes to include relocation kind.
Currently supported relocation kinds are
enum {
   FIELD_BYTE_OFFSET = 0,
   FIELD_BYTE_SIZE,
   FIELD_EXISTENCE,
   FIELD_SIGNEDNESS,
   FIELD_LSHIFT_U64,
   FIELD_RSHIFT_U64,
}; for __builtin_preserve_field_info. The old access offset relocation
is covered by
   FIELD_BYTE_OFFSET = 0.
An example: struct s {
   int a;
   int b1:9;
   int b2:4;
}; enum {
   FIELD_BYTE_OFFSET = 0,
   FIELD_BYTE_SIZE,
   FIELD_EXISTENCE,
   FIELD_SIGNEDNESS,
   FIELD_LSHIFT_U64,
   FIELD_RSHIFT_U64,
};
void bpf_probe_read(void *, unsigned, const void *); int
field_read(struct s *arg) {
unsigned long long ull = 0;
unsigned offset = __builtin_preserve_field_info(arg->b2,
FIELD_BYTE_OFFSET);
unsigned size = __builtin_preserve_field_info(arg->b2,
FIELD_BYTE_SIZE);
#ifdef USE_PROBE_READ
bpf_probe_read(&ull, size, (const void *)arg + offset);
unsigned lshift = __builtin_preserve_field_info(arg->b2,
FIELD_LSHIFT_U64);
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
lshift = lshift + (size << 3) - 64;
#endif
#else
switch(size) {
case 1:
   ull = *(unsigned char *)((void *)arg + offset); break;
case 2:
   ull = *(unsigned short *)((void *)arg + offset); break;
case 4:
   ull = *(unsigned int *)((void *)arg + offset); break;
case 8:
   ull = *(unsigned long long *)((void *)arg + offset); break;
}
unsigned lshift = __builtin_preserve_field_info(arg->b2,
FIELD_LSHIFT_U64);
#endif
ull <<= lshift;
if (__builtin_preserve_field_info(arg->b2, FIELD_SIGNEDNESS))
   return (long long)ull >> __builtin_preserve_field_info(arg->b2,
FIELD_RSHIFT_U64);
return ull >> __builtin_preserve_field_info(arg->b2, FIELD_RSHIFT_U64);
}
There is a minor overhead for bpf_probe_read() on big endian.
The code and relocation generated for field_read where bpf_probe_read()
is used to access argument data on little endian mode:
       r3 = r1
       r1 = 0
       r1 = 4  <=== relocation (FIELD_BYTE_OFFSET)
       r3 += r1
       r1 = r10
       r1 += -8
       r2 = 4  <=== relocation (FIELD_BYTE_SIZE)
       call bpf_probe_read
       r2 = 51 <=== relocation (FIELD_LSHIFT_U64)
       r1 = *(u64 *)(r10 - 8)
       r1 <<= r2
       r2 = 60 <=== relocation (FIELD_RSHIFT_U64)
       r0 = r1
       r0 >>= r2
       r3 = 1  <=== relocation (FIELD_SIGNEDNESS)
       if r3 == 0 goto LBB0_2
       r1 s>>= r2
       r0 = r1 LBB0_2:
       exit
Compare to the above code between relocations FIELD_LSHIFT_U64 and
FIELD_LSHIFT_U64, the code with big endian mode has four more
instructions.
       r1 = 41   <=== relocation (FIELD_LSHIFT_U64)
       r6 += r1
       r6 += -64
       r6 <<= 32
       r6 >>= 32
       r1 = *(u64 *)(r10 - 8)
       r1 <<= r6
       r2 = 60   <=== relocation (FIELD_RSHIFT_U64)
The code and relocation generated when using direct load.
       r2 = 0
       r3 = 4
       r4 = 4
       if r4 s> 3 goto LBB0_3
       if r4 == 1 goto LBB0_5
       if r4 == 2 goto LBB0_6
       goto LBB0_9 LBB0_6:                                 # %sw.bb1
       r1 += r3
       r2 = *(u16 *)(r1 + 0)
       goto LBB0_9 LBB0_3:                                 # %entry
       if r4 == 4 goto LBB0_7
       if r4 == 8 goto LBB0_8
       goto LBB0_9 LBB0_8:                                 # %sw.bb9
       r1 += r3
       r2 = *(u64 *)(r1 + 0)
       goto LBB0_9 LBB0_5:                                 # %sw.bb
       r1 += r3
       r2 = *(u8 *)(r1 + 0)
       goto LBB0_9 LBB0_7:                                 # %sw.bb5
       r1 += r3
       r2 = *(u32 *)(r1 + 0) LBB0_9:                                 #
%sw.epilog
       r1 = 51
       r2 <<= r1
       r1 = 60
       r0 = r2
       r0 >>= r1
       r3 = 1
       if r3 == 0 goto LBB0_11
       r2 s>>= r1
       r0 = r2 LBB0_11:                                # %sw.epilog
       exit
Considering verifier is able to do limited constant propogation
following branches. The following is the code actually traversed.
       r2 = 0
       r3 = 4   <=== relocation
       r4 = 4   <=== relocation
       if r4 s> 3 goto LBB0_3 LBB0_3:                                 #
%entry
       if r4 == 4 goto LBB0_7 LBB0_7:                                 #
%sw.bb5
       r1 += r3
       r2 = *(u32 *)(r1 + 0) LBB0_9:                                 #
%sw.epilog
       r1 = 51   <=== relocation
       r2 <<= r1
       r1 = 60   <=== relocation
       r0 = r2
       r0 >>= r1
       r3 = 1
       if r3 == 0 goto LBB0_11
       r2 s>>= r1
       r0 = r2 LBB0_11:                                # %sw.epilog
       exit
For native load case, the load size is calculated to be the same as the
size of load width LLVM otherwise used to load the value which is then
used to extract the bitfield value.
Differential Revision: https://reviews.llvm.org/D67980
llvm-svn: 374099
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-3.ll
The file was addedclang/include/clang/Basic/BuiltinsBPF.def
The file was addedclang/test/CodeGen/builtins-bpf-preserve-field-info-1.c
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-3.ll
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-struct-array.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-2.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-global-1.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-array.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-2.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-2.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-1.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-multi-array-2.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-global-2.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-global-3.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-lshift-1.ll
The file was modifiedclang/include/clang/module.modulemap
The file was modifiedclang/lib/Basic/Targets/BPF.h
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-3.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-typedef.ll
The file was modifiedllvm/lib/Target/BPF/BTFDebug.cpp
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-multilevel.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-access-str.ll
The file was modifiedllvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-1.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-byte-size-3.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsBPF.td
The file was modifiedllvm/test/CodeGen/BPF/CORE/intrinsic-union.ll
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was addedclang/test/CodeGen/builtins-bpf-preserve-field-info-2.c
The file was addedllvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-2.ll
The file was addedllvm/test/CodeGen/BPF/CORE/offset-reloc-fieldinfo-1.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/intrinsic-array.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-end-load.ll
The file was modifiedllvm/lib/Target/BPF/BPFCORE.h
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-2.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-2.ll
The file was modifiedclang/lib/Basic/Targets/BPF.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-1.ll
The file was modifiedllvm/lib/Target/BPF/BPF.h
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-union.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-1.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-struct-anonymous.ll
The file was modifiedclang/include/clang/Basic/TargetBuiltins.h
The file was modifiedllvm/lib/Target/BPF/BTFDebug.h
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-cast-array-1.ll
The file was modifiedllvm/lib/Target/BPF/BTF.h
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-union.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-cast-struct-2.ll
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-signedness-2.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-3.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-end-ret.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-multi-array-1.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-middle-chain.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-rshift-1.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-typedef-struct.ll
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
The file was addedllvm/test/CodeGen/BPF/CORE/intrinsic-fieldinfo-existence-1.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/intrinsic-struct.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-cast-union-2.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-pointer-2.ll
The file was addedclang/test/Sema/builtins-bpf.c
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-pointer-1.ll
The file was modifiedllvm/test/CodeGen/BPF/CORE/offset-reloc-ignore.ll
Commit 28fcc033c883f95416e920ff05f629df2c560a23 by apl
[CMake] Fix building without python on Windows
Summary: find_python_libs_windows might set LLDB_DISABLE_PYTHON to ON.
Unfortunately we do not re-check this variable before using variables
filled in by find_python_libs_windows, leading to a failed
configuration.
llvm-svn: 374100
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
Commit 4b7cabf1e16ff840ef4c7e5c4d04891276141b7c by daniel_l_sanders
[tblgen] Add getOperatorAsDef() to Record
Summary: While working with DagInit's, it's often the case that you
expect the operator to be a reference to a def. This patch adds a
wrapper for this common case to reduce the amount of boilerplate callers
need to duplicate repeatedly.
getOperatorAsDef() returns the record if the DagInit has an operator
that is a DefInit. Otherwise, it prints a fatal error.
There's only a few pre-existing examples in LLVM at the moment and I've
left a few instances of the code this simplifies as they had more
specific error messages than the generic one this produces. I'm going to
be using this a fair bit in my subsequent patches.
Reviewers: bogner, volkan, nhaehnle
Reviewed By: nhaehnle
Subscribers: nhaehnle, hiraditya, asb, rbar, johnrusso, simoncook,
apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones,
rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, lenary,
s.egerton, pzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68424
llvm-svn: 374101
The file was modifiedllvm/utils/TableGen/AsmWriterEmitter.cpp
The file was modifiedllvm/lib/TableGen/Record.cpp
The file was modifiedllvm/utils/TableGen/RISCVCompressInstEmitter.cpp
The file was modifiedllvm/include/llvm/TableGen/Record.h
Commit cb8292274a222f916399d085a494df3b8cd1c970 by jordan_rose
Mark several PointerIntPair methods as lvalue-only
No point in mutating 'this' if it's just going to be thrown away.
https://reviews.llvm.org/D63945
llvm-svn: 374102
The file was modifiedllvm/include/llvm/ADT/PointerIntPair.h
Commit 8cb804a3c9ce2ba4e6d4a04d9ff48329a701f2cb by nicolasweber
Try to get readability-deleted-default.cpp to pass on Windows.
In MS compatibility mode, "extern inline void g()" is not a redundant
declaration for "inline void g()", because of redeclForcesDefMSVC()
(see PR19264, r205485).
To fix, run the test with -fms-compatiblity forced on and off and
explicit check for the differing behavior for extern inline.
Final bit of PR43593.
Differential Revision: https://reviews.llvm.org/D68640
llvm-svn: 374103
The file was modifiedclang-tools-extra/test/clang-tidy/readability-redundant-declaration.cpp
Commit b328dcbf850ed6b7a4fab603f58dc6a51e14f984 by Jonas Devlieghere
[Reproducer] Don't isntrument methods that get called from the signal
handler.
LLDB's signal handlers call SBDebugger methods, which themselves try to
be really careful about not doing anything non-signal safe. The
Reproducer record macro is not careful though, and does unsafe things
which potentially caused LLDB to crash. Given that these methods are not
particularly interesting I've swapped the RECORD macros with DUMMY ones,
so that we still register the API boundary but don't do anything
non-signal safe.
Thanks Jim for figuring this one out!
llvm-svn: 374104
The file was modifiedlldb/source/API/SBDebugger.cpp
The file was modifiedlldb/include/lldb/Utility/ReproducerInstrumentation.h
Commit b690e000d7ea3bb57182b529bfc1dd433157e0dc by nicolasweber
Try to get ubsan-blacklist-vfs.c pass more on Windows
llvm-svn: 374105
The file was modifiedclang/test/CodeGen/ubsan-blacklist-vfs.c
Commit 07c5f2a9b0add36974250cd9ab9152458e8b3361 by Vedant Kumar
StopInfo/Mach: Use early-exits, reflow messy comments, NFCI
llvm-svn: 374106
The file was modifiedlldb/include/lldb/Target/StopInfo.h
The file was modifiedlldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
Commit 303657a6c6f440f1855f6680c8bb1c8a7b815535 by a.bataev
[OPENMP50]Multiple vendors in vendor context must be treated as logical
and of vendors, not or.
If several vendors are provided in the same vendor context trait, the
context shall match only if all vendors are matching, not one of them.
This is per OpenMP 5.0, 2.3.3 Matching and Scoring Context Selectors,
all selectors in the construct, device, and implementation sets of the
context selector appear in the corresponding trait set of the OpenMP
context.
llvm-svn: 374107
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.c
The file was modifiedclang/test/OpenMP/declare_variant_ast_print.cpp
The file was modifiedclang/lib/Parse/ParseOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/OpenMP/declare_variant_implementation_vendor_codegen.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/Sema/SemaOpenMP.cpp
Commit b56e3a1723e3e390f4b73bb466a3f6cd91458ca2 by Fred Riss
Add test coverage to printing of enums and fix display of unsigned
values
TestCPP11EnumTypes.py should have covered all our bases when it comes to
typed enums, but it missed the regression introduced in r374066. The
reason it didn't catch it is somewhat funny: the test was copied over
from another test that recompiled a source file with a different base
type every time, but neither the test source nor the python code was
adapted for testing enums. As a result, this test was just running 8
times the exact same checks on the exact same binary.
This commit fixes the coverage and addresses the issue revealed by the
new tests.
llvm-svn: 374108
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/enum_types/TestCPP11EnumTypes.py
The file was modifiedlldb/source/Symbol/ClangASTContext.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/lang/cpp/enum_types/main.cpp
Commit 196eae533b091243e052e54895ebcd7ca287ed54 by Dan Liew
Fix `compiler_rt_logbf_test.c` test failure for Builtins-i386-darwin
test suite.
Summary: It seems that compiler-rt's implementation and Darwin libm's
implementation of `logbf()` differ when given a NaN with raised sign
bit. Strangely this behaviour only happens with i386 Darwin libm. For
x86_64 and x86_64h the existing compiler-rt implementation matched
Darwin libm.
To workaround this the `compiler_rt_logbf_test.c` has been modified to
do a comparison on the `fp_t` type and if that fails check if both
values are NaN. If both values are NaN they are equivalent and no error
needs to be raised.
rdar://problem/55565503
Reviewers: rupprecht, scanon, compnerd, echristo Subscribers:
#sanitizers, llvm-commits Tags: #llvm, #sanitizers Differential
Revision: https://reviews.llvm.org/D67999
llvm-svn: 374109
The file was modifiedcompiler-rt/test/builtins/Unit/compiler_rt_logbf_test.c
Commit 49b398f0e958b0a89a7167f7d37930b44d3d17b6 by Vitaly Buka
[clang] Add llvm-ifs in test deps
llvm-svn: 374110
The file was modifiedclang/test/CMakeLists.txt
Commit 347f6a770b3659eab2b7c533b957ee6e453dd7e3 by lebedev.ri
[CVP][NFC] Revisit sext vs. zext test
llvm-svn: 374111
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/sext.ll
Commit 354ba6985ca0436d263e94ab3139f6f099cc0809 by lebedev.ri
[CVP} Replace SExt with ZExt if the input is known-non-negative
Summary: zero-extension is far more friendly for further analysis. While
this doesn't directly help with the shift-by-signext problem, this is
not unrelated.
This has the following effect on test-suite (numbers collected after the
finish of middle-end module pass manager):
| Statistic                            |     old |     new | delta |
percent change |
| correlated-value-propagation.NumSExt |       0 |    6026 |  6026 | 
+100.00%     |
| instcount.NumAddInst                 |  272860 |  271283 | -1577 |   
-0.58%     |
| instcount.NumAllocaInst              |   27227 |   27226 | -1    |   
0.00%     |
| instcount.NumAndInst                 |   63502 |   63320 | -182  |   
-0.29%     |
| instcount.NumAShrInst                |   13498 |   13407 | -91   |   
-0.67%     |
| instcount.NumAtomicCmpXchgInst       |    1159 |    1159 |  0    |   
0.00%     |
| instcount.NumAtomicRMWInst           |    5036 |    5036 |  0    |   
0.00%     |
| instcount.NumBitCastInst             |  672482 |  672353 | -129  |   
-0.02%     |
| instcount.NumBrInst                  |  702768 |  702195 | -573  |   
-0.08%     |
| instcount.NumCallInst                |  518285 |  518205 | -80   |   
-0.02%     |
| instcount.NumExtractElementInst      |   18481 |   18482 |  1    |   
0.01%     |
| instcount.NumExtractValueInst        |   18290 |   18288 | -2    |   
-0.01%     |
| instcount.NumFAddInst                |  139035 |  138963 | -72   |   
-0.05%     |
| instcount.NumFCmpInst                |   10358 |   10348 | -10   |   
-0.10%     |
| instcount.NumFDivInst                |   30310 |   30302 | -8    |   
-0.03%     |
| instcount.NumFenceInst               |     387 |     387 |  0    |   
0.00%     |
| instcount.NumFMulInst                |   93873 |   93806 | -67   |   
-0.07%     |
| instcount.NumFPExtInst               |    7148 |    7144 | -4    |   
-0.06%     |
| instcount.NumFPToSIInst              |    2823 |    2838 |  15   |   
0.53%     |
| instcount.NumFPToUIInst              |    1251 |    1251 |  0    |   
0.00%     |
| instcount.NumFPTruncInst             |    2195 |    2191 | -4    |   
-0.18%     |
| instcount.NumFSubInst                |   92109 |   92103 | -6    |   
-0.01%     |
| instcount.NumGetElementPtrInst       | 1221423 | 1219157 | -2266 |   
-0.19%     |
| instcount.NumICmpInst                |  479140 |  478929 | -211  |   
-0.04%     |
| instcount.NumIndirectBrInst          |       2 |       2 |  0    |   
0.00%     |
| instcount.NumInsertElementInst       |   66089 |   66094 |  5    |   
0.01%     |
| instcount.NumInsertValueInst         |    2032 |    2030 | -2    |   
-0.10%     |
| instcount.NumIntToPtrInst            |   19641 |   19641 |  0    |   
0.00%     |
| instcount.NumInvokeInst              |   21789 |   21788 | -1    |   
0.00%     |
| instcount.NumLandingPadInst          |   12051 |   12051 |  0    |   
0.00%     |
| instcount.NumLoadInst                |  880079 |  878673 | -1406 |   
-0.16%     |
| instcount.NumLShrInst                |   25919 |   25921 |  2    |   
0.01%     |
| instcount.NumMulInst                 |   42416 |   42417 |  1    |   
0.00%     |
| instcount.NumOrInst                  |  100826 |  100576 | -250  |   
-0.25%     |
| instcount.NumPHIInst                 |  315118 |  314092 | -1026 |   
-0.33%     |
| instcount.NumPtrToIntInst            |   15933 |   15939 |  6    |   
0.04%     |
| instcount.NumResumeInst              |    2156 |    2156 |  0    |   
0.00%     |
| instcount.NumRetInst                 |   84485 |   84484 | -1    |   
0.00%     |
| instcount.NumSDivInst                |    8599 |    8597 | -2    |   
-0.02%     |
| instcount.NumSelectInst              |   45577 |   45913 |  336  |   
0.74%     |
| instcount.NumSExtInst                |   84026 |   78278 | -5748 |   
-6.84%     |
| instcount.NumShlInst                 |   39796 |   39726 | -70   |   
-0.18%     |
| instcount.NumShuffleVectorInst       |  100272 |  100292 |  20   |   
0.02%     |
| instcount.NumSIToFPInst              |   29131 |   29113 | -18   |   
-0.06%     |
| instcount.NumSRemInst                |    1543 |    1543 |  0    |   
0.00%     |
| instcount.NumStoreInst               |  805394 |  804351 | -1043 |   
-0.13%     |
| instcount.NumSubInst                 |   61337 |   61414 |  77   |   
0.13%     |
| instcount.NumSwitchInst              |    8527 |    8524 | -3    |   
-0.04%     |
| instcount.NumTruncInst               |   60523 |   60484 | -39   |   
-0.06%     |
| instcount.NumUDivInst                |    2381 |    2381 |  0    |   
0.00%     |
| instcount.NumUIToFPInst              |    5549 |    5549 |  0    |   
0.00%     |
| instcount.NumUnreachableInst         |    9855 |    9855 |  0    |   
0.00%     |
| instcount.NumURemInst                |    1305 |    1305 |  0    |   
0.00%     |
| instcount.NumXorInst                 |   10230 |   10081 | -149  |   
-1.46%     |
| instcount.NumZExtInst                |   60353 |   66840 |  6487 |   
10.75%     |
| instcount.TotalBlocks                |  829582 |  829004 | -578  |   
-0.07%     |
| instcount.TotalFuncs                 |   83818 |   83817 | -1    |   
0.00%     |
| instcount.TotalInsts                 | 7316574 | 7308483 | -8091 |   
-0.11%     |
TLDR: we produce -0.11% less instructions, -6.84% less `sext`, +10.75%
more `zext`. To be noted, clearly, not all new `zext`'s are produced by
this fold.
(And now i guess it might have been interesting to measure this for
D68103 :S)
Reviewers: nikic, spatel, reames, dberlin
Reviewed By: nikic
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68654
llvm-svn: 374112
The file was modifiedllvm/test/Transforms/CorrelatedValuePropagation/sext.ll
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Commit c831ce8c06195c0830d818c68af634797395c4ca by Vitaly Buka
[clang] enable_trivial_var_init_zero should not be Joined<>
Reviewers: rnk
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D68610
llvm-svn: 374113
The file was modifiedclang/include/clang/Driver/Options.td
Commit 4805c817c3fa506cf0d17af1960de57bc1538afb by Vedant Kumar
StopInfo/Mach: Delete PPC support
LLDB appears to have at least partial support for PPC, but PPC on Mach
isn't a thing AFAIK.
Differential Revision: https://reviews.llvm.org/D68661
llvm-svn: 374114
The file was modifiedlldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
Commit f3ae951c09ef7ce98c62bd0941fb33cbb32f528b by Vitaly Buka
[sanitizer] Fix crypt.cpp test on Darwin
llvm-svn: 374115
The file was modifiedcompiler-rt/test/sanitizer_common/lit.common.cfg.py
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Posix/crypt.cpp