SuccessChanges

Summary

  1. Move decl completion out of the ASTImporterDelegate and document it (details)
  2. [StaticAnalyzer] Use llvm::StringLiteral instead of StringRef in few (details)
  3. [SystemZ]  Add SystemZ as supporting target in help text for -mfentry. (details)
  4. [clang-tidy] Fix relative path in header-filter. (details)
  5. [FastISel] Fix insertion of unconditional branches during FastISel (details)
  6. [Alignment][NFC] migrate DataLayout internal struct to llvm::Align (details)
  7. [RISCV] Fix static analysis issues (details)
  8. [Testing] Python 3 requires `print` to use parens (details)
  9. [SLPVectorizer] add tests for bogus reductions; NFC (details)
  10. [CUDA][HIP] Fix hostness of defaulted constructor Clang does not respect (details)
  11. Use llvm::StringLiteral instead of StringRef in few places (details)
  12. [TextAPI] Arch&Platform to Target (details)
  13. gn build: Merge r372396 (details)
  14. Add a missing space in a MIR parser error message (details)
  15. [docs] Remove training whitespaces. NFC (details)
  16. [ELF] Error if the linked-to section of a SHF_LINK_ORDER section is (details)
  17. [ARM] Fix CTTZ not generating correct instructions MVE (details)
  18. [InstCombine] Tests for (a+b)<=a && (a+b)!=0 fold (PR43259) (details)
  19. [MVT] Add v256i1 to MachineValueType (details)
  20. Remove assert from MachineLoop::getLoopPredecessor() (details)
  21. Unwind: prevent unw_get_proc_info from returning stale data (details)
  22. [aarch64] add def-pats for dot product (details)
  23. [SelectionDAG][Mips][Sparc] Don't allow SimplifyDemandedBits to constant (details)
  24. [libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators. (details)
  25. Doxygenify comments. (details)
  26. [MTE] Handle MTE instructions in AArch64LoadStoreOptimizer. (details)
  27. [NFC][InstCombine] Fixup newly-added tests (details)
  28. Reland '[analyzer][MallocChecker][NFC] Document and reorganize some (details)
  29. [www] Turn 'Clang 9' boxes green in C++ status pages now Clang 9 is (details)
  30. Fix MSVC "not all control paths return a value" warning. NFCI. (details)
  31. [NFC][PowerPC] Refactor classifyGlobalReference (details)
  32. Fix -Wdocumentation warning. NFCI. (details)
  33. Fix a documentation error (details)
  34. [Mips] Remove immarg test for intrinsics that no longer have an immarg (details)
  35. Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is (details)
  36. Ensure AtomicExpr goes through SEMA checking after TreeTransform (details)
  37. [docs] Update structure-aware-fuzzing link. (details)
  38. [lldb] Process formatters in reverse-chronological order (details)
  39. Revert "[MachinePipeliner] Improve the TargetInstrInfo API (details)
  40. [NFC][PowerPC] Consolidate testing of common linkage symbols (details)
  41. Unwind: avoid warning about unused typedef (details)
  42. [Docs] Move topics to new categories (details)
  43. [AddressSanitizer] Don't dereference dyn_cast<ConstantInt> results. (details)
  44. [PPC] PPCLoopPreIncPrep - silence static analyzer null dereference (details)
  45. [Docs] Add a custom sidebar to doc pages (details)
  46. Fix missed case of switching getConstant to getTargetConstant. Try 2. (details)
  47. [SystemZ] Support z15 processor name (details)
  48. [SystemZ] Support z15 processor name (details)
  49. Fix assertion failure when constant evaluation of a switch jumps over an (details)
  50. Remove outdated FIXME. (details)
  51. [SampleFDO] Expose an interface to return the size of a section or the (details)
  52. [Inliner] Remove incorrect early exit during switch cost computation (details)
  53. dotest.py: bugfix: test filters with -f do not work on Python3 (details)
  54. prepare_binding_Python: print readable errors if SWIG fails (details)
  55. [GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection (details)
  56. [clang-scan-deps] strip the --serialize-diagnostics argument (details)
  57. [clang-tidy] Add check for classes missing -hash ⚠️ (details)
  58. gn build: Merge r372445 (details)
  59. Support for 64-bit PC-relative relocations for X86_64 (details)
  60. Improve -Wtautological-overlap-compare (details)
  61. LiveIntervals: Add missing operator!= for segments (details)
  62. AMDGPU/GlobalISel: Allow selection of scalar min/max (details)
  63. avr targetinfo: remove unneeded dep on MC (details)
  64. Revert assertion added by r372394 (details)
  65. Merge and improve code that detects same value in comparisons. (details)
  66. Fix bad APInt compare. (details)
  67. [Clang Interpreter] Fixed Bug 43362, build failure on GCC (details)
  68. [X86] Add test case to show failure to fold load with getmantss due to (details)
  69. [X86] Use sse_load_f32/f64 and timm in patterns for memory form of (details)
  70. Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in (details)
  71. Avoid memory leak in ASan test (details)
  72. Add __lsan::ScopedInterceptorDisabler for strerror(3) (details)
  73. Attempt to fix a windows buildbot failure (details)
  74. [MachinePipeliner] Improve the TargetInstrInfo API (details)
  75. Revert "[SampleFDO] Expose an interface to return the size of a section (details)
  76. [AArch64][GlobalISel] Make <4 x s32> G_ASHR and G_LSHR legal. (details)
  77. [AArch64][GlobalISel] Selection support for G_ASHR of <2 x s64> (details)
  78. [AArch64][GlobalISel] Implement selection for G_SHL of <2 x i64> (details)
  79. [NFC][X86] Adjust check prefixes in bmi.ll (PR43381) (details)
Commit 6192ad262239934df111ca5297dcc48bec597a22 by Raphael Isemann
Move decl completion out of the ASTImporterDelegate and document it
[NFC]
Summary: The ASTImporterDelegate is currently responsible for both
recording and also completing types. This patch moves the actual
completion and recording code outside the ASTImporterDelegate to reduce
the amount of responsibilities the ASTImporterDelegate has to fulfill.
As I anyway had to touch the code when moving I also documented and
refactored most of it
(e.g. no more asserts that we call the deporting start/end function
always as a pair).
Note that I had to make the ASTImporterDelegate and it's related
functions public now so that I can move out the functionality in another
class (that doesn't need to be in the header).
Reviewers: shafik, aprantl, martong, a.sidorin
Reviewed By: martong
Subscribers: rnkovacs, lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D61478
llvm-svn: 372385
The file was modifiedlldb/include/lldb/Symbol/ClangASTImporter.h
The file was modifiedlldb/source/Symbol/ClangASTImporter.cpp
Commit 8599ffa4b1cda61e76bca973c65227867c8b0f05 by benny.kra
[StaticAnalyzer] Use llvm::StringLiteral instead of StringRef in few
places
StringRef's constexpr constructor seems to be extremely slow in MSVC
2017, so don't use it for generated tables. Should make PR43369 a bit
better, no functionality change.
llvm-svn: 372386
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
Commit 81aa62addf7bd8d1cf57adc86dabcbc1c91f7a2c by paulsson
[SystemZ]  Add SystemZ as supporting target in help text for -mfentry.
=> "Insert calls to fentry at function entry (x86/SystemZ only)"
Review: Ulrich Weigand llvm-svn: 372387
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/include/clang/Driver/Options.td
Commit 4a13c828f6d78e49eabffc7b57f805ca46a2a827 by gribozavr
[clang-tidy] Fix relative path in header-filter.
Summary: Clang-tidy supports output diagnostics from header files if
user specifies --header-filter. But it can't handle relative path well.
For example, the folder structure of a project is:
```
// a.h is in /src/a/a.h
// b.h is in /src/b/b.h
...
// c.cpp is in /src/c.cpp
```
Now, we set --header-filter as --header-filter=/a/. That means we only
want to check header files under /src/a/ path, and ignore header files
uder /src/b/ path, but in current implementation, clang-tidy will check
/src/b/b.h also, because the name of b.h used in clang-tidy is
/src/a/../b/b.h.
This change tries to fix this issue.
Reviewers: alexfh, hokein, aaron.ballman, gribozavr
Reviewed By: gribozavr
Subscribers: MyDeveloperDay, xazax.hun, cfe-commits
Tags: #clang, #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D67501
Patch by Yubo Xie.
llvm-svn: 372388
The file was modifiedclang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
The file was addedclang-tools-extra/test/clang-tidy/Inputs/file-filter/subfolder_b/header_b.h
The file was addedclang-tools-extra/test/clang-tidy/Inputs/file-filter/subfolder_a/header_a.h
The file was modifiedclang-tools-extra/test/clang-tidy/file-filter.cpp
The file was addedclang-tools-extra/test/clang-tidy/Inputs/file-filter/subfolder_c/header_c.h
Commit 2a47c77e720a24f808bf6230d0a56bc969258b86 by david.tellenbach
[FastISel] Fix insertion of unconditional branches during FastISel
The insertion of an unconditional branch during FastISel can differ
depending on building with or without debug information. This happens
because FastISel::fastEmitBranch emits an unconditional branch depending
on the size of the current basic block without distinguishing between
debug and non-debug instructions.
This patch fixes this issue by ignoring debug instructions when getting
the size of the basic block.
Reviewers: aprantl
Reviewed By: aprantl
Subscribers: ormris, aprantl, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67703
llvm-svn: 372389
The file was modifiedllvm/include/llvm/IR/BasicBlock.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
The file was modifiedllvm/lib/IR/BasicBlock.cpp
The file was modifiedllvm/unittests/IR/BasicBlockTest.cpp
The file was addedllvm/test/CodeGen/AArch64/fast-isel-branch-uncond-debug.ll
Commit 6c127cdb99f37069ef410ff9c7a57a76cab269a2 by gchatelet
[Alignment][NFC] migrate DataLayout internal struct to llvm::Align
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
With this patch the PointerAlignElem struct goes from 20B to 16B.
Reviewers: courbet
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67400
llvm-svn: 372390
The file was modifiedllvm/include/llvm/IR/DataLayout.h
The file was modifiedllvm/lib/IR/DataLayout.cpp
Commit 2d0cd6cac8403c22b29bcc7874649ff789c6c9b0 by luismarques
[RISCV] Fix static analysis issues
Unlikely to be problematic but still worth fixing.
Differential Revision: https://reviews.llvm.org/D67640
llvm-svn: 372391
The file was modifiedllvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Commit 4fff87d2eea1fb8e835df9e6dbd8372bc5c313be by dave
[Testing] Python 3 requires `print` to use parens
llvm-svn: 372392
The file was modifiedllvm/test/Reduce/Inputs/remove-instructions.py
Commit 4896f7243d629dfa9cce4acf2f72ca1e081a2c40 by spatel
[SLPVectorizer] add tests for bogus reductions; NFC
https://bugs.llvm.org/show_bug.cgi?id=42708
https://bugs.llvm.org/show_bug.cgi?id=43146
llvm-svn: 372393
The file was addedllvm/test/Transforms/SLPVectorizer/X86/bad-reduction.ll
Commit e5d17c511fa603b557f86257b5b6f39b429f4e35 by Yaxun.Liu
[CUDA][HIP] Fix hostness of defaulted constructor Clang does not respect
the explicit device host attributes of defaulted special members. Also
clang does not respect the hostness of special members determined by
their first declarations. Clang also adds duplicate implicit device or
host attributes in certain cases. This patch fixes that. Differential
Revision: https://reviews.llvm.org/D67509
llvm-svn: 372394
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
The file was addedclang/test/SemaCUDA/default-ctor.cu
Commit 084801bdc1a798f30d3ecc183009c74809e051c5 by maskray
Use llvm::StringLiteral instead of StringRef in few places
llvm-svn: 372395
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
The file was modifiedllvm/lib/Target/X86/X86InsertPrefetch.cpp
Commit 81669d5ead6fa555f13308771a6d4cd97f9a73c5 by cyndy_ishida
[TextAPI] Arch&Platform to Target
Summary: This is a patch for updating TextAPI/Macho to read in targets
as opposed to arch/platform. This is because in previous versions tbd
files only supported a single platform but that is no longer the case,
so, now its tracked by unique triples. This precedes a seperate patch
that will add  the TBD-v4 format
Reviewers: ributzka, steven_wu, plotfi, compnerd, smeenai
Reviewed By: ributzka
Subscribers: mgorny, hiraditya, dexonsmith, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67527
llvm-svn: 372396
The file was modifiedllvm/include/llvm/TextAPI/MachO/InterfaceFile.h
The file was modifiedllvm/unittests/TextAPI/TextStubV3Tests.cpp
The file was modifiedllvm/lib/TextAPI/CMakeLists.txt
The file was modifiedllvm/tools/llvm-ifs/llvm-ifs.cpp
The file was modifiedllvm/include/llvm/TextAPI/MachO/Architecture.h
The file was addedllvm/lib/TextAPI/MachO/Target.cpp
The file was modifiedllvm/lib/TextAPI/MachO/TextStubCommon.cpp
The file was addedllvm/lib/TextAPI/MachO/Platform.cpp
The file was modifiedllvm/include/llvm/TextAPI/MachO/Symbol.h
The file was modifiedllvm/lib/TextAPI/MachO/Architecture.cpp
The file was modifiedllvm/lib/TextAPI/MachO/InterfaceFile.cpp
The file was modifiedllvm/lib/TextAPI/MachO/TextStub.cpp
The file was modifiedllvm/lib/Object/TapiFile.cpp
The file was modifiedllvm/lib/TextAPI/MachO/TextStubCommon.h
The file was modifiedllvm/lib/TextAPI/MachO/Symbol.cpp
The file was modifiedllvm/unittests/TextAPI/TextStubV1Tests.cpp
The file was addedllvm/include/llvm/TextAPI/MachO/Target.h
The file was modifiedllvm/include/llvm/TextAPI/MachO/ArchitectureSet.h
The file was addedllvm/include/llvm/TextAPI/MachO/Platform.h
The file was modifiedllvm/unittests/TextAPI/TextStubV2Tests.cpp
Commit 927699490aec66edab97bf05b993f01a56b74c64 by llvmgnsyncbot
gn build: Merge r372396
llvm-svn: 372397
The file was modifiedllvm/utils/gn/secondary/llvm/lib/TextAPI/BUILD.gn
Commit b71d8d465aa992870a22bd17e684fa6a5e9b2759 by david.stenberg
Add a missing space in a MIR parser error message
llvm-svn: 372398
The file was modifiedllvm/test/CodeGen/MIR/X86/call-site-info-error2.mir
The file was modifiedllvm/lib/CodeGen/MIRParser/MIRParser.cpp
Commit be428513cb05893e74a7276a21b12b709db53bb9 by francesco.petrogalli
[docs] Remove training whitespaces. NFC
Subscribers: jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67835
llvm-svn: 372399
The file was modifiedllvm/docs/Frontend/PerformanceTips.rst
Commit 267205149587595e956db25a12252835a51cd372 by maskray
[ELF] Error if the linked-to section of a SHF_LINK_ORDER section is
discarded
Summary: If st_link(A)=B, and A has the SHF_LINK_ORDER flag, we may
dereference a null pointer if B is garbage collected (PR43147):
1. In Wrter.cpp:compareByFilePosition, `aOut->sectionIndex` or
`bOut->sectionIndex` 2. In OutputSections::finalize,
`d->getParent()->sectionIndex`
Simply error and bail out to avoid null pointer dereferences. ld.bfd has
a similar error:
    sh_link of section `.bar' points to discarded section `.foo0' of
`a.o'
ld.bfd is more permissive in that it just checks whether the linked-to
section of the first input section is discarded. This is likely because
it sets sh_link of the output section according to the first input
section.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D67761
llvm-svn: 372400
The file was modifiedlld/ELF/Writer.cpp
The file was addedlld/test/ELF/gc-sections-metadata-err.s
Commit c84722ff277a6848dfa17d137dcf21d64cdfb972 by oliver.cruickshank
[ARM] Fix CTTZ not generating correct instructions MVE
CTTZ intrinsic should have been set to Custom, not Expand
llvm-svn: 372401
The file was modifiedllvm/test/CodeGen/Thumb2/mve-cttz.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
Commit d21087af958656e3eab173fc69bf7a83a3956e90 by lebedev.ri
[InstCombine] Tests for (a+b)<=a && (a+b)!=0 fold (PR43259)
https://rise4fun.com/Alive/knp https://rise4fun.com/Alive/ALap
llvm-svn: 372402
The file was addedllvm/test/Transforms/InstCombine/result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll
The file was modifiedllvm/test/Transforms/InstCombine/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
Commit 2b5d7e93dd18c13d5358f602d361273ec0960b37 by kparzysz
[MVT] Add v256i1 to MachineValueType
This type can show up when lowering some HVX vector code on Hexagon.
llvm-svn: 372403
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.cpp
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
The file was addedllvm/test/CodeGen/Hexagon/autohvx/isel-setcc-v256i1.ll
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.td
Commit af77ca7e6e738b7963a622e4c35807ecc52f854b by Stanislav.Mekhanoshin
Remove assert from MachineLoop::getLoopPredecessor()
According to the documentation method returns predecessor if the given
loop's header has exactly one unique predecessor outside the loop.
Otherwise return null.
In reality it asserts if there is no predecessor outside of the loop.
The testcase has the loop where predecessors outside of the loop were
not identified as analyzeBranch() was unable to process the mask branch
and returned true. That is also not correct to assert for the truly dead
loops.
Differential Revision: https://reviews.llvm.org/D67634
llvm-svn: 372405
The file was addedllvm/test/CodeGen/AMDGPU/loop_header_nopred.mir
The file was modifiedllvm/include/llvm/Analysis/LoopInfoImpl.h
Commit ae685e7aab7f278cf197b8b1b1ccf76a6e884682 by Saleem Abdulrasool
Unwind: prevent unw_get_proc_info from returning stale data
If unwind info is not available at the current IP, unw_get_proc_info
should return a zero-filled structure rather than the info of the
previous IP.
This change also makes unw_get_proc_info return UNW_ENOINFO instead of
UNW_ESUCCESS.
Patch by Amanieu d'Antras!
llvm-svn: 372407
The file was modifiedlibunwind/test/libunwind_01.pass.cpp
The file was modifiedlibunwind/src/UnwindCursor.hpp
Commit f6398fb72c9e2d224ecc837d0e5713e008afbcb2 by spop
[aarch64] add def-pats for dot product
This patch adds the patterns to select the dot product instructions.
Tested on aarch64-linux with make check-all.
Differential Revision: https://reviews.llvm.org/D67645
llvm-svn: 372408
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.td
The file was modifiedllvm/test/CodeGen/AArch64/neon-dot-product.ll
Commit 1b7b4b467f03322f37b20ccee5cdef0c9ecec5d4 by craig.topper
[SelectionDAG][Mips][Sparc] Don't allow SimplifyDemandedBits to constant
fold TargetConstant nodes to a Constant.
Summary: After the switch in SimplifyDemandedBits, it tries to create a
constant when possible. If the original node is a TargetConstant the
default in the switch will call computeKnownBits on the TargetConstant
which will succeed. This results in the TargetConstant becoming a
Constant. But TargetConstant exists to avoid being changed.
I've fixed the two cases that relied on this in tree by explicitly
making the nodes constant instead of target constant. The Sparc case is
an old bug. The Mips case was recently introduced now that ImmArg on
intrinsics gets turned into a TargetConstant when the SelectionDAG is
created. I've removed the ImmArg since it lowers to generic code.
Reviewers: arsenm, RKSimon, spatel
Subscribers: jyknight, sdardis, wdng, arichardson, hiraditya,
fedor.sergeev, jrtc27, atanasyan, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67802
llvm-svn: 372409
The file was modifiedllvm/lib/Target/Sparc/SparcISelLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/include/llvm/IR/IntrinsicsMips.td
Commit eff88e42f7860ac38cccafd175f5feca4d89c7c3 by yitzhakm
[libTooling] Add `ifBound`, `elseBranch` RangeSelector combinators.
Summary: Adds two new combinators and corresponding tests to the
RangeSelector library.
* `ifBound` -- conditional evaluation of range-selectors, based on
whether a
  given node id is bound in the match.
* `elseBranch` -- selects the source range of the else and its
statement.
Reviewers: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67621
llvm-svn: 372410
The file was modifiedclang/unittests/Tooling/RangeSelectorTest.cpp
The file was modifiedclang/include/clang/Tooling/Refactoring/RangeSelector.h
The file was modifiedclang/lib/Tooling/Refactoring/RangeSelector.cpp
Commit 330014843ceccdcb32463875b3fcd36654e75ad4 by Adrian Prantl
Doxygenify comments.
llvm-svn: 372411
The file was modifiedlldb/include/lldb/Symbol/Variable.h
The file was modifiedlldb/source/Symbol/Variable.cpp
Commit c2bda3e422a9d00c49f4f3faf3adfb0ac9767097 by eugeni.stepanov
[MTE] Handle MTE instructions in AArch64LoadStoreOptimizer.
Summary: Generate pre- and post-indexed forms of ST*G and STGP when
possible.
Reviewers: ostannard, vitalybuka
Subscribers: kristof.beyls, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67741
llvm-svn: 372412
The file was addedllvm/test/CodeGen/AArch64/ldst-opt-mte.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
The file was modifiedllvm/test/CodeGen/AArch64/stgp.ll
Commit 081eebc58fcc9baa7517b20eb1243e0bf056a683 by lebedev.ri
[NFC][InstCombine] Fixup newly-added tests
llvm-svn: 372413
The file was modifiedllvm/test/Transforms/InstCombine/result-of-add-of-negative-or-zero-is-non-zero-and-no-underflow.ll
The file was modifiedllvm/test/Transforms/InstCombine/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
Commit 951cd32f4ba8e2cc08814a609853c11c69efc394 by kristof.umann
Reland '[analyzer][MallocChecker][NFC] Document and reorganize some
functions'
Differential Revision: https://reviews.llvm.org/D54823
llvm-svn: 372414
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
Commit 2d2850ff09b7b1ca5fbc249b46c05ff94931831a by richard-llvm
[www] Turn 'Clang 9' boxes green in C++ status pages now Clang 9 is
released.
llvm-svn: 372415
The file was modifiedclang/www/make_cxx_dr_status
The file was modifiedclang/www/cxx_dr_status.html
The file was modifiedclang/www/cxx_status.html
Commit 7dab840fd4f26fc814b323e017f549f9fb43fcd5 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFCI.
llvm-svn: 372416
The file was modifiedllvm/lib/TextAPI/MachO/Platform.cpp
Commit e065e5f12a7de2074355e1fc3d2d1fcb4a4fcf66 by Jinsong Ji
[NFC][PowerPC] Refactor classifyGlobalReference
We always(and only) check the NLP flag after calling
classifyGlobalReference to see whether it is accessed indirectly.
Refactor to code to use isGVIndirectSym instead.
llvm-svn: 372417
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.h
The file was modifiedllvm/lib/Target/PowerPC/PPCSubtarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCFastISel.cpp
Commit 60a6f31dde488e28afab0dc39697e645d0653e2e by llvm-dev
Fix -Wdocumentation warning. NFCI.
llvm-svn: 372418
The file was modifiedllvm/include/llvm/TextAPI/MachO/InterfaceFile.h
Commit 96be6f485c733c990d01c60f0dc6ae11b3974eea by kristof.umann
Fix a documentation error
llvm-svn: 372419
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
Commit c139d1e28109450085a11e3b2ec7d53c6a00c37b by craig.topper
[Mips] Remove immarg test for intrinsics that no longer have an immarg
after r372409.
llvm-svn: 372420
The file was removedllvm/test/Verifier/Mips/intrinsic-immarg.ll
Commit 6a234677f4916fc647e463f058feeff73b131879 by mtrent
Can't pass .dSYM directory to llvm-objdump -dsym= (and error message is
wrong)
Summary: Allow users to pass the path to a .dSYM directory to
llvm-objdump's -dsym flag rather than requiring users to find the DWARF
DSYM Mach-O within the bundle structure by hand.
rdar://46873333
Reviewers: pete, lhames, friss, aprantl
Reviewed By: pete, aprantl
Subscribers: MaskRay, aprantl, rupprecht, seiya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67780
llvm-svn: 372421
The file was modifiedllvm/tools/llvm-objdump/MachODump.cpp
Commit 830909b97a9a63959758f0b5e049ac172815d0db by erich.keane
Ensure AtomicExpr goes through SEMA checking after TreeTransform
RebuildAtomicExpr was skipping doing semantic analysis which broke in
the cases where the expressions were not dependent. This resulted in the
ImplicitCastExpr from an array to a pointer being lost, causing a crash
in IR CodeGen.
Differential Revision: https://reviews.llvm.org/D67854
llvm-svn: 372422
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was addedclang/test/AST/atomic-expr.cpp
Commit 949a126438b9d4949208fec549e2772e3270d7d5 by mascasa
[docs] Update structure-aware-fuzzing link.
The document has been moved to the google/fuzzing GitHub repo.
llvm-svn: 372423
The file was modifiedllvm/docs/LibFuzzer.rst
Commit ce7cfbccc63ba318bed00aef65dab49adc6f43c8 by jan.kratochvil
[lldb] Process formatters in reverse-chronological order
If one reverts D66398 then the TestDataFormatterStdList does fail - as
the C++ formatters are initialized in the opposite order. But the
current state of trunk does not mind the order for C++ formatters.
It is using now a single std::vector as suggested by Pavel Labath.
Differential Revision: https://reviews.llvm.org/D66654
llvm-svn: 372424
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
The file was modifiedlldb/include/lldb/Utility/RegularExpression.h
The file was modifiedlldb/include/lldb/DataFormatters/FormattersContainer.h
Commit 72a3d8597da5cb50f3a21ba8a2f822117459af34 by mitchphillips
Revert "[MachinePipeliner] Improve the TargetInstrInfo API
analyzeLoop/reduceLoopCount"
This commit broke the ASan buildbot. See comments in rL372376 for more
information.
This reverts commit 15e27b0b6d9d51362fad85dbe95ac5b3fadf0a06.
llvm-svn: 372425
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.h
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
The file was modifiedllvm/test/CodeGen/Hexagon/swp-epilog-phi7.ll
The file was modifiedllvm/include/llvm/CodeGen/ModuloSchedule.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
Commit 216be996d68ec325f1d4341d3af78f078d430d4b by Jinsong Ji
[NFC][PowerPC] Consolidate testing of common linkage symbols
Add a new file to test the code gen for common linkage symbol. Remove
common linkage in some other testcases to avoid distraction.
llvm-svn: 372426
The file was modifiedllvm/test/CodeGen/PowerPC/expand-isel.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesinesll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigesll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigtui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pr36068.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigtus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiequc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-P9-mod.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testCompareslleqsi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiltus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiness.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesinesi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgesll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgtsll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ctrloop-shortLoops.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesieqsc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgeus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesieqsll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllltsll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiltui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllequs.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiequi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testCompareslleqss.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllnesll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigesi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigtsi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigeuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/ppc64-pre-inc-no-extra-phi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesieqss.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllequi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllless.ll
The file was modifiedllvm/test/CodeGen/PowerPC/f128-aggregates.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgeuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pr39815.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesineui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiequll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiless.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllequc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/pr32140.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigeui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgeui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/csr-split.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesileuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesileui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testCompareslllesll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllequll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/sms-simple.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiltsi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllneull.ll
The file was addedllvm/test/CodeGen/PowerPC/elf-common.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesinesc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgtui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/CompareEliminationSpillIssue.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesileus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesineuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllltus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesieqsi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigtsc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiequs.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigesc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgeull.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigess.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllleuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testCompareslllesc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/zext-and-cmp.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesilesc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllltui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigtss.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgtus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigeus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiltsc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllltuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesineull.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgesi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigtuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllleui.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesilesll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgtuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesileull.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testCompareslleqsc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesineus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllleus.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesilesi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgesc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllleull.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigtsll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiltsll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testCompareslleqsll.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesllgess.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiltuc.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesiltss.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testCompareslllesi.ll
The file was modifiedllvm/test/CodeGen/PowerPC/testComparesigeull.ll
Commit 0ae02fd71a3828209df37239910568ecde68912a by Saleem Abdulrasool
Unwind: avoid warning about unused typedef
Move the definition of Elf_Addr typedef to the only place it is used, to
avoid:
``` llvm-project/libunwind/src/AddressSpace.hpp:501:28: warning: unused
typedef 'Elf_Addr' [-Wunused-local-typedef]
```
when compiling for Android with _LIBUNWIND_ARM_EHABI defined and
_LIBUNWIND_SUPPORT_DWARF_UNWIND not defined.
Patch by Joel Klinghed!
llvm-svn: 372427
The file was modifiedlibunwind/src/AddressSpace.hpp
Commit 01a3080960eec85ca85467a3930e30ac3e93ca0c by d4m1887
[Docs] Move topics to new categories
This commit moves several topics to new categories.
llvm-svn: 372428
The file was modifiedllvm/docs/index.rst
The file was modifiedllvm/docs/SubsystemDocumentation.rst
The file was modifiedllvm/docs/UserGuides.rst
The file was modifiedllvm/docs/ProgrammingDocumentation.rst
Commit 2e0c95edfe0fbbded0835c3e5ec341c9a28b30e6 by llvm-dev
[AddressSanitizer] Don't dereference dyn_cast<ConstantInt> results.
NFCI.
The static analyzer is warning about potential null dereference, but we
can use cast<ConstantInt> directly and if not assert will fire for us.
llvm-svn: 372429
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Commit 63ddbc2fbc31f2ef32f61d7c603d42bb92a7dcbd by llvm-dev
[PPC] PPCLoopPreIncPrep - silence static analyzer null dereference
warning.
llvm-svn: 372430
The file was modifiedllvm/lib/Target/PowerPC/PPCLoopPreIncPrep.cpp
Commit eacbe1cccc40ddd8874fcdbbee2cb9f8a842f4b5 by d4m1887
[Docs] Add a custom sidebar to doc pages
Adds a custom sidebar to LLVM docs. Sidebar includes links to How to
submit a bug and FAQ topics, as well as a Show Source link and search
box.
llvm-svn: 372432
The file was modifiedllvm/docs/conf.py
The file was modifiedllvm/docs/_templates/indexsidebar.html
Commit 4a58936716e5733662ca1f46734594db0a0e67b9 by saugustine
Fix missed case of switching getConstant to getTargetConstant. Try 2.
Summary: This fixes a crasher introduced by r372338.
Reviewers: echristo, arsenm
Subscribers: wdng, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67850
llvm-svn: 372434
The file was addedllvm/test/CodeGen/X86/isel-blendi-gettargetconstant.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 819c1651f723b51490eb98b3fc11cbd7dafc7831 by ulrich.weigand
[SystemZ] Support z15 processor name
The recently announced IBM z15 processor implements the architecture
already supported as "arch13" in LLVM.  This patch adds support for
"z15" as an alternate architecture name for arch13.
The patch also uses z15 in a number of places where we used arch13 as
long as the official name was not yet announced.
llvm-svn: 372435
The file was modifiedllvm/test/CodeGen/SystemZ/vec-conv-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-08.mir
The file was addedllvm/test/MC/Disassembler/SystemZ/insns-z15.txt
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-06.ll
The file was removedllvm/test/MC/SystemZ/insn-bad-arch13.s
The file was addedllvm/lib/Target/SystemZ/SystemZScheduleZ15.td
The file was modifiedllvm/test/CodeGen/SystemZ/vec-strict-conv-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/not-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-07.ll
The file was modifiedllvm/test/CodeGen/SystemZ/ctpop-02.ll
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-01.ll
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-03.ll
The file was removedllvm/lib/Target/SystemZ/SystemZScheduleArch13.td
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-07.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-intrinsics-03.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-06.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-04.ll
The file was modifiedllvm/test/CodeGen/SystemZ/cond-move-03.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZSchedule.td
The file was removedllvm/test/MC/Disassembler/SystemZ/insns-arch13.txt
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-02.ll
The file was modifiedllvm/test/Analysis/CostModel/SystemZ/intrinsics.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-05.ll
The file was modifiedllvm/test/Analysis/CostModel/SystemZ/fp-cast.ll
The file was removedllvm/test/MC/SystemZ/insn-good-arch13.s
The file was modifiedllvm/test/CodeGen/SystemZ/vec-eswap-02.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
The file was modifiedllvm/test/CodeGen/SystemZ/vec-eswap-01.ll
The file was modifiedllvm/test/CodeGen/SystemZ/vec-bswap-01.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZProcessors.td
The file was modifiedllvm/test/Analysis/CostModel/SystemZ/logic-miscext3.ll
The file was addedllvm/test/MC/SystemZ/insn-bad-z15.s
The file was addedllvm/test/MC/SystemZ/insn-good-z15.s
Commit 48b40834dc59ec1d02f59b1c36360b12c58b3c7b by ulrich.weigand
[SystemZ] Support z15 processor name
The recently announced IBM z15 processor implements the architecture
already supported as "arch13" in LLVM.  This patch adds support for
"z15" as an alternate architecture name for arch13.
Corrsponding LLVM support was committed as rev. 372435.
llvm-svn: 372436
The file was modifiedclang/test/CodeGen/builtins-systemz-vector3.c
The file was modifiedclang/test/CodeGen/builtins-systemz-vector3-error.c
The file was modifiedclang/test/CodeGen/systemz-abi.c
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedclang/test/Driver/systemz-march.c
The file was modifiedclang/lib/Basic/Targets/SystemZ.cpp
The file was modifiedclang/test/CodeGen/builtins-systemz-zvector3-error.c
The file was modifiedclang/test/CodeGen/builtins-systemz-zvector3.c
The file was modifiedclang/test/CodeGen/systemz-abi-vector.c
The file was modifiedclang/test/Preprocessor/predefined-arch-macros.c
The file was modifiedclang/test/CodeGen/target-data.c
Commit 397a686762e229c32857efc4e66b4e6cf72bee93 by richard-llvm
Fix assertion failure when constant evaluation of a switch jumps over an
uninitialized variable in an init-statement of a 'for' or 'if'.
llvm-svn: 372437
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
Commit 6c0894b58ac8cbf12383f18789ac5a161a18f141 by richard-llvm
Remove outdated FIXME.
llvm-svn: 372438
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit f118852046a1d255ed8c65c6b5db320e8cea53a0 by wmi
[SampleFDO] Expose an interface to return the size of a section or the
size of the profile for profile in ExtBinary format.
Sometimes we want to limit the size of the profile by stripping some
functions with low sample count or by stripping some function names with
small text size from profile symbol list. That requires the profile
reader to have the interfaces returning the size of a section or the
size of total profile. The patch add those interfaces.
At the same time, add some dump facility to show the size of each
section.
llvm-svn: 372439
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was addedllvm/test/tools/llvm-profdata/show-prof-size.test
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
Commit 2f32e5d84d3483a0d6170fc61d2cceb49fc930a3 by tejohnson
[Inliner] Remove incorrect early exit during switch cost computation
Summary: The CallAnalyzer::visitSwitchInst has an early exit when the
estimated lower bound of the switch cost will put the overall cost of
the inline above the threshold. However, this code is not correctly
estimating the lower bound for switches that can be transformed into bit
tests, leading to unnecessary lost inlines, and also differing behavior
with optimization remarks enabled.
First, the early exit is controlled by whether ComputeFullInlineCost is
enabled or not, and that in turn is disabled by default but enabled when
enabling -pass-remarks=missed. This by itself wouldn't lead to a
problem, except that as described below, the lower bound can be above
the real lower bound, so we can sometimes get different inline decisions
with inline remarks enabled, which is problematic.
The early exit was added in along with a new switch cost model in
D31085. The reason why this early exit was added is due to a concern one
reviewer raised about compile time for large switches:
https://reviews.llvm.org/D31085?id=94559#inline-276200
However, the code just below there calls
getEstimatedNumberOfCaseClusters, which in turn immediately calls
BasicTTIImpl getEstimatedNumberOfCaseClusters, which in the worst case
does a linear scan of the cases to get the high and low values. The bit
test handling in particular is guarded by whether the number of cases
fits into the max bit width. There is no suggestion that anyone measured
a compile time issue, it appears to be theoretical.
The problem is that the reviewer's comment about the lower bound
calculation is incorrect, specifically in the case of a switch that can
be lowered to a bit test. This isn't followed up on the comment thread,
but the author does add a FIXME to that effect above the early exit
added when they subsequently revised the patch.
As a result, we were incorrectly early exiting and not inlining
functions with switch statements that would be lowered to bit tests in
cases where we were nearing the threshold. Combined with the fact that
this early exit was skipped with opt remarks enabled, this caused
different inlining decisions to be made when -pass-remarks=missed is
enabled to debug the missing inline.
Remove the early exit for the above reasons.
I also copied over an existing AArch64 inlining test to X86, and
adjusted the threshold so that the bit test inline only occurs with the
fix in this patch.
Reviewers: davidxl
Subscribers: eraman, kristof.beyls, haicheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67716
llvm-svn: 372440
The file was addedllvm/test/Transforms/Inline/X86/switch.ll
The file was modifiedllvm/lib/Analysis/InlineCost.cpp
Commit e021d6909436c6baac2dc7c9065340862a9b9aa2 by Jonas Devlieghere
dotest.py: bugfix: test filters with -f do not work on Python3
dotest -f does not work on Python3.
The name types.UnboundMethodType was an alias for types.MethodType in
2.7, but it does not exist in python3. MethodType works in both.
Also the actual type returned from SomeClass.some_method in python3 will
be types.Function, not MethodType.
Patch by: Lawrence D'Anna
Differential revision: https://reviews.llvm.org/D67791
llvm-svn: 372441
The file was modifiedlldb/third_party/Python/module/unittest2/unittest2/loader.py
Commit 7d6a95cf83fcca92e64302194995601474bc161a by Jonas Devlieghere
prepare_binding_Python: print readable errors if SWIG fails
When swig fails, all the errors are squished onto one line with \n
quoting. It's very hard to read. This will print them out in a more
reasonable format.
Patch by: Lawrence D'Anna
Differential revision: https://reviews.llvm.org/D67790
llvm-svn: 372442
The file was modifiedlldb/scripts/Python/prepare_binding_Python.py
Commit 7ac1039957f9aebcdf3ccf36cdd11067eb42b832 by aemerson
[GlobalISel] Defer setting HasCalls on MachineFrameInfo to selection
time.
We currently always set the HasCalls on MFI during translation and
legalization if we're handling a call or legalizing to a libcall.
However, if that call is later optimized to a tail call then we don't
need the flag. The flag being set to true causes frame lowering to
always save and restore FP/LR, which adds unnecessary code.
This change does the same thing as SelectionDAG and ports over some code
that scans instructions after selection, using TargetInstrInfo to
determine if target opcodes are known calls.
Code size geomean improvements on CTMark:
-O0 : 0.1%
-Os : 0.3%
Differential Revision: https://reviews.llvm.org/D67868
llvm-svn: 372443
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/tail-call-no-save-fp-lr.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
Commit 172e8a7a5de1c5aa110272da5483138e9aabc204 by Alex Lorenz
[clang-scan-deps] strip the --serialize-diagnostics argument
This ensures that clang-scan-deps won't write out diagnostics when
scanning dependencies.
llvm-svn: 372444
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
The file was addedclang/test/ClangScanDeps/Inputs/strip_diag_serialize.json
The file was modifiedclang/lib/Tooling/ArgumentsAdjusters.cpp
The file was modifiedclang/include/clang/Tooling/ArgumentsAdjusters.h
The file was addedclang/test/ClangScanDeps/strip_diag_serialize.cpp
Commit 2f6a52816fc33cf24373ce2aaf7df08b95403f44 by mog
[clang-tidy] Add check for classes missing -hash ⚠️
Summary: Apple documentation states that:
"If two objects are equal, they must have the same hash value. This last
point is particularly important if you define isEqual: in a subclass and
intend to put instances of that subclass into a collection. Make sure
you also define hash in your subclass."
https://developer.apple.com/documentation/objectivec/1418956-nsobject/1418795-isequal?language=objc
In many or all versions of libobjc, -[NSObject isEqual:] is a pointer
equality check and -[NSObject hash] returns the messaged object's
pointer. A relatively common form of developer error is for a developer
to override -isEqual: in a subclass without overriding -hash to ensure
that hashes are equal for objects that are equal.
It is assumed that an override of -isEqual: is a strong signal for
changing the object's equality operator to something other than pointer
equality which implies that a missing override of -hash could result in
distinct objects being equal but having distinct hashes because they are
independent instances. This added check flags classes that override
-isEqual: but inherit NSObject's implementation of -hash to warn of the
potential for unexpected behavior.
The proper implementation of -hash is the responsibility of the
developer and the check will only verify that the developer made an
effort to properly implement -hash. Developers can set up unit tests to
verify that their implementation of -hash is appropriate.
Test Notes: Ran check-clang-tools.
Reviewers: aaron.ballman, benhamilton
Reviewed By: aaron.ballman
Subscribers: Eugene.Zelenko, mgorny, xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67737
llvm-svn: 372445
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
The file was addedclang-tools-extra/docs/clang-tidy/checks/objc-missing-hash.rst
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was addedclang-tools-extra/clang-tidy/objc/MissingHashCheck.h
The file was addedclang-tools-extra/test/clang-tidy/objc-missing-hash.m
The file was addedclang-tools-extra/clang-tidy/objc/MissingHashCheck.cpp
The file was modifiedclang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
The file was modifiedclang-tools-extra/clang-tidy/objc/CMakeLists.txt
Commit c96d5545f0c97b3ad88672a09a4feeb7256ce2cb by llvmgnsyncbot
gn build: Merge r372445
llvm-svn: 372446
The file was modifiedllvm/utils/gn/secondary/clang-tools-extra/clang-tidy/objc/BUILD.gn
Commit 3e6590c45177958030513e6be199fc2d54f13ac7 by apilipenko
Support for 64-bit PC-relative relocations for X86_64
ELF files generated for X86_64 targets may contain 64-bit PC-relative 
relocations. For instance, an exception handler table entry contains the
start  of exception-throwing frame relative to the start of exception
handler. As these  two labels belong to different sections, their
difference and so the relocation  is 64-bit.
An attempt to parse such file, i.e. in DWARFContext::create, results in
"failed  to compute relocation" error.
This fix adds support for such relocations to RelocationResolver.cpp.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D67779
Patch by Oleg Pliss (Oleg.Pliss@azul.com)
llvm-svn: 372447
The file was modifiedllvm/lib/Object/RelocationResolver.cpp
Commit 6541c7988b83b30b2590ca6b3e23585ae04a02a2 by rtrieu
Improve -Wtautological-overlap-compare
Allow this warning to detect a larger number of constant values,
including negative numbers, and handle non-int types better.
Differential Revision: https://reviews.llvm.org/D66044
llvm-svn: 372448
The file was modifiedclang/lib/Analysis/CFG.cpp
The file was modifiedclang/test/Sema/warn-unreachable.c
The file was modifiedclang/lib/Analysis/ReachableCode.cpp
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/test/Sema/warn-overlap.c
The file was modifiedclang/test/Analysis/cfg.cpp
The file was modifiedclang/test/SemaCXX/warn-unreachable.cpp
Commit bd7f2354ccbaa50923b134b223349ae532443aba by Matthew.Arsenault
LiveIntervals: Add missing operator!= for segments
llvm-svn: 372449
The file was modifiedllvm/include/llvm/CodeGen/LiveInterval.h
Commit eb6eb694e42d85541a1abc79f6025425540f8a7c by Matthew.Arsenault
AMDGPU/GlobalISel: Allow selection of scalar min/max
I believe all of the uniform/divergent pattern predicates are redundant
and can be removed. The uniformity bit already influences the register
class, and nothhing has broken when I've removed this and others.
llvm-svn: 372450
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-umin.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-umax.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-smin.mir
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-smax.mir
Commit d98d3ea9fe382c2fd0beeaf170532bf8e3521d47 by nicolasweber
avr targetinfo: remove unneeded dep on MC
llvm-svn: 372451
The file was modifiedllvm/lib/Target/AVR/TargetInfo/LLVMBuild.txt
Commit 27a8039171817a38f76adf51793f0d22f84dd78e by Yaxun.Liu
Revert assertion added by r372394
The assertion added by r372394 causes CUDA test in test-suite to assert.
The assertion was not there originally, so revert it.
llvm-svn: 372452
The file was modifiedclang/lib/Sema/SemaCUDA.cpp
Commit 4c05de8c1d157f4b5e0091a52dbbcce7242ee485 by rtrieu
Merge and improve code that detects same value in comparisons.
-Wtautological-overlap-compare and self-comparison from
-Wtautological-compare relay on detecting the same operand in different
locations.  Previously, each warning had it's own operand checker.  Now,
both are merged together into one function that each can call.  The
function also now looks through member access and array accesses.
Differential Revision: https://reviews.llvm.org/D66045
llvm-svn: 372453
The file was modifiedclang/lib/Analysis/CFG.cpp
The file was modifiedclang/test/SemaCXX/compare-cxx2a.cpp
The file was modifiedclang/test/SemaCXX/self-comparison.cpp
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/test/Analysis/array-struct-region.cpp
The file was modifiedclang/include/clang/AST/Expr.h
The file was modifiedclang/docs/ReleaseNotes.rst
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/test/Sema/warn-overlap.c
Commit 77297f0761d2009e25d5d709cdcb041229f3493c by rtrieu
Fix bad APInt compare.
APInt comparison require both to have the same bitwidth.  Since only the
value is needed, use the compare function APInt::isSameValue instead.
llvm-svn: 372454
The file was modifiedclang/lib/AST/Expr.cpp
The file was modifiedclang/test/SemaCXX/self-comparison.cpp
Commit 10793e791f5b149cbdc4a836cace1552b04fb332 by n
[Clang Interpreter] Fixed Bug 43362, build failure on GCC
free() was not directly included in InterpStack.cpp, added include now.
llvm-svn: 372455
The file was modifiedclang/lib/AST/Interp/InterpStack.cpp
Commit 4fa12ac92ced6dafdaf1e7c7e7a4b86d774e0b83 by craig.topper
[X86] Add test case to show failure to fold load with getmantss due to
isel pattern looking for Constant instead of TargetConstant
The intrinsic has an immarg so its gets created with a TargetConstant
instead of a Constant after r372338. The isel pattern was only updated
for the register form, but not the memory form.
llvm-svn: 372457
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics.ll
Commit 04682939eb7e5ff06ec7e50cbe205b5c0069285f by craig.topper
[X86] Use sse_load_f32/f64 and timm in patterns for memory form of
vgetmantss/sd.
Previously we only matched scalar_to_vector and scalar load, but we
should be able to narrow a vector load or match vzload.
Also need to match TargetConstant instead of Constant. The register
patterns were previously updated, but not the memory patterns.
llvm-svn: 372458
The file was modifiedllvm/test/CodeGen/X86/avx512-intrinsics.ll
The file was modifiedllvm/lib/Target/X86/X86InstrAVX512.td
Commit 8827047551570b7ed7088765c3de2a8cce6823b8 by n54
Stop tracking atexit/__cxa_atexit/pthread_atfork allocations in
LSan/NetBSD
Summary: The atexit(3) and __cxa_atexit() calls allocate internally
memory and free on exit, after executing all callback. This causes false
positives as DoLeakCheck() is called from the atexit handler. In the
LSan/ASan tests there are strict checks triggering false positives here.
Intercept all atexit(3) and __cxa_atexit() calls and disable LSan when
calling the real functions.
Stop tracing allocations in pthread_atfork(3) funtions, as there are
performed internal allocations that are not freed for the time of
running StopTheWorld() code. This avoids false-positives.
The same changes have to be replicated in the ASan and LSan runtime.
Non-NetBSD OSs are not tested and this code is restricted to NetBSD
only.
Reviewers: dvyukov, joerg, mgorny, vitalybuka, eugenis
Reviewed By: vitalybuka
Subscribers: jfb, llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67331
llvm-svn: 372459
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.cpp
Commit 5fe1e55d35413b1904cfcf16ec15495398921fe5 by n54
Avoid memory leak in ASan test
Summary: Add missing free(3) for the malloc(3) call.
Detected on NetBSD with LSan.
Reviewers: joerg, mgorny, vitalybuka, dvyukov
Reviewed By: vitalybuka
Subscribers: llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67330
llvm-svn: 372460
The file was modifiedcompiler-rt/test/asan/TestCases/inline.cpp
Commit 1b58389428ed07a7322ba9c2bcaeec99807f9457 by n54
Add __lsan::ScopedInterceptorDisabler for strerror(3)
Summary: strerror(3) on NetBSD uses internally TSD with a destructor
that is never fired for exit(3). It's correctly called for
pthread_exit(3) scenarios.
This is a case when a leak on exit(3) is expected, unavoidable and
harmless.
Reviewers: joerg, vitalybuka, dvyukov, mgorny
Reviewed By: vitalybuka
Subscribers: dmgreen, kristof.beyls, jfb, llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67337
llvm-svn: 372461
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
The file was modifiedcompiler-rt/lib/lsan/lsan_interceptors.cpp
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.cpp
Commit c90fda6abe84127a99a8fe4341b6ed7c8abee47e by kristof.umann
Attempt to fix a windows buildbot failure
llvm-svn: 372462
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
Commit 8a74eca398a012a9b3b18b10c2b5aedef203d04b by jmolloy
[MachinePipeliner] Improve the TargetInstrInfo API
analyzeLoop/reduceLoopCount
Recommit: fix asan errors.
The way MachinePipeliner uses these target hooks is stateful - we reduce
trip count by one per call to reduceLoopCount. It's a little overfit for
hardware loops, where we don't have to worry about stitching a loop
induction variable across prologs and epilogs (the induction variable is
implicit).
This patch introduces a new API:
  /// Analyze loop L, which must be a single-basic-block loop, and if
the
/// conditions can be understood enough produce a PipelinerLoopInfo
object.
virtual std::unique_ptr<PipelinerLoopInfo>
analyzeLoopForPipelining(MachineBasicBlock *LoopBB) const;
The return value is expected to be an implementation of the abstract
class:
  /// Object returned by analyzeLoopForPipelining. Allows software
pipelining
/// implementations to query attributes of the loop being pipelined.
class PipelinerLoopInfo {
public:
   virtual ~PipelinerLoopInfo();
   /// Return true if the given instruction should not be pipelined and
should
   /// be ignored. An example could be a loop comparison, or induction
variable
   /// update with no users being pipelined.
   virtual bool shouldIgnoreForPipelining(const MachineInstr *MI) const
= 0;
    /// Create a condition to determine if the trip count of the loop is
greater
   /// than TC.
   ///
   /// If the trip count is statically known to be greater than TC,
return
   /// true. If the trip count is statically known to be not greater
than TC,
   /// return false. Otherwise return nullopt and fill out Cond with the
test
   /// condition.
   virtual Optional<bool>
   createTripCountGreaterCondition(int TC, MachineBasicBlock &MBB,
                                SmallVectorImpl<MachineOperand> &Cond) =
0;
    /// Modify the loop such that the trip count is
   /// OriginalTC + TripCountAdjust.
   virtual void adjustTripCount(int TripCountAdjust) = 0;
    /// Called when the loop's preheader has been modified to
NewPreheader.
   virtual void setPreheader(MachineBasicBlock *NewPreheader) = 0;
    /// Called when the loop is being removed.
   virtual void disposed() = 0;
};
The Pipeliner (ModuloSchedule.cpp) can use this object to modify the
loop while allowing the target to hold its own state across all calls.
This API, in particular the disjunction of creating a trip count check
condition and adjusting the loop, improves the code quality in
ModuloSchedule.cpp.
llvm-svn: 372463
The file was modifiedllvm/lib/CodeGen/TargetInstrInfo.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/CodeGen/ModuloSchedule.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.h
The file was modifiedllvm/lib/CodeGen/MachinePipeliner.cpp
The file was modifiedllvm/include/llvm/CodeGen/ModuloSchedule.h
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/test/CodeGen/Hexagon/swp-epilog-phi7.ll
Commit 3bb56fa4789095631074d42dc61e1c1536342f8c by aemerson
Revert "[SampleFDO] Expose an interface to return the size of a section
or the size"
This reverts commit f118852046a1d255ed8c65c6b5db320e8cea53a0.
Broke the macOS build/greendragon bots.
llvm-svn: 372464
The file was modifiedllvm/tools/llvm-profdata/llvm-profdata.cpp
The file was modifiedllvm/include/llvm/ProfileData/SampleProf.h
The file was removedllvm/test/tools/llvm-profdata/show-prof-size.test
The file was modifiedllvm/include/llvm/ProfileData/SampleProfReader.h
The file was modifiedllvm/lib/ProfileData/SampleProfReader.cpp
Commit fae979bc682bdb21a9bdf2e4170ee54afabee5c7 by aemerson
[AArch64][GlobalISel] Make <4 x s32> G_ASHR and G_LSHR legal.
llvm-svn: 372465
The file was modifiedllvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/legalize-vector-shift.mir
Commit a59a886832bd223127f5c7edf2cf729ba6857fe7 by aemerson
[AArch64][GlobalISel] Selection support for G_ASHR of <2 x s64>
Just add an extra case to the existing selection logic.
llvm-svn: 372466
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
Commit 9c7d599dec9c9b028dc56ac65e8154452fc2c77a by aemerson
[AArch64][GlobalISel] Implement selection for G_SHL of <2 x i64>
Simple continuation of existing selection support.
llvm-svn: 372467
The file was modifiedllvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-vector-shift.mir
Commit 854b0f0f0030718af4257bb0a3c7620cf10a035c by lebedev.ri
[NFC][X86] Adjust check prefixes in bmi.ll (PR43381)
llvm-svn: 372468
The file was modifiedllvm/test/CodeGen/X86/bmi.ll

Summary

  1. Remove sanitizer-aarch64-linux-mte bot. (details)
Commit 6bb7e35484f3bf593235bab263dfe0946301e2c9 by eugeni.stepanov
Remove sanitizer-aarch64-linux-mte bot.
We never did anything with it, and it looks easier to add the tests on
one of the existing x86_64 bots (via qemu).
llvm-svn: 372433
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_selector.py
The file was removedzorg/buildbot/builders/sanitizers/buildbot_mte.sh
The file was modifiedbuildbot/osuosl/master/config/builders.py