SuccessChanges

Summary

  1. [LLVM][Alignment] Convert isLegalNTStore/isLegalNTLoad to llvm::Align (details)
  2. [ARM] Fixup the creation of VPT blocks (details)
  3. [mips] Make a few test cases more tolerant to exact symbol addresses. (details)
  4. Add -m(no)-spe to clang (details)
  5. [libc++] Add a test for resizing of a vector with copy-only elements (details)
  6. [libc++] Revert "Make `vector` unconditionally move elements when (details)
  7. [llvm-readelf] - Allow dumping dynamic symbols when there is no program (details)
  8. [clang-tidy] Fix bugprone-argument-comment bug: negative literal number (details)
  9. [LLVM][Alignment][NFC] Fixing wrong documentation (details)
  10. [yaml2obj] Write the section header table after section contents (details)
  11. Add a bugprone-argument-comment option: IgnoreSingleArgument. (details)
  12. [clang-tidy] Make most ArgumentCommentCheck options local, as they (details)
  13. [lldb][NFC] Add dimensions to pexpect tests failing on sanitizer bot (details)
  14. [X86][SSE] EltsFromConsecutiveLoads - ignore non-zero offset base loads (details)
  15. [ARM] Add support for the s,j,x,N,O inline asm constraints (details)
  16. [DebugInfo] Add debug location to stubs generated by CGDeclCXX and mark (details)
  17. [clangd] Initialize int field to zero. NFC (details)
  18. [Alignment][NFC] Change internal representation of TargetLowering.h (details)
  19. [Hexagon] Fix type in HexagonTargetLowering::ReplaceNodeResults (details)
  20. [MemorySSA] Update MemorySSA when removing debug.value calls. (details)
  21. [ELF] Initialize PhdrEntry::p_align to maxPageSize for PT_LOAD (details)
  22. [PGO][CHR] Speed up following long, interlinked use-def chains. (details)
  23. [MemorySSA] Verify MSSAUpdater exists. (details)
  24. [x86] add test for horizontal math bug (PR43225); NFC (details)
  25. [MergedLoadStoreMotion] Sink stores to BB with more than 2 predecessors (details)
  26. Fix windows-x86-debug compilation with python enabled using multi-target (details)
  27. gn build: (manually) merge r371003 (details)
  28. [X86] Fix stale comment. NFC (details)
  29. [X86] Remove unneeded CHECK lines from a test. NFC (details)
  30. [X86] Add a FIXME about why the CWD/CDQ/CQO have a bogus implicit def of (details)
  31. [x86] fix horizontal math bug exposed by improved demanded elements (details)
  32. Docs: Move Documentation sections to separate pages. (details)
  33. [TextAPI] update interface file for filtered iter (details)
  34. [InstCombine][NFC] Tests for 'unsigned add overflow' check (details)
  35. [InstCombine][NFC] Tests for 'unsigned sub overflow' check (details)
  36. [InstCombine] foldICmpBinOp(): consider inverted check in 'unsigned add (details)
  37. [InstCombine] foldICmpBinOp(): consider inverted check in 'unsigned sub (details)
  38. gn build: (manually) merge r358706 (details)
  39. [Support] Add writeFileAtomically() to FileUtilities (details)
  40. [X86] Override BuildSDIVPow2 for X86. (details)
  41. gn build: Merge r371103 (details)
  42. [Remarks] Don't serialize metadata if a string table is not used (details)
  43. [X86] Enable BuildSDIVPow2 for i16. (details)
  44. [NFC][InstCombine] Overhaul 'unsigned add overflow' tests, ensure that (details)
  45. document the LLVM_ENABLE_Z3_SOLVER option (details)
  46. doc update: explain that Z3 is only for clang SA - thanks to LebedevRI (details)
  47. [IfConversion] Fix diamond conversion with unanalyzable branches. (details)
  48. [AST][NFC] Doc comments for ASTNameGenerator (details)
  49. Revert: [DebugInfo] Add debug location to stubs generated by CGDeclCXX (details)
  50. Recommit "[AArch64][GlobalISel] Teach AArch64CallLowering to handle (details)
  51. [globalisel][knownbits] Correct a typo that prevented a test working as (details)
  52. [globalisel][knownbits] Account for missing type constraints (details)
  53. [clang][Index] Replace CodegenNameGenerator with ASTNameGenerator (details)
  54. gn build: Merge r371117 (details)
  55. Add testing infrastructure to check if gdb is available for testing. (details)
  56. [MIR] MIRNamer pass for improving MIR test authoring experience. (details)
  57. [Diagnostics] Minor improvements for -Wxor-used-as-pow (details)
  58. gn build: Merge r371121 (details)
  59. Implement Microsoft-compatible mangling for decomposition declarations. (details)
  60. [GSYM][NFC] Fixed -Wdocumentation warning (details)
  61. [libcxx] Codesign test executables if necessary (details)
  62. Docs: Update Community section on homepage (details)
  63. [Bitstream] Add BitCodeAbbrev(std::initializer_list) constructor (details)
  64. [ADT] Add makeArrayRef(std::array<>) template specialization (details)
  65. Don't assume libcxx_gdb is always set. (details)
  66. Add gdb pretty printers for a wide variety of libc++ data structures (details)
  67. Remove `bugreport` command (details)
  68. [Remarks] Add comparison operators to the Remark object (details)
  69. gn build: Merge r371134 (details)
  70. AMDGPU: Avoid constructing new std::vector in initCandidate (details)
  71. [SimplifyCFG] Don't SimplifyBranchOnICmpChain with ExtraCase (details)
  72. [AliasSetTracker] Correct AAInfo check. (details)
  73. AMDGPU: Fix Register copypaste error (details)
  74. llvm-reduce: Use %python from lit to get the correct/valid python binary (details)
  75. [Reproducer] Add a `cont` to ModuleCXX.test (details)
  76. InstCombine: Fix crash on icmp of gep with addrspacecasted null (details)
  77. [AArch64] Add testcase for codegen for sdiv by 2. (details)
  78. AMDGPU: Fix emitting multiple stack loads for stack passed workitems (details)
  79. AMDGPU: Allow getMemOperandWithOffset to analyze stack accesses (details)
  80. GlobalISel/TableGen: Fix handling of EXTRACT_SUBREG constraints (details)
  81. AMDGPU/GlobalISel: Fix load/store of types in other address spaces (details)
  82. AMDGPU/GlobalISel: Avoid repeating 32-bit type lists (details)
  83. [llvm-readobj][yaml2obj] Support SHT_LLVM_SYMPART, SHT_LLVM_PART_EHDR (details)
  84. Cleanup test. (details)
  85. [MC] Fix undefined behavior in MCInstPrinter::formatHex (details)
  86. Update SHT_LLVM_PART_EHDR test after r371157 (details)
  87. gn build: Merge r371159 (details)
  88. [yaml2obj] Make e_phoff and e_phentsize 0 if there are no program (details)
  89. Fix failing test from rL371162 (details)
  90. Fix rL371162 again (details)
  91. [Windows] Add support of watchpoints to `ProcessWindows` (details)
  92. [X86] Fix bad indentation. NFC (details)
  93. [X86] Pre-commit vector of __int128 test cases for D64672. (details)
  94. [X86] Prevent passing vectors of __int128 as <X x i128> in llvm IR (details)
  95. [X86] Add tests for extending and truncating between v16i8 and v16i64 (details)
  96. [MIR] Change test case to read from stdin instead of file (details)
  97. [lldb] Remove xcode bot from website listing and fix link to sanitized (details)
  98. [CMake] LLVM_COMPILE_FLAGS also applies to C files (details)
  99. [mips] Make another set of test cases more tolerant to exact symbol (details)
  100. [lldb][NFC] Remove unused Args::GetArgumentQuoteCharAtIndex (details)
  101. [CodeGen] Do the Simple Early Return in block-placement pass to optimize (details)
  102. [ARM] MVE Tail Predication (details)
  103. [lldb][NFC] Extend ArgsTest (details)
  104. [lldb][NFC] Remove Args::StripSpaces (details)
  105. Reland [LifetimeAnalysis] Support more STL idioms (template forward (details)
  106. [yaml2obj] Rename SHOffset (e_shoff) field to SHOff. NFC (details)
  107. [ARM] Fix for buildbot (details)
  108. [ELF][test] Update test after r371185 (details)
  109. gn build: Merge r371179 (details)
  110. gn build: Merge r371182 (details)
  111. [AMDGPU] Mark s_barrier as having side effects but not accessing memory. (details)
  112. [DebugInfo] LiveDebugValues: explicitly terminate overwritten stack (details)
  113. [clangd] Use override keyword to override the base class method, NFC (details)
  114. Remove call to obsolete gethostbyname, using getaddrinfo (details)
  115. [DFAPacketizer] Track resources for packetized instructions (details)
  116. [test] Update the name of the debug entry values option. NFC (details)
  117. [Alignment][NFC] Use Align with TargetLowering::setMinFunctionAlignment (details)
  118. [llvm-readelf] - Print unknown st_other value if present in GNU output. (details)
Commit 33671ceffa63e566308bf8777802833ca87719af by gchatelet
[LLVM][Alignment] Convert isLegalNTStore/isLegalNTLoad to llvm::Align
Summary: This is patch is part of a serie to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67223
llvm-svn: 371063
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
Commit 83a33412465aa183036cacf80617f03f64fc247a by david.green
[ARM] Fixup the creation of VPT blocks
This attempts to just fix the creation of VPT blocks, fixing up the
iterating, which instructions are considered in the bundle, and making
sure that we do not overrun the end of the block.
Differential Revision: https://reviews.llvm.org/D67219
llvm-svn: 371064
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpt-block7.mir
The file was modifiedllvm/lib/Target/ARM/MVEVPTBlockPass.cpp
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpt-block2.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpt-block6.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpt-block8.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpt-block.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpt-block4.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpt-block5.mir
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vpt-nots.mir
Commit 2172f3f49d279241060038b0d1886d1e6a7e2bc8 by simon
[mips] Make a few test cases more tolerant to exact symbol addresses.
NFC
llvm-svn: 371065
The file was modifiedlld/test/ELF/mips-26.s
The file was modifiedlld/test/ELF/mips-32.s
The file was modifiedlld/test/ELF/mips-64-disp.s
The file was modifiedlld/test/ELF/global-offset-table-position-mips.s
The file was modifiedlld/test/ELF/mips-26-mask.s
Commit 3dac214273ee354ca7139c8b4f0ff70bd4d122e3 by jrh29
Add -m(no)-spe to clang
Summary: r337347 added support for the Signal Processing Engine (SPE) to
LLVM. This follows that up with the clang side.
This adds -mspe and -mno-spe, to match GCC.
Subscribers: nemanjai, kbarton, cfe-commits
Differential Revision: https://reviews.llvm.org/D49754
llvm-svn: 371066
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Driver/ppc-features.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/lib/Basic/Targets/PPC.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/Preprocessor/init.c
Commit f1b4eba66fb60dc3c6058041a0149883a02383ae by Louis Dionne
[libc++] Add a test for resizing of a vector with copy-only elements
See https://reviews.llvm.org/D62228#1658620
llvm-svn: 371067
The file was addedlibcxx/test/std/containers/sequences/vector/vector.modifiers/resize.copy_only.pass.sh.cpp
Commit b370e7691a680b06f3c159c6a19582adf449de90 by Louis Dionne
[libc++] Revert "Make `vector` unconditionally move elements when
exceptions are disabled."
This reverts r370502, which broke the use case of a copy-only T (with a
deleted move constructor) when exceptions are disabled. Until we figure
out the right behavior, I'm reverting the commit.
llvm-svn: 371068
The file was modifiedlibcxx/include/memory
The file was removedlibcxx/test/libcxx/containers/sequences/vector/exception_safety_exceptions_disabled.sh.cpp
The file was modifiedlibcxx/include/vector
Commit 4e14bf71b70b6c1e356b571611d143d8facda86b by grimar
[llvm-readelf] - Allow dumping dynamic symbols when there is no program
headers.
D62179 introduced a regression. llvm-readelf lose the ability to dump
the dynamic symbols when there is .dynamic section with a DT_SYMTAB, but
there are no program headers: https://reviews.llvm.org/D62179#1652778
Below is a program flow before the D62179 change:
1) Find SHT_DYNSYM. 2) Find there is no PT_DYNAMIC => don't try to parse
it. 3) Print dynamic symbols using information about them found on step
(1).
And after the change it became:
1) Find SHT_DYNSYM. 2) Find there is no PT_DYNAMIC => find SHT_DYNAMIC.
3) Parse dynamic table, but fail to handle the DT_SYMTAB because of the
absence of the PT_LOAD. Report the "Virtual address is not in any
segment" error.
This patch fixes the issue. For doing this it checks that the value of
DT_SYMTAB was mapped to a segment. If not - it ignores it.
Differential revision: https://reviews.llvm.org/D67078
llvm-svn: 371071
The file was modifiedllvm/test/tools/llvm-readobj/dyn-symbols.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit b6d9703050d0d9ca903576767bc83df783362186 by alexfh
[clang-tidy] Fix bugprone-argument-comment bug: negative literal number
is not checked.
Summary: For example:
``` void foo(int a); foo(-2);
``` should be fixed as:
``` foo(/*a=*/-2);
``` This change tries to fix this issue.
Reviewers: alexfh, hokein, aaron.ballman
Reviewed By: alexfh, aaron.ballman
Subscribers: xazax.hun, cfe-commits
Tags: #clang, #clang-tools-extra
Patch by Yubo Xie.
Differential Revision: https://reviews.llvm.org/D67084
llvm-svn: 371072
The file was modifiedclang-tools-extra/test/clang-tidy/bugprone-argument-comment-literals.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
Commit 9cef6400014a3124880e4c87e32acaf0b4c7c415 by gchatelet
[LLVM][Alignment][NFC] Fixing wrong documentation
llvm-svn: 371073
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
Commit c3bc697974d2d7f3c151cb9853b40cc6bf73ba4b by maskray
[yaml2obj] Write the section header table after section contents
Linkers (ld.bfd/gold/lld) place the section header table at the very
end. This allows tools to strip it, which is optional in
executable/shared objects. In addition, if we add or section, the size
of the section header table will change. Placing the section header
table in the end keeps section offsets unchanged.
yaml2obj currently places the section header table immediately after the
program header. Follow what linkers do to make offset updating easier.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D67221
llvm-svn: 371074
The file was modifiedllvm/test/tools/llvm-readobj/elf-wrong-shstrtab-type.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-broken-dynsym-link.test
The file was modifiedllvm/test/tools/yaml2obj/implicit-sections.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-loadname.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/preserve-segment-contents-ehdr-phdrs.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-packed-relocs.test
The file was modifiedllvm/test/tools/llvm-readobj/reloc-types-elf-x64.test
The file was modifiedllvm/test/tools/yaml2obj/section-size-content.yaml
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/overlapping-sections.test
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/invalid-p_filesz-p_offset.test
The file was modifiedllvm/test/tools/llvm-readobj/gnu-sections.test
The file was modifiedllvm/test/tools/yaml2obj/strtab-implicit-sections-size-content.yaml
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-no-pt-dynamic.test
The file was modifiedllvm/test/tools/llvm-readobj/gnu-notes.test
The file was modifiedllvm/test/tools/yaml2obj/elf-custom-null-section.yaml
The file was modifiedllvm/test/tools/llvm-readobj/elf-versioninfo.test
The file was modifiedllvm/test/tools/yaml2obj/elf-header-sh-fields.yaml
The file was modifiedllvm/test/tools/yaml2obj/dynsymtab-implicit-sections-size-content.yaml
The file was modifiedllvm/test/tools/yaml2obj/explicit-dynsym-no-dynstr.yaml
The file was modifiedllvm/test/tools/yaml2obj/symtab-implicit-sections-size-content.yaml
The file was modifiedllvm/test/tools/yaml2obj/versym-section.yaml
The file was modifiedllvm/test/tools/llvm-readobj/elf-hidden-versym.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/overlapping-sections-in-segments.test
The file was modifiedllvm/test/Object/invalid.test
The file was modifiedllvm/test/tools/llvm-readobj/reloc-types-elf-i386.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-relr-relocs.test
The file was modifiedllvm/test/tools/yaml2obj/elf-override-shsize.yaml
The file was modifiedllvm/test/tools/llvm-readobj/elf-invalid-versioning.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-file-headers.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-invalid-shstrndx.test
The file was modifiedllvm/test/tools/yaml2obj/program-header-align.yaml
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/group-reorder.test
The file was modifiedllvm/test/tools/llvm-readobj/elf-dynamic-malformed.test
The file was modifiedllvm/test/tools/llvm-objcopy/ELF/invalid-e_shoff.test
The file was modifiedllvm/test/tools/llvm-readobj/unwind.test
Commit 42443e50ceddcec000631a951d4b38f61774f7e9 by alexfh
Add a bugprone-argument-comment option: IgnoreSingleArgument.
Summary: Add bugprone-argument-comment option: IgnoreSingleArgument.
When true, the check will ignore the single argument.
Sometimes, it's not necessary to add comment to single argument. For
example:
> std::string name("Yubo Xie");
> pScreen->SetWidth(1920);
> pScreen->SetHeight(1080);
This option can ignore such single argument in bugprone-argument-comment
check.
Reviewers: alexfh
Reviewed By: alexfh
Subscribers: cfe-commits
Tags: #clang
Patch by Yubo Xie.
Differential Revision: https://reviews.llvm.org/D67056
llvm-svn: 371075
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h
The file was addedclang-tools-extra/test/clang-tidy/bugprone-argument-comment-ignore-single-argument.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-argument-comment.rst
Commit 30424e4268e20953ac47d25d5a3ebc0895752cee by alexfh
[clang-tidy] Make most ArgumentCommentCheck options local, as they
should be
llvm-svn: 371076
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/bugprone-argument-comment-ignore-single-argument.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/bugprone-argument-comment-literals.cpp
Commit 167730196976950144eea7d3cd0ae2bb918e480f by Raphael Isemann
[lldb][NFC] Add dimensions to pexpect tests failing on sanitizer bot
I'm still unable to reproduce this locally, so let's see if this is
enough to make the bots happy. The missing dimension parameter seems to
be the biggest difference between these tests and
TestIOHandlerCompletion.py which runs just fine on the same bot, so
that's the motivation for trying this out.
llvm-svn: 371077
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/gui/basic/TestGuiBasic.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/expression/multiline-completion/TestMultilineCompletion.py
Commit 29361c704dfaefdd0f5a1c4b2d8eaa56f012bb7d by llvm-dev
[X86][SSE] EltsFromConsecutiveLoads - ignore non-zero offset base loads
(PR43227)
As discussed on D64551 and PR43227, we don't correctly handle cases
where the base load has a non-zero byte offset.
Until we can properly handle this, we must bail from
EltsFromConsecutiveLoads.
llvm-svn: 371078
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/load-partial.ll
Commit a59bffb5769557499fb86c28953bb7e755bedbe9 by david.candler
[ARM] Add support for the s,j,x,N,O inline asm constraints
A number of inline assembly constraints are currently supported by LLVM,
but rejected as invalid by Clang:
Target independent constraints:
s: An integer constant, but allowing only relocatable values
ARM specific constraints:
j: An immediate integer between 0 and 65535 (valid for MOVW) x: A 32,
64, or 128-bit floating-point/SIMD register: s0-s15, d0-d7, or q0-q3 N:
An immediate integer between 0 and 31 (Thumb1 only) O: An immediate
integer which is a multiple of 4 between -508 and 508. (Thumb1 only)
This patch adds support to Clang for the missing constraints along with
some checks to ensure that the constraints are used with the correct
target and Thumb mode, and that immediates are within valid ranges (at
least where possible). The constraints are already implemented in LLVM,
but just a couple of minor corrections to checks (V8M Baseline includes
MOVW so should work with 'j', 'N' and 'O' shouldn't be valid in Thumb2)
so that Clang and LLVM are in line with each other and the
documentation.
Differential Revision: https://reviews.llvm.org/D65863
Change-Id: I18076619e319bac35fbb60f590c069145c9d9a0a llvm-svn: 371079
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedclang/lib/Basic/Targets/ARM.cpp
The file was addedclang/test/Sema/arm_inline_asm_constraints.c
Commit 32e7773fd50964e3bd3e753afed58dc8ea411f5d by alexandre.ganea
[DebugInfo] Add debug location to stubs generated by CGDeclCXX and mark
them as artificial
Differential Revision: https://reviews.llvm.org/D66328
llvm-svn: 371080
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was addedclang/test/CodeGenCXX/debug-info-atexit-stub.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-line.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
The file was modifiedclang/include/clang/AST/GlobalDecl.h
The file was addedclang/test/CodeGenCXX/debug-info-destroy-helper.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 886382ff077ac52c6bb4a6dd3d0ceee1f88214a5 by ibiryukov
[clangd] Initialize int field to zero. NFC
To make sure we do not have uninitialized values and undefined behavior.
llvm-svn: 371081
The file was modifiedclang-tools-extra/clangd/Protocol.h
Commit f9f31ce6a906bad7e62829ccfe7701802c97a0b0 by gchatelet
[Alignment][NFC] Change internal representation of TargetLowering.h
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67226
llvm-svn: 371082
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
Commit 0ce93194fe3d7e87c9fdb66f0eeefd533505a839 by kparzysz
[Hexagon] Fix type in HexagonTargetLowering::ReplaceNodeResults
llvm-svn: 371083
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was addedllvm/test/CodeGen/Hexagon/isel-bitcast-v8i1-i8.ll
Commit ae900d388237b11dd92da42097f77cc77a398e90 by asbirlea
[MemorySSA] Update MemorySSA when removing debug.value calls.
llvm-svn: 371084
The file was addedllvm/test/Analysis/MemorySSA/debugvalue.ll
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Commit 6dc2bd70bb7e68aa897d2b5e00b5863916f53bba by maskray
[ELF] Initialize PhdrEntry::p_align to maxPageSize for PT_LOAD
``` Writer<ELFT>::run
assignFileOffsets
   setFileOffset
     computeFileOffset
       os->ptLoad->p_align may be smaller than config->maxPageSize
setPhdrs
   p_align = max(p_align, config->maxPageSize)
```
If we move the config->maxPageSize logic to the constructor of
PhdrEntry, computeFileOffset can be simplified.
Reviewed By: ruiu
Differential Revision: https://reviews.llvm.org/D67211
llvm-svn: 371085
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/ELF/Writer.h
Commit d842f2eec4bb822dcb46252b3c5e5d23b26094ba by yamauchi
[PGO][CHR] Speed up following long, interlinked use-def chains.
Summary: Avoid visiting an instruction more than once by using a map.
This is similar to https://reviews.llvm.org/rL361416.
Reviewers: davidxl
Reviewed By: davidxl
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67198
llvm-svn: 371086
The file was modifiedllvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/chr.ll
Commit 2ac69aadb5204666dbcffa05112c91fb621d9717 by asbirlea
[MemorySSA] Verify MSSAUpdater exists.
llvm-svn: 371087
The file was modifiedllvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Commit 3856512334ee525d5c922b0480b7503210cc4bb3 by spatel
[x86] add test for horizontal math bug (PR43225); NFC
llvm-svn: 371088
The file was addedllvm/test/CodeGen/X86/haddsub-shuf-undef-operand.ll
Commit 58f172f05ae0d6d4fa6a222d04fa59fc98807489 by denis.bakhvalov
[MergedLoadStoreMotion] Sink stores to BB with more than 2 predecessors
If we have:
bb5:
br i1 %arg3, label %bb6, label %bb7
bb6:
%tmp = getelementptr inbounds i32, i32* %arg1, i64 2
store i32 3, i32* %tmp, align 4
br label %bb9
bb7:
%tmp8 = getelementptr inbounds i32, i32* %arg1, i64 2
store i32 3, i32* %tmp8, align 4
br label %bb9
bb9:  ; preds = %bb4, %bb6, %bb7
...
We can't sink stores directly into bb9. This patch creates new BB that
is successor of %bb6 and %bb7 and sinks stores into that block.
SplitFooterBB is the parameter to the pass that controls that behavior.
Change-Id: I7fdf50a772b84633e4b1b860e905bf7e3e29940f Differential:
https://reviews.llvm.org/D66234 llvm-svn: 371089
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/include/llvm/Transforms/Scalar/MergedLoadStoreMotion.h
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
The file was addedllvm/test/Transforms/InstMerge/st_sink_split_bb.ll
Commit f141de5bc9284f47308564ec9c5544c33ed0a0d7 by amccarth
Fix windows-x86-debug compilation with python enabled using multi-target
generator
[Patch by Leonid Mashinskiy]
Visual Studio CMake generator is multi-target and does not define
CMAKE_BUILD_TYPE, so Debug build on VS was failing due selection of
release python library. This patch reverts back some of latest changes
and fixes building by raw VS using CMake expression generators.
Differential Revision: https://reviews.llvm.org/D66994
llvm-svn: 371090
The file was modifiedlldb/cmake/modules/LLDBConfig.cmake
Commit ce7a37291d41dd44fe4e99781749a933aa07a7c0 by nicolasweber
gn build: (manually) merge r371003
llvm-svn: 371091
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Commit a5508163ada529dfef23b22c75a5cb1ea84f438b by craig.topper
[X86] Fix stale comment. NFC
We aren't checking for a concat here. We're just always splitting
256-bit stores.
llvm-svn: 371092
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 673da001c5e6f4379da06f12b4d5bbfc81488c7a by craig.topper
[X86] Remove unneeded CHECK lines from a test. NFC
llvm-svn: 371093
The file was modifiedllvm/test/CodeGen/X86/vector-idiv-v2i32.ll
Commit 97aa42f5dfcd10ca6df230caf9ca7868da5f25af by craig.topper
[X86] Add a FIXME about why the CWD/CDQ/CQO have a bogus implicit def of
the A register. NFC
The instructions copy the sign bit of the A register to every bit of the
D register. But they don't write to the A register.
llvm-svn: 371094
The file was modifiedllvm/lib/Target/X86/X86InstrExtension.td
Commit 10412a69f93ec3b88a65923bb9366e1225107b31 by spatel
[x86] fix horizontal math bug exposed by improved demanded elements
analysis (PR43225)
https://bugs.llvm.org/show_bug.cgi?id=43225
llvm-svn: 371095
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/haddsub-shuf-undef-operand.ll
Commit e3e6624ca2d0e2cc31793aa36dd07c35683a2f14 by d4m1887
Docs: Move Documentation sections to separate pages.
Updates the links on the homepage by moving the User Guides, Programming
Documentation, and Subsystem Documentation sections to separate pages.
Also changes "Overview" to "About" at the top of the LLVM Docs homepage.
This work is part of the Google Season of Docs project.
llvm-svn: 371096
The file was modifiedllvm/docs/index.rst
The file was addedllvm/docs/SubsystemDocumentation.rst
The file was addedllvm/docs/UserGuides.rst
The file was addedllvm/docs/ProgrammingDocumentation.rst
Commit 541ab7130e2c34097fd9e15f70ce193a37c2ad19 by cyndy_ishida
[TextAPI] update interface file for filtered iter
Summary: This is a simple change that allows easy iterator semantics for
symbols held in interface file. Not being used, so harmless change right
now, but will be once TBD-v4 is submitted.
Reviewers: ributzka, steven_wu
Reviewed By: ributzka
Subscribers: javed.absar, kristof.beyls, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67204
llvm-svn: 371097
The file was modifiedllvm/include/llvm/TextAPI/MachO/InterfaceFile.h
Commit 745046c23f76d3f44f81f5fb5b504a62df380464 by lebedev.ri
[InstCombine][NFC] Tests for 'unsigned add overflow' check
---------------------------------------- Name: unsigned add, overflow,
v0
%add = add i8 %x, %y
%ov = icmp ult i8 %add, %x
=>
%agg = uadd_overflow i8 %x, %y
%add = extractvalue {i8, i1} %agg, 0
%ov = extractvalue {i8, i1} %agg, 1
Done: 1 Optimization is correct!
---------------------------------------- Name: unsigned add, overflow,
v1
%add = add i8 %x, %y
%ov = icmp ult i8 %add, %y
=>
%agg = uadd_overflow i8 %x, %y
%add = extractvalue {i8, i1} %agg, 0
%ov = extractvalue {i8, i1} %agg, 1
Done: 1 Optimization is correct!
---------------------------------------- Name: unsigned add, no
overflow, v0
%add = add i8 %x, %y
%ov = icmp uge i8 %add, %x
=>
%agg = uadd_overflow i8 %x, %y
%add = extractvalue {i8, i1} %agg, 0
%not.ov = extractvalue {i8, i1} %agg, 1
%ov = xor %not.ov, -1
Done: 1 Optimization is correct!
---------------------------------------- Name: unsigned add, no
overflow, v1
%add = add i8 %x, %y
%ov = icmp uge i8 %add, %y
=>
%agg = uadd_overflow i8 %x, %y
%add = extractvalue {i8, i1} %agg, 0
%not.ov = extractvalue {i8, i1} %agg, 1
%ov = xor %not.ov, -1
Done: 1 Optimization is correct!
llvm-svn: 371098
The file was addedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
The file was addedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check.ll
Commit 1d9e0dcc9d4e34288ba752371dd925a5b54218d4 by lebedev.ri
[InstCombine][NFC] Tests for 'unsigned sub overflow' check
---------------------------------------- Name: unsigned sub, overflow,
v0
%sub = sub i8 %x, %y
%ov = icmp ugt i8 %sub, %x
=>
%agg = usub_overflow i8 %x, %y
%sub = extractvalue {i8, i1} %agg, 0
%ov = extractvalue {i8, i1} %agg, 1
Done: 1 Optimization is correct!
---------------------------------------- Name: unsigned sub, no
overflow, v0
%sub = sub i8 %x, %y
%ov = icmp ule i8 %sub, %x
=>
%agg = usub_overflow i8 %x, %y
%sub = extractvalue {i8, i1} %agg, 0
%not.ov = extractvalue {i8, i1} %agg, 1
%ov = xor %not.ov, -1
Done: 1 Optimization is correct!
llvm-svn: 371099
The file was addedllvm/test/Transforms/InstCombine/unsigned-sub-overflow-check.ll
The file was addedllvm/test/Transforms/InstCombine/unsigned-sub-lack-of-overflow-check.ll
Commit ecb7ea1ae7c6658771f6de4a957f0ddcc1cf4a8d by lebedev.ri
[InstCombine] foldICmpBinOp(): consider inverted check in 'unsigned add
overflow' check
A follow-up for r342004. This will be changed to produce
@llvm.add.with.overflow in a later patch, but for now just make things
more consistent overall.
https://rise4fun.com/Alive/qxE
Name: (Op1 + X) u< Op1 --> ~Op1 u< X
%t0 = add i8 %Op1, %X
%r = icmp ult i8 %t0, %Op1
=>
%n = xor i8 %Op1, -1
%r = icmp ult i8 %n, %X
Name: (Op1 + X) u>= Op1 --> ~Op1 u>= X
%t0 = add i8 %Op1, %X
%r = icmp uge i8 %t0, %Op1
=>
%n = xor i8 %Op1, -1
%r = icmp uge i8 %n, %X
;-------------------------------------------------------------------------------
Name: Op0 u> (Op0 + X) --> X u> ~Op0
%t0 = add i8 %Op0, %X
%r = icmp ugt i8 %Op0, %t0
=>
%n = xor i8 %Op0, -1
%r = icmp ugt i8 %X, %n
Name: Op0 u<= (Op0 + X) --> X u<= ~Op0
%t0 = add i8 %Op0, %X
%r = icmp ule i8 %Op0, %t0
=>
%n = xor i8 %Op0, -1
%r = icmp ule i8 %X, %n
llvm-svn: 371100
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
Commit 8360c42e25108450184fbfb93870fecd0d21e6f4 by lebedev.ri
[InstCombine] foldICmpBinOp(): consider inverted check in 'unsigned sub
overflow' check
A follow-up for r329011. This may be changed to produce
@llvm.sub.with.overflow in a later patch, but for now just make things
more consistent overall.
A few observations stem from this:
* There does not seem to be a similar one-instruction fold for
uadd-overflow
* I'm not sure we'll want to canonicalize `B u> A` as
`usub.with.overflow`,
so since the `icmp` here no longer refers to `sub`,
reconstructing `usub.with.overflow` will be problematic,
and will likely require standalone pass (similar to DivRemPairs).
https://rise4fun.com/Alive/Zqs
Name: (A - B) u> A --> B u> A
%t0 = sub i8 %A, %B
%r = icmp ugt i8 %t0, %A
=>
%r = icmp ugt i8 %B, %A
Name: (A - B) u<= A --> B u<= A
%t0 = sub i8 %A, %B
%r = icmp ule i8 %t0, %A
=>
%r = icmp ule i8 %B, %A
Name: C u< (C - D) --> C u< D
%t0 = sub i8 %C, %D
%r = icmp ult i8 %C, %t0
=>
%r = icmp ult i8 %C, %D
Name: C u>= (C - D) --> C u>= D
%t0 = sub i8 %C, %D
%r = icmp uge i8 %C, %t0
=>
%r = icmp uge i8 %C, %D
llvm-svn: 371101
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-sub-overflow-check.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-sub-lack-of-overflow-check.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 1465a40cf80fff585f02005d2eef7d4728202cf1 by nicolasweber
gn build: (manually) merge r358706
llvm-svn: 371102
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
Commit 00e04b0a6d51a415ea70133bbc2c6dad9cc72ecc by Jan Korous
[Support] Add writeFileAtomically() to FileUtilities
Differential Revision: https://reviews.llvm.org/D66859
llvm-svn: 371103
The file was addedllvm/unittests/Support/FileUtilitiesTest.cpp
The file was modifiedllvm/lib/Support/FileUtilities.cpp
The file was modifiedllvm/include/llvm/Support/FileUtilities.h
The file was modifiedllvm/unittests/Support/CMakeLists.txt
Commit b8d6ba3ca203847be7cb3e4e2e352cf6c5502ca4 by craig.topper
[X86] Override BuildSDIVPow2 for X86.
As noted in PR43197, we can use test+add+cmov+sra to implement signed
division by a power of 2.
This is based off the similar version in AArch64, but I've adjusted it
to use target independent nodes where AArch64 uses target specific CMP
and CSEL nodes. I've also blocked INT_MIN as the transform isn't valid
for that.
I've limited this to i32 and i64 on 64-bit targets for now and only when
CMOV is supported. i8 and i16 need further investigation to be sure they
get promoted to i32 well.
I adjusted a few tests to enable cmov to demonstrate the new codegen. I
also changed twoaddr-coalesce-3.ll to 32-bit mode without cmov to avoid
perturbing the scenario that is being set up there.
Differential Revision: https://reviews.llvm.org/D67087
llvm-svn: 371104
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/test/CodeGen/X86/combine-sdiv.ll
The file was modifiedllvm/test/CodeGen/X86/combine-srem.ll
The file was modifiedllvm/test/CodeGen/X86/rem.ll
The file was modifiedllvm/test/CodeGen/X86/srem-seteq.ll
Commit f6400e75ebd49477535d9af61529e27dcffb292f by nicolasweber
gn build: Merge r371103
llvm-svn: 371105
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Commit 07f967d94dd7eb9666e8c2d5f6e0f4e8a14919cd by francisvm
[Remarks] Don't serialize metadata if a string table is not used
For YAML remarks with no string table, the mode should not affect the
output.
llvm-svn: 371106
The file was modifiedllvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
The file was modifiedllvm/lib/Remarks/YAMLRemarkSerializer.cpp
The file was modifiedllvm/include/llvm/Remarks/YAMLRemarkSerializer.h
Commit 0fde412140ddbf8153a02e4d153c44398e441134 by craig.topper
[X86] Enable BuildSDIVPow2 for i16.
We're able to use a 32-bit ADD and CMOV here and should work well with
our other i16->i32 promotion optimizations.
llvm-svn: 371107
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/combine-srem.ll
The file was modifiedllvm/test/CodeGen/X86/combine-sdiv.ll
Commit 071ce66729b15ca9c46c01bf8e3c6273d269ef49 by lebedev.ri
[NFC][InstCombine] Overhaul 'unsigned add overflow' tests, ensure that
all 3 patterns have full test coverage
llvm-svn: 371108
The file was addedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-xor.ll
The file was addedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-add.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check.ll
The file was addedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check-via-xor.ll
The file was modifiedllvm/test/Transforms/InstCombine/unsigned-add-overflow-check.ll
The file was addedllvm/test/Transforms/InstCombine/unsigned-add-lack-of-overflow-check-via-add.ll
Commit 37fcd3a33ec85c72b23bb469ce554f5c053bd3d1 by sylvestre
document the LLVM_ENABLE_Z3_SOLVER option
llvm-svn: 371109
The file was modifiedllvm/docs/CMake.rst
Commit 4e281f70ca598f18a99088ae10386e4a4d4d1574 by sylvestre
doc update: explain that Z3 is only for clang SA - thanks to LebedevRI
for the suggestion
llvm-svn: 371110
The file was modifiedllvm/docs/CMake.rst
Commit cae1e47f6ed7effd82cc47e68c2a42513487a1d7 by efriedma
[IfConversion] Fix diamond conversion with unanalyzable branches.
The code was incorrectly counting the number of identical instructions,
and therefore tried to predicate an instruction which should not have
been predicated.  This could have various effects: a compiler crash, an
assembler failure, a miscompile, or just generating an extra,
unnecessary instruction.
Instead of depending on TargetInstrInfo::removeBranch, which only works
on analyzable branches, just remove all branch instructions.
Fixes https://bugs.llvm.org/show_bug.cgi?id=43121 and
https://bugs.llvm.org/show_bug.cgi?id=41121 .
Differential Revision: https://reviews.llvm.org/D67203
llvm-svn: 371111
The file was modifiedllvm/lib/CodeGen/IfConversion.cpp
The file was addedllvm/test/CodeGen/ARM/ifcvt-diamond-unanalyzable-common.mir
Commit afd82492782fc97e39382509a079053633f57bb7 by Jan Korous
[AST][NFC] Doc comments for ASTNameGenerator
llvm-svn: 371112
The file was modifiedclang/include/clang/AST/Mangle.h
Commit 31817731167135870259ef1e7387746345b96a2f by alexandre.ganea
Revert: [DebugInfo] Add debug location to stubs generated by CGDeclCXX
and mark them as artificial
llvm-svn: 371113
The file was modifiedclang/test/CodeGenCXX/debug-info-line.cpp
The file was removedclang/test/CodeGenCXX/debug-info-destroy-helper.cpp
The file was modifiedclang/test/CodeGenCXX/debug-info-global-ctor-dtor.cpp
The file was removedclang/test/CodeGenCXX/debug-info-atexit-stub.cpp
The file was modifiedclang/include/clang/AST/GlobalDecl.h
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
Commit 20e866709882dbad73d9cbb99f056cd6ea113498 by Jessica Paquette
Recommit "[AArch64][GlobalISel] Teach AArch64CallLowering to handle
basic sibling calls"
Recommit basic sibling call lowering (https://reviews.llvm.org/D67189)
The issue was that if you have a return type other than void, call
lowering will emit COPYs to get the return value after the call.
Disallow sibling calls other than ones that return void for now. Also
proactively disable swifterror tail calls for now, since there's a
similar issue with COPYs there.
Update call-translator-tail-call.ll to include test cases for each of
these things.
llvm-svn: 371114
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/branch-target-enforcement-indirect-calls.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.h
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
Commit e55c4f33ec5309c65578c8a1fda3389f80d2053a by daniel_l_sanders
[globalisel][knownbits] Correct a typo that prevented a test working as
intended
llvm-svn: 371115
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Commit f8032379267b06191233971f33df40cb5cafe6d9 by daniel_l_sanders
[globalisel][knownbits] Account for missing type constraints
Now that we look through copies, it's possible to visit registers that
have a register class constraint but not a type constraint. Avoid
looking through copies when this occurs as the SrcReg won't be able to
determine it's bit width or any known bits.
Along the same lines, if the initial query is on a register that doesn't
have a type constraint then the result is a default-constructed
KnownBits, that is, a 1-bit fully-unknown value.
llvm-svn: 371116
The file was modifiedllvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
The file was modifiedllvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Commit 7e36ecd66dbe528edf67d1a412c4dea24019f178 by Jan Korous
[clang][Index] Replace CodegenNameGenerator with ASTNameGenerator
Follow-up to: 3ff8c3b73f6, d5d15b4c1fd
Should be NFC since the original patch just moved the code.
llvm-svn: 371117
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was removedclang/lib/Index/CodegenNameGenerator.cpp
The file was removedclang/include/clang/Index/CodegenNameGenerator.h
The file was modifiedclang/tools/c-index-test/core_main.cpp
The file was modifiedclang/lib/Index/CMakeLists.txt
Commit 1d138a47e21a08b663742ca3c19b09444823e856 by nicolasweber
gn build: Merge r371117
llvm-svn: 371119
The file was modifiedllvm/utils/gn/secondary/clang/lib/Index/BUILD.gn
Commit bf7602b261c7167966c6ae5cf153f6e4847ace3b by saugustine
Add testing infrastructure to check if gdb is available for testing.
Reviewers: echristo, EricWF
Subscribers: mgorny, christof, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67194
llvm-svn: 371120
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/test/CMakeLists.txt
The file was modifiedlibcxx/test/lit.site.cfg.in
Commit dc97ca9f25aca6d14981a889748fd0810e2dd0e8 by puyan
[MIR] MIRNamer pass for improving MIR test authoring experience.
This patch reuses the MIR vreg renamer from the MIRCanonicalizerPass to
cleanup names of vregs in a MIR file for MIR test authors. I found it
useful when writing a regression test for a globalisel failure I
encountered recently and thought it might be useful for other folks as
well.
Differential Revision: https://reviews.llvm.org/D67209
llvm-svn: 371121
The file was modifiedllvm/lib/CodeGen/CodeGen.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was addedllvm/test/CodeGen/MIR/AArch64/mirnamer.mir
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was addedllvm/lib/CodeGen/MIRNamerPass.cpp
Commit 872108bea55fa4e5c5888bd93e43f2612cd5e78f by david.bolvansky
[Diagnostics] Minor improvements for -Wxor-used-as-pow
Extracted from D66397; implemented suggestion for 2^64; tests revisited.
llvm-svn: 371122
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/SemaCXX/warn-xor-as-pow.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
Commit 36b0571d2115acdf9de82c3f324a82caea3c007c by nicolasweber
gn build: Merge r371121
llvm-svn: 371123
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit a47dc841cd6cd0cfcef72e00950662e9d1c58556 by nicolasweber
Implement Microsoft-compatible mangling for decomposition declarations.
Match cl.exe's mangling for decomposition declarations.
Decomposition declarations are considered to be anonymous structs, and
use the same convention as for anonymous struct/union declarations.
Naming confirmed to match https://godbolt.org/z/K2osJa
Patch from Eric Astor <epastor@google.com>!
Differential Revision: https://reviews.llvm.org/D67202
llvm-svn: 371124
The file was modifiedclang/include/clang/AST/Mangle.h
The file was addedclang/test/CodeGenCXX/mangle-ms-cxx17.cpp
The file was modifiedclang/lib/AST/MicrosoftMangle.cpp
Commit 5916799293736e3bb1a6db61405129a7d9536175 by david.bolvansky
[GSYM][NFC] Fixed -Wdocumentation warning
lib/DebugInfo/GSYM/InlineInfo.cpp:68:12: warning: parameter 'Inline' not
found in the function declaration [-Wdocumentation]
llvm-svn: 371125
The file was modifiedllvm/lib/DebugInfo/GSYM/InlineInfo.cpp
Commit 1261f1b980d49c640f8ba8d75acdb7aacdc72421 by Vedant Kumar
[libcxx] Codesign test executables if necessary
If LLVM_CODESIGNING_IDENTITY is set, test executables need to be
codesigned.
Differential Revision: https://reviews.llvm.org/D66496
llvm-svn: 371126
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/utils/libcxx/compiler.py
The file was addedlibcxx/utils/run.py
The file was modifiedlibcxx/test/libcxx/strings/basic.string/PR42676.sh.cpp
The file was modifiedlibcxx/test/lit.site.cfg.in
Commit 4533b4a3a627b4c9bf9a3c2243b9fc40f724d912 by d4m1887
Docs: Update Community section on homepage
This commit includes the following changes: Adds a Getting Involved
section under Community. Moves the Development Process section under
Community. Moves Sphinx Quickstart Template and How to submit an LLVM
bug report from User Guides section to Getting Involved.
llvm-svn: 371127
The file was modifiedllvm/docs/index.rst
The file was modifiedllvm/docs/UserGuides.rst
Commit e9a78e992ba5f39ea8d9a26e03b34f5dfe350fa1 by Jan Korous
[Bitstream] Add BitCodeAbbrev(std::initializer_list) constructor
llvm-svn: 371128
The file was modifiedllvm/include/llvm/Bitstream/BitCodes.h
Commit 995ff8a77e41eed8cda0e0cb4fe12f573885f62c by Jan Korous
[ADT] Add makeArrayRef(std::array<>) template specialization
llvm-svn: 371129
The file was modifiedllvm/include/llvm/ADT/ArrayRef.h
Commit a12779561729eeef1075b9ef18cc5e74ca5e98ab by saugustine
Don't assume libcxx_gdb is always set.
libc++abi also uses this file, but doesn't use the same CMakeLists.txt.
llvm-svn: 371130
The file was modifiedlibcxx/utils/libcxx/test/config.py
Commit 3270941f1e7aa9e96f7806ff0306289f482147ce by saugustine
Add gdb pretty printers for a wide variety of libc++ data structures
(take 2).
Summary: This patch is an exact duplicate of
https://reviews.llvm.org/D65609, except that it uses the newly
introduced testing framework to detect if gdb is present so that the
tests won't fail on machines without gdb.
Reviewers: echristo, EricWF
Subscribers: christof, ldionne, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67238
llvm-svn: 371131
The file was addedlibcxx/test/pretty_printers/gdb_pretty_printer_test.sh.cpp
The file was addedlibcxx/test/pretty_printers/gdb_pretty_printer_test.py
The file was addedlibcxx/utils/gdb/libcxx/printers.py
Commit f5687d7c1257a53b46045ebc725e0967def38a3d by Jonas Devlieghere
Remove `bugreport` command
The bugreport command exists to create domain-specific bug reports.
Currently it has one implementation for filing bugs on the unwinder. As
far as we can tell, it has never been of use. Although not exactly the
same as the reproducers, it's a bit confusing to have two parallel
command trees for (kind of) the same thing.
Differential revision: https://reviews.llvm.org/D65469
llvm-svn: 371132
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py
The file was modifiedlldb/source/Commands/CMakeLists.txt
The file was removedlldb/source/Commands/CommandObjectBugreport.cpp
The file was removedlldb/source/Commands/CommandObjectBugreport.h
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
Commit d39720399c7adc676a2bd89419139617eeafc6eb by francisvm
[Remarks] Add comparison operators to the Remark object
and related structs.
This also adds tests for the remarks::Remark object in general.
llvm-svn: 371134
The file was modifiedllvm/include/llvm/Remarks/Remark.h
The file was addedllvm/unittests/Remarks/RemarksAPITest.cpp
The file was modifiedllvm/unittests/Remarks/CMakeLists.txt
Commit 3e144ab7fd0fb516b4819504aa423a70cd6732e9 by nicolasweber
gn build: Merge r371134
llvm-svn: 371135
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Remarks/BUILD.gn
Commit f54daffc2d73866312e6f50b75fe15035e62b4e8 by Matthew.Arsenault
AMDGPU: Avoid constructing new std::vector in initCandidate
Approximately 30% of the time was spent in the std::vector constructor.
In one testcase this pushes the scheduler to being the second slowest
pass.
I'm not sure I understand why these vector are necessary. The default
scheduler initCandidate seems to use some pre-existing vectors for the
pressure.
llvm-svn: 371136
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.h
The file was modifiedllvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Commit 9020f113770598f2064c1f19730aea5c1db754f6 by Vitaly Buka
[SimplifyCFG] Don't SimplifyBranchOnICmpChain with ExtraCase
Summary: Here we try to avoid issues with "explicit branch" with
SimplifyBranchOnICmpChain which can check on undef. Msan by design
reports branches on uninitialized memory and undefs, so we have false
report here.
In general msan does not like when we convert
```
// If at least one of them is true we can MSAN is ok if another is
undefs if (a || b)
return;
``` into
```
// If 'a' is undef MSAN will complain even if 'b' is true if (a)
return; if (b)
return;
```
Example
Before optimization we had something like this:
``` while (true) {
bool maybe_undef = doStuff();
  while (true) {
   char c = getChar();
   if (c != 10 && c != 13)
    continue
   break;
}
  // we know that c == 10 || c == 13 if we get here,
// so msan know that branch is not affected by maybe_undef
if (maybe_undef || c == 10 || c == 13)
   continue;
return;
}
```
SimplifyBranchOnICmpChain will convert that into
``` while (true) {
bool maybe_undef = doStuff();
  while (true) {
   char c = getChar();
   if (c != 10 && c != 13)
     continue;
   break;
}
  // however msan will complain here:
if (maybe_undef)
   continue;
  // we know that c == 10 || c == 13, so either way we will get continue
switch(c) {
   case 10: continue;
   case 13: continue;
}
return;
}
```
Reviewers: eugenis, efriedma
Reviewed By: eugenis, efriedma
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67205
llvm-svn: 371138
The file was modifiedllvm/lib/Transforms/Utils/SimplifyCFG.cpp
The file was addedllvm/test/Transforms/SimplifyCFG/switch_msan.ll
Commit 35548e80d67dd0d6e61c489432cfb1dafe0ddb65 by asbirlea
[AliasSetTracker] Correct AAInfo check.
Properly check if NewAAInfo conflicts with AAInfo. Update local variable
and alias set that a change occured when a conflict is found. Resolves
PR42969.
llvm-svn: 371139
The file was addedllvm/test/Transforms/LICM/pr42969.ll
The file was modifiedllvm/include/llvm/Analysis/AliasSetTracker.h
Commit 2a7304c806a1c57146598eaee84c6a74eb4c41b8 by Matthew.Arsenault
AMDGPU: Fix Register copypaste error
llvm-svn: 371141
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUArgumentUsageInfo.h
Commit 707be7ef9c1e4e2923acced60462a760fe2a6ae3 by dblaikie
llvm-reduce: Use %python from lit to get the correct/valid python binary
for the reduction script
llvm-svn: 371143
The file was modifiedllvm/test/Reduce/remove-funcs.ll
The file was modifiedllvm/test/Reduce/remove-global-vars.ll
The file was modifiedllvm/test/Reduce/Inputs/remove-funcs.py
Commit a8a816c163b2301fe825ea6dad51b9b812d4ef23 by Jonas Devlieghere
[Reproducer] Add a `cont` to ModuleCXX.test
On more than one occasion I've found this test got stuck during replay
while waiting for a packet from debugserver when the debugger was in the
process of being destroyed. For some reason it's more prevalent on the
downstream Swift fork. Adding a cont mitigates the problem while I
investigate.
llvm-svn: 371144
The file was modifiedlldb/lit/Reproducer/Modules/Inputs/ModuleCXX.in
Commit 524a9d5774ff448ae9c05f0483cf449918d8c8d7 by Matthew.Arsenault
InstCombine: Fix crash on icmp of gep with addrspacecasted null
llvm-svn: 371146
The file was modifiedllvm/test/Transforms/InstCombine/gep-inbounds-null.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Commit 9dd453ce8d6b0d0970ed11a93d5180f74f620078 by efriedma
[AArch64] Add testcase for codegen for sdiv by 2.
llvm-svn: 371147
The file was modifiedllvm/test/CodeGen/AArch64/sdivpow2.ll
Commit 59ff77ee38c6902ffa4b4bc71e80ab01032babec by Matthew.Arsenault
AMDGPU: Fix emitting multiple stack loads for stack passed workitems
The same stack is loaded for each workitem ID, and each use. Nothing
prevents you from creating multiple fixed stack objects with the same
offsets, so this was creating a load for each unique frame index,
despite them being the same offset. Re-use the same frame index so the
loads are CSEable.
llvm-svn: 371148
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
Commit 60c8b8bcf232cfb0537f3d6638d8f36c29ef7095 by Matthew.Arsenault
AMDGPU: Allow getMemOperandWithOffset to analyze stack accesses
Report soffset as a base register if the scratch resource can be
ignored.
llvm-svn: 371149
The file was modifiedllvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/byval-frame-setup.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
Commit 9ceb6edf1145fca5dc43dc486f9129d9b8e01b8e by Matthew.Arsenault
GlobalISel/TableGen: Fix handling of EXTRACT_SUBREG constraints
This was only using the correct register constraints if this was the
final result instruction. If the extract was a sub instruction of the
result, it would attempt to use GIR_ConstrainSelectedInstOperands on a
COPY, which won't work. Move the handling to
createAndImportSubInstructionRenderer so it works correctly.
I don't fully understand why runOnPattern and
createAndImportSubInstructionRenderer both need to handle these special
cases, and constrain them with slightly different methods. If I remove
the runOnPattern handling, it does break the constraint when the final
result instruction is EXTRACT_SUBREG.
llvm-svn: 371150
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-stx.mir
The file was modifiedllvm/utils/TableGen/GlobalISelEmitter.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-stlxr-intrin.mir
The file was modifiedllvm/test/TableGen/GlobalISelEmitterSubreg.td
Commit 4d906252713510ffdfdd9d21e427e525005ddce3 by Matthew.Arsenault
AMDGPU/GlobalISel: Fix load/store of types in other address spaces
There should probably be a size only matcher.
llvm-svn: 371155
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-load-local.mir
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-local.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-store-private.mir
Commit ee093ba5c9b535d526b6d4e8f81099794598207e by Matthew.Arsenault
AMDGPU/GlobalISel: Avoid repeating 32-bit type lists
llvm-svn: 371156
The file was modifiedllvm/lib/Target/AMDGPU/DSInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/FLATInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.td
The file was modifiedllvm/lib/Target/AMDGPU/BUFInstructions.td
Commit 9d2504b6d805c08f333143e27b2f09a9e839554a by maskray
[llvm-readobj][yaml2obj] Support SHT_LLVM_SYMPART, SHT_LLVM_PART_EHDR
and SHT_LLVM_PART_PHDR
See http://lists.llvm.org/pipermail/llvm-dev/2019-February/130583.html
and D60242 for the lld partition feature.
This patch:
* Teaches yaml2obj to parse the 3 section types.
* Teaches llvm-readobj/llvm-readelf to dump the 3 section types.
There is no test for SHT_LLVM_DEPENDENT_LIBRARIES in llvm-readobj. Add
it as well.
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D67228
llvm-svn: 371157
The file was modifiedllvm/test/tools/llvm-readobj/elf-section-types.test
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
The file was modifiedllvm/lib/Object/ELF.cpp
Commit 57fcb1d7fc01741a744eae8c8950ebbe308f8f44 by asbirlea
Cleanup test.
llvm-svn: 371158
The file was modifiedllvm/test/Transforms/LICM/pr42969.ll
Commit bee0f7ddd70120a05605682487bb34f0a074167b by Jonas Devlieghere
[MC] Fix undefined behavior in MCInstPrinter::formatHex
Passing INT64_MIN to MCInstPrinter::formatHex triggers undefined
behavior because the negation of -9223372036854775808 cannot be
represented in type 'int64_t' (aka 'long long'). This patch puts a
workaround in place to just print the hex value directly.
A possible alternative involves using a small helper functions that uses
(implementation) defined conversions to achieve the desirable value:
  static int64_t helper(int64_t V) {
   auto U = static_cast<uint64_t>(V);
   return V < 0 ? -U : U;
}
The underlying problem is that MCInstPrinter::formatHex(int64_t) returns
a format_object<int64_t> and should really return a
format_object<uint64_t>. However, that's not possible because formatImm
needs to be able to print both as decimal (where a signed is required)
and hex (where we'd prefer to always have an unsigned).
  format_object<int64_t> formatImm(int64_t Value) const {
   return PrintImmHex ? formatHex(Value) : formatDec(Value);
}
Differential revision: https://reviews.llvm.org/D67236
llvm-svn: 371159
The file was addedllvm/unittests/MC/MCInstPrinter.cpp
The file was modifiedllvm/unittests/MC/CMakeLists.txt
The file was modifiedllvm/lib/MC/MCInstPrinter.cpp
Commit a2028f73c2c974df126027ee573673c9972c74ff by maskray
Update SHT_LLVM_PART_EHDR test after r371157
llvm-svn: 371160
The file was modifiedlld/test/ELF/partitions.s
Commit b1cf175271820b17c27edfd483c2ab52ce0afcfb by nicolasweber
gn build: Merge r371159
llvm-svn: 371161
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/MC/BUILD.gn
Commit 0b69c59656f564d1aa68ec6b5c1b0be55475a864 by alexbrachetmialot
[yaml2obj] Make e_phoff and e_phentsize 0 if there are no program
headers
Summary: It says [[
http://www.sco.com/developers/gabi/latest/ch4.eheader.html | here ]]
that if there are no program headers than e_phoff should be 0, but
currently it is always set after the header. GNU's `readelf` (but not
`llvm-readelf`) complains about this: `readelf: Warning: possibly
corrupt ELF header - it has a non-zero program header offset, but no
program headers`.
Reviewers: jhenderson, grimar, MaskRay, rupprecht
Reviewed By: jhenderson, grimar, MaskRay
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67054
llvm-svn: 371162
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was addedllvm/test/tools/yaml2obj/elf-no-phdrs.yaml
Commit 27d42af6034b181d3d9e3acd985c846053adf433 by alexbrachetmialot
Fix failing test from rL371162
llvm-svn: 371163
The file was modifiedllvm/test/tools/llvm-readobj/elf-file-headers.test
Commit dfacf8851e93e28b32fb87bc6430fe7c27cf5836 by alexbrachetmialot
Fix rL371162 again
llvm-svn: 371164
The file was modifiedllvm/test/tools/llvm-readobj/elf-file-headers.test
Commit 6179c0eb0d15d73e11af8b6b5538b381c6ed2c53 by aleksandr.urakov
[Windows] Add support of watchpoints to `ProcessWindows`
Summary: This patch adds support of watchpoints to the old
`ProcessWindows` plugin.
The `ProcessWindows` plugin uses the `RegisterContext` to set and reset
watchpoints. The `RegisterContext` has some interface to access
watchpoints, but it is very limited (e.g. it is impossible to retrieve
the last triggered watchpoint with it), that's why I have implemented a
slightly different interface in the `RegisterContextWindows`. Moreover,
I have made the
`ProcessWindows` plugin responsible for search of a vacant watchpoint
slot, because watchpoints exist per-process (not per-thread), then we
can place the same watchpoint in the same slot in different threads.
With this scheme threads don't need to have their own watchpoint lists,
and it simplifies identifying of the last triggered watchpoint.
Reviewers: asmith, stella.stamenova, amccarth
Reviewed By: amccarth
Subscribers: labath, zturner, leonid.mashinskiy, abidh, JDevlieghere,
lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D67168
llvm-svn: 371166
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/multiple_threads/TestWatchpointMultipleThreads.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/TestSetWatchpoint.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/multiple_hits/TestMultipleHits.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_events/TestWatchpointEvents.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_commands/TestWatchpointCommands.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/TestWatchpointIter.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/x64/RegisterContextWindows_x64.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_commands/command/TestWatchpointCommandLLDB.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/watchlocation/TestSetWatchlocation.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/x86/RegisterContextWindows_x86.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_commands/condition/TestWatchpointConditionCmd.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/TestWatchpointIgnoreCount.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/hello_watchlocation/TestWatchLocation.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/condition/TestWatchpointConditionAPI.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_size/TestWatchpointSizes.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
The file was modifiedlldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_disable/TestWatchpointDisable.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_commands/command/TestWatchpointCommandPython.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_set_command/TestWatchLocationWithWatchSet.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/hello_watchpoint/TestMyFirstWatchpoint.py
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
The file was modifiedlldb/source/Plugins/Process/Windows/Common/RegisterContextWindows.h
The file was modifiedlldb/source/Plugins/Process/Windows/Common/ProcessDebugger.h
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/watchpoint_on_vectors/TestValueOfVectorVariable.py
The file was modifiedlldb/packages/Python/lldbsuite/test/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
Commit 7739fbc9c35ef539261eee55f8c5281d1d2b5c8d by craig.topper
[X86] Fix bad indentation. NFC
llvm-svn: 371167
The file was modifiedllvm/lib/Target/X86/X86FixupBWInsts.cpp
Commit 890b551fe79247d0dbc5d8ad34d171352fa0060e by craig.topper
[X86] Pre-commit vector of __int128 test cases for D64672.
llvm-svn: 371168
The file was addedclang/test/CodeGen/x86-vec-i128.c
Commit 6c8a34ed9b49704bdd60838143047c62ba9f2502 by craig.topper
[X86] Prevent passing vectors of __int128 as <X x i128> in llvm IR
As far as I can tell, gcc passes 256/512 bit vectors __int128 in memory.
And passes a vector of 1 _int128 in an xmm register. The backend
considers <X x i128> as an illegal type and will scalarize any arguments
with that type. So we need to coerce the argument types in the frontend
to match to avoid the illegal type.
I'm restricting this to change to Linux and NetBSD based on the how
similar ABI changes have been handled in the past. PS4, FreeBSD, and
Darwin are unaffected. I've also added a new -fclang-abi-compat version
to restore the old behavior.
This issue was identified in PR42607. Though even with the types
changed, we still seem to be doing some unnecessary stack realignment.
llvm-svn: 371169
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/test/CodeGen/x86-vec-i128.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 463c8e5eeb37e3b223f930cf809de0b78dae24ad by craig.topper
[X86] Add tests for extending and truncating between v16i8 and v16i64
with min-legal-vector-width=256.
It looks like we might be able to do these in fewer steps, but I'm not
sure.
llvm-svn: 371170
The file was modifiedllvm/test/CodeGen/X86/min-legal-vector-width.ll
Commit dee0702b2a9d3769a32a420c36fddef556672a06 by mikael.holmen
[MIR] Change test case to read from stdin instead of file
The
    ;CHECK: bb
   ;CHECK-NEXT: %namedVReg1353:_(p0) = COPY $d0
parts of the test case failed when the tests were placed in a directory
including "bb" in the path, since the full path of the file is then
output in the
; ModuleID = '/repo/bb/ line which the CHECK matched on and then the
CHECK-NEXT failed.
llvm-svn: 371171
The file was modifiedllvm/test/CodeGen/MIR/AArch64/mirnamer.mir
Commit bc35ae7389fd1f761ae3f51c2e37fcd984ead896 by Raphael Isemann
[lldb] Remove xcode bot from website listing and fix link to sanitized
llvm-svn: 371172
The file was modifiedlldb/docs/resources/bots.rst
Commit 412a8d7a831005ae26680670c584fd9e5e6ad10e by dave
[CMake] LLVM_COMPILE_FLAGS also applies to C files
LLVM_COMPILE_FLAGS also applies to C files, otherwise tuning flags, etc.
won't be picked up.
https://reviews.llvm.org/D67171
llvm-svn: 371173
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit ff2172c9f4a089f740993f21465be03cdcc42046 by simon
[mips] Make another set of test cases more tolerant to exact symbol
addresses. NFC
llvm-svn: 371174
The file was modifiedlld/test/ELF/mips-64-got.s
The file was modifiedlld/test/ELF/mips-got-extsym.s
The file was modifiedlld/test/ELF/mips-64-gprel-so.s
The file was modifiedlld/test/ELF/mips-64-rels.s
The file was modifiedlld/test/ELF/mips-got-redundant.s
The file was modifiedlld/test/ELF/mips-got-hilo.s
The file was modifiedlld/test/ELF/mips-32.s
The file was modifiedlld/test/ELF/mips-64.s
The file was modifiedlld/test/ELF/mips-call-hilo.s
The file was modifiedlld/test/ELF/mips-call16.s
The file was modifiedlld/test/ELF/mips-64-got-overflow.s
Commit dd8e73ffc01a75e811855675e29aa46659413f6b by Raphael Isemann
[lldb][NFC] Remove unused Args::GetArgumentQuoteCharAtIndex
llvm-svn: 371176
The file was modifiedlldb/include/lldb/Utility/Args.h
The file was modifiedlldb/source/Utility/Args.cpp
Commit f879c6875563c0a8cd838f1e13b14dd33558f1f8 by shkzhang
[CodeGen] Do the Simple Early Return in block-placement pass to optimize
the blocks
Summary:
Fix a bug of not update the jump table and recommit it again.
In `block-placement` pass, it will create some patterns for
unconditional we can do the simple early retrun. But the `early-ret`
pass is before `block-placement`, we don't want to run it again. This
patch is to do the simple early return to optimize the blocks at the
last of `block-placement`.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D63972
llvm-svn: 371177
The file was modifiedllvm/test/CodeGen/PowerPC/block-placement.mir
The file was modifiedllvm/lib/CodeGen/MachineBlockPlacement.cpp
Commit 312409e464cd0e959e8ef8061144b2e8a4f02ab2 by sam.parker
[ARM] MVE Tail Predication
The MVE and LOB extensions of Armv8.1m can be combined to enable
'tail predication' which removes the need for a scalar remainder loop
after vectorization. Lane predication is performed implicitly via a
system register. The effects of predication is described in Section
B5.6.3 of the Armv8.1-m Arch Reference Manual, the key points being:
- For vector operations that perform reduction across the vector and
produce a scalar result, whether the value is accumulated or not.
- For non-load instructions, the predicate flags determine if the
destination register byte is updated with the new value or if the
previous value is preserved.
- For vector store instructions, whether the store occurs or not.
- For vector load instructions, whether the value that is loaded or
whether zeros are written to that element of the destination
register.
This patch implements a pass that takes a hardware loop, containing
masked vector instructions, and converts it something that resembles an
MVE tail predicated loop. Currently, if we had code generation, we'd
generate a loop in which the VCTP would generate the predicate and VPST
would then setup the value of VPR.PO. The loads and stores would be
placed in VPT blocks so this is not tail predication, but normal VPT
predication with the predicate based upon a element counting induction
variable. Further work needs to be done to finally produce a true tail
predicated loop.
Because only the loads and stores are predicated, in both the LLVM IR
and MIR level, we will restrict support to only lane-wise operations
(no horizontal reductions). We will perform a final check on MIR during
loop finalisation too.
Another restriction, specific to MVE, is that all the vector
instructions need operate on the same number of elements. This is
because predication is performed at the byte level and this is set on
entry to the loop, or by the VCTP instead.
Differential Revision: https://reviews.llvm.org/D65884
llvm-svn: 371179
The file was modifiedllvm/lib/Target/ARM/CMakeLists.txt
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-pattern-fail.ll
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-reduce.ll
The file was modifiedllvm/lib/Target/ARM/ARM.h
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/basic-tail-pred.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsARM.td
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/nested.ll
The file was addedllvm/lib/Target/ARM/MVETailPredication.cpp
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-narrow.ll
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/tail-pred-widen.ll
The file was addedllvm/test/CodeGen/Thumb2/LowOverheadLoops/vector-unroll.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetMachine.cpp
Commit 0d50c4e060ffea2edcb08b94a6ff7694275e112b by Raphael Isemann
[lldb][NFC] Extend ArgsTest
llvm-svn: 371180
The file was modifiedlldb/unittests/Utility/ArgsTest.cpp
Commit 7841e80e79f231d564bf9f849c8e3cad171b7ba4 by Raphael Isemann
[lldb][NFC] Remove Args::StripSpaces
This just reimplemented llvm::StringRef::[r/l]trim().
llvm-svn: 371181
The file was modifiedlldb/source/Utility/Args.cpp
The file was modifiedlldb/source/Commands/CommandObjectSettings.cpp
The file was modifiedlldb/include/lldb/Utility/Args.h
The file was modifiedlldb/source/Expression/REPL.cpp
Commit f64f4886706b5f50c9feca349edcfae66dce08fa by M.Gehre
Reland [LifetimeAnalysis] Support more STL idioms (template forward
declaration and DependentNameType)
Reland after https://reviews.llvm.org/D66806 fixed the false-positive
diagnostics.
Summary: This fixes inference of gsl::Pointer on std::set::iterator with
libstdc++ (the typedef for iterator on the template is a
DependentNameType - we can only put the gsl::Pointer attribute on the
underlaying record after instantiation)
inference of gsl::Pointer on std::vector::iterator with libc++ (the
class was forward-declared, we added the gsl::Pointer on the canonical
decl (the forward decl), and later when the template was instantiated,
there was no attribute on the definition so it was not instantiated).
and a duplicate gsl::Pointer on some class with libstdc++ (we first
added an attribute to a incomplete instantiation, and then another was
copied from the template definition when the instantiation was
completed).
We now add the attributes to all redeclarations to fix thos issues and
make their usage easier.
Reviewers: gribozavr
Subscribers: Szelethus, xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66179
llvm-svn: 371182
The file was modifiedclang/unittests/Sema/CMakeLists.txt
The file was modifiedclang/test/SemaCXX/attr-gsl-owner-pointer.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
The file was modifiedclang/test/SemaCXX/attr-gsl-owner-pointer-std.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was addedclang/unittests/Sema/GslOwnerPointerInference.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit d20c41dd3185498a71746f7242092c697f356ae4 by maskray
[yaml2obj] Rename SHOffset (e_shoff) field to SHOff. NFC
`struct Elf*_Shdr` has a field `sh_offset`, named `ShOffset` in
llvm::ELFYAML::Section. Rename SHOffset (e_shoff) to SHOff to prevent
confusion.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D67254
llvm-svn: 371185
The file was modifiedllvm/test/tools/yaml2obj/elf-header-sh-fields.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/test/Object/invalid.test
Commit 29bf68fcfa100233461c8cfca080851b840c6881 by sam.parker
[ARM] Fix for buildbot
llvm-svn: 371187
The file was modifiedllvm/test/CodeGen/ARM/O3-pipeline.ll
Commit 70e002b50bf35218b20131ec883730eda4a6ff9b by maskray
[ELF][test] Update test after r371185
llvm-svn: 371189
The file was modifiedlld/test/ELF/invalid/invalid-e_shnum.test
Commit 3dbb5c7e8872f48454d4032308e333fddd68422f by nicolasweber
gn build: Merge r371179
llvm-svn: 371190
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/ARM/BUILD.gn
Commit 68df9dc09818289ac5b40d0916bb479a358a8e18 by nicolasweber
gn build: Merge r371182
llvm-svn: 371191
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Sema/BUILD.gn
Commit 6c0204c794ba143ce6817f695e03fd9f49cd4ed8 by jay.foad
[AMDGPU] Mark s_barrier as having side effects but not accessing memory.
Summary: This fixes poor scheduling in a function containing a barrier
and a few load instructions.
Without this fix, ScheduleDAGInstrs::buildSchedGraph adds an artificial
edge in the dependency graph from the barrier instruction to the exit
node representing live-out latency, with a latency of about 500 cycles.
Because of this it thinks the critical path through the graph also has a
latency of about 500 cycles. And because of that it does not think that
any of the load instructions are on the critical path, so it schedules
them with no regard for their (80 cycle) latency, which gives poor
results.
Reviewers: arsenm, dstuttard, tpr, nhaehnle
Subscribers: kzhuravl, jvesely, wdng, yaxunl, t-tye, hiraditya,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67218
llvm-svn: 371192
The file was addedllvm/test/CodeGen/AMDGPU/schedule-barrier.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/v_mac_f16.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/waitcnt-vscnt.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsAMDGPU.td
The file was modifiedllvm/test/CodeGen/AMDGPU/local-memory.amdgcn.ll
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
Commit 5d9cd3b4ca457e55c3c21094cfea5e49dddef36c by jeremy.morse.llvm
[DebugInfo] LiveDebugValues: explicitly terminate overwritten stack
locations
If a stack spill location is overwritten by another spill instruction,
any variable locations pointing at that slot should be terminated. We
cannot rely on spills always being restored to registers or variable
locations being moved by a DBG_VALUE: the register allocator is entitled
to spill a value and then forget about it when it goes out of liveness.
To address this, scan for memory writes to spill locations, even those
we don't consider to be normal "spills". isSpillInstruction and
isLocationSpill distinguish the two now. After identifying spill
overwrites, terminate the open range, and insert a $noreg DBG_VALUE for
that variable.
Differential Revision: https://reviews.llvm.org/D66941
llvm-svn: 371193
The file was addedllvm/test/DebugInfo/MIR/X86/live-debug-values-stack-clobber.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues.cpp
Commit 2ebd24cc136f9b2fdab4a00003b4ac0ffa1e2f37 by hokein
[clangd] Use override keyword to override the base class method, NFC
llvm-svn: 371194
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
Commit 90d32df7db51ec69bee38eedc4549976b7c52321 by sguelton
Remove call to obsolete gethostbyname, using getaddrinfo
Differential Revision: https://reviews.llvm.org/D67230
llvm-svn: 371195
The file was modifiedlldb/source/Host/posix/HostInfoPosix.cpp
Commit db2fa0672210705ff1ca6d38f487970e4536809f by jmolloy
[DFAPacketizer] Track resources for packetized instructions
This patch allows the DFAPacketizer to be queried after a packet is
formed to work out which resources were allocated to the packetized
instructions.
This is particularly important for targets that do their own bundle
packing - it's not sufficient to know simply that instructions can share
a packet; which slots are used is also required for encoding.
This extends the emitter to emit a side-table containing resource usage
diffs for each state transition. The packetizer maintains a set of all
possible resource states in its current state. After packetization is
complete, all remaining resource states are possible packetization
strategies.
The sidetable is only ~500K for Hexagon, but the extra tracking is
disabled by default
(most uses of the packetizer like MachinePipeliner don't care and don't
need the extra maintained state).
Differential Revision: https://reviews.llvm.org/D66936
llvm-svn: 371198
The file was addedllvm/test/CodeGen/Hexagon/packetizer-resources.ll
The file was modifiedllvm/include/llvm/CodeGen/DFAPacketizer.h
The file was modifiedllvm/lib/CodeGen/DFAPacketizer.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp
The file was modifiedllvm/utils/TableGen/DFAPacketizerEmitter.cpp
Commit d409408e3172c85c4f41a2c2f7727903c5dff8c5 by djordje.todorovic
[test] Update the name of the debug entry values option. NFC
llvm-svn: 371199
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/stats-dbg-callsite-info.ll
Commit 4fc3ad9e1359ea1b9e5b923a08af400a5d680cef by gchatelet
[Alignment][NFC] Use Align with TargetLowering::setMinFunctionAlignment
Summary: This is patch is part of a series to introduce an Alignment
type. See this thread for context:
http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html See this
patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: jyknight, sdardis, nemanjai, javed.absar, hiraditya,
kbarton, fedor.sergeev, asb, rbar, johnrusso, simoncook, apazos,
sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan,
rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji,
s.egerton, pzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67229
llvm-svn: 371200
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcISelLowering.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/lib/Target/MSP430/MSP430ISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/Lanai/LanaiISelLowering.cpp
The file was modifiedllvm/lib/Target/XCore/XCoreISelLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/BPF/BPFISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
Commit edfd276cbc609051143d113f5e0d6b9248aebe47 by grimar
[llvm-readelf] - Print unknown st_other value if present in GNU output.
This is a fix for https://bugs.llvm.org/show_bug.cgi?id=40785.
llvm-readelf does not print the st_value of the symbol when st_value has
any non-visibility bits set.
This patch:
* Aligns "Ndx" row for the default and a new cases.
(it was 1 space character off for the case when "PROTECTED" visibility
was printed)
* Prints "[<other>: 0x??]" for symbols which has an additional st_other
bits set. In compare with GNU, this logic is a bit simpler and seems to
be more consistent.
For MIPS GNU can print named flags, though can't print a mix of them: 0:
00000000 0 NOTYPE LOCAL DEFAULT UND  1: 00000000 0 NOTYPE GLOBAL DEFAULT
[OPTIONAL] UND a1 2: 00000000 0 NOTYPE GLOBAL DEFAULT [MIPS PLT] UND a2
3: 00000000 0 NOTYPE GLOBAL DEFAULT [MIPS PIC] UND a3 4: 00000000 0
NOTYPE GLOBAL DEFAULT [MICROMIPS] UND a4 5: 00000000 0 NOTYPE GLOBAL
DEFAULT [MIPS16] UND a5 6: 00000000 0 NOTYPE GLOBAL DEFAULT [<other>: c]
UND b1 7: 00000000 0 NOTYPE GLOBAL DEFAULT [<other>: 28] UND b2
On PPC64 it can print a localentry value that is encoded in the high
bits of st_other 63: 0000000000000850 208 FUNC GLOBAL DEFAULT
[<localentry>: 8] 12
We chose to print the raw st_other field, prefixed with '0x'.
Differential revision: https://reviews.llvm.org/D67094
llvm-svn: 371201
The file was modifiedllvm/test/tools/llvm-readobj/elf-symbol-visibility.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp

Summary

  1. [lldb] Send e-mails on failure (details)
  2. Revert "[lldb] Send e-mails on failure" (details)
  3. Revert "Disable e-mails until the Groovy exception is fixed" (details)
  4. [saninizer] Remove sanitizer-x86_64-linux-gn builder (details)
  5. [sanitizer] Make sanitizer-x86_64-linux-gn always pass (details)
  6. [sanitizer] Fix sanitizer-x86_64-linux-gn 'true' call (details)
Commit a39fca2aa8a9d46f5a2a92b5251cea109edb9962 by Jonas Devlieghere
[lldb] Send e-mails on failure
This was disabled because of a bug in our template, which should be
fixed now.
llvm-svn: 371140
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit 72e5aa9b1d115a15fe4347886e56d95d78faed67 by Jonas Devlieghere
Revert "[lldb] Send e-mails on failure"
Looks like e-mails are still broken, but now Jenkins is complaining
about the pipeline syntax.
llvm-svn: 371142
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit ad6df021b1cb8bab7670b8cf7457f083072f448f by Jonas Devlieghere
Revert "Disable e-mails until the Groovy exception is fixed"
Attempt #2
llvm-svn: 371145
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake
Commit 740c4588d84622b44672b5c6f396576a9c9c7773 by Vitaly Buka
[saninizer] Remove sanitizer-x86_64-linux-gn builder
llvm-svn: 371151
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit e3421cc322b10652ab165ab69edc4d0644c9ca4d by Vitaly Buka
[sanitizer] Make sanitizer-x86_64-linux-gn always pass
llvm-svn: 371153
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py
Commit 528c2048dc1c30992fd7cbd0941f626369598392 by Vitaly Buka
[sanitizer] Fix sanitizer-x86_64-linux-gn 'true' call
llvm-svn: 371154
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py