SuccessChanges

Summary

  1. [WebAssembly] Add -fwasm-exceptions for wasm EH (details)
  2. [LegalizeTypes] Remove code for softening a float type to itself. (details)
  3. [WebAssembly] Add REQUIRES to test (details)
  4. [WebAssembly] Make wasm-eh.cpp requires WebAssembly (details)
  5. [WebAssembly] Delete duplicate REQUIRES line (details)
  6. [DAGCombiner] Improve division estimation of floating points. (details)
  7. [ELF] Support -z undefs (details)
  8. [ELF] Fix a common-page-size typo (details)
  9. [PowerPC][MCP][NFC] Pre-commit test cases for (details)
  10. [InstSimplify] simplifyUnsignedRangeCheck(): handle more cases (PR43251) (details)
  11. [clang-format] Add new style option IndentGotoLabels (details)
  12. [clang-format] [PR43100] clang-format C#  support does not add a space (details)
  13. CodeGenPrep: add separate hook say when GEPs should be used for sinking. (details)
  14. AArch64: support arm64_32, an ILP32 slice for watchOS. (details)
  15. Removed dead code from DiagnosticBuilder (details)
  16. [DAGCombine] visitFDIV - Use isCheaperToUseNegatedFPOps helper for (fdiv (details)
  17. Switch "windows" to "system-windows" in some XFAILs (details)
  18. [MIPS GlobalISel] Select G_IMPLICIT_DEF (details)
  19. [MIPS GlobalISel] Lower G_DYN_STACKALLOC (details)
  20. lld-link: Make /linkrepro: take a filename, not a directory. (details)
  21. [MIPS GlobalISel] Select indirect branch (details)
  22. Removed some questionable default arguments from setters (details)
  23. lld-link: Fix tests that do not run on macOS after r371729. (details)
  24. [clang] [unittest] Import LLVMTestingSupport if necessary (details)
  25. [lldb] Remove duplicated breakpoint tests (details)
  26. [ConstProp] allow folding for fma that produces NaN (details)
  27. [NFC][InstCombine][InstSimplify] Add test for "add-of-negative is (details)
  28. [InstCombine][InstSimplify] Move constant-folding tests in (details)
  29. [lldb][NFC] Simplify makefiles also for breakpoint tests (details)
  30. [docs][llvm-strip] Remove unnecessary whitespace for consistency (details)
  31. test-release.sh: Don't use chrpath on Solaris (details)
  32. [Alignment] Move OffsetToAlignment to Alignment.h (details)
  33. [CGP] Ensure sinking multiple instructions does not invalidate dominance (details)
  34. [ELF] ICF: change a dyn_cast<InputSection> to cast (details)
  35. [LV] Support invariant addresses in speculation logic (details)
  36. [InstCombine] reduce test noise and regenerate CHECK lines; NFC (details)
  37. Precommit tests for generalization of load dereferenceability in loop (details)
  38. [MemorySSA] Pass (for update) MSSAU when hoisting instructions. (details)
  39. Don't warn about selectany on implicitly inline variables (details)
  40. [InstCombine] add tests for fptrunc; NFC (details)
  41. [clang-scan-deps] remove dots and dots dots from the reported file (details)
  42. [LICM/AST] Check if the AliasAny set is removed from the tracker. (details)
  43. [MS] Warn when shadowing template parameters under -fms-compatibility (details)
  44. Use host's executable suffix for clang when cross-compiling compiler-rt (details)
  45. llvm-reduce: Remove unused plugin support/requirements (details)
  46. [analyzer] Don't run the analyzer for -analyzer-list-enabled-checkers (details)
  47. Split many_tls_keys.cpp into two tests (details)
  48. Add getauxval() compat for NetBSD (details)
  49. NFC, add missing cl::cat option category to clang-scan-deps options to (details)
  50. [analyzer][NFC] Fix inconsistent references to checkers as "checks" (details)
  51. AMDGPU: Fix bug in r371671 on some builds. (details)
  52. Precommit tests for D67514 (details)
  53. [libc++] Mark issue 2587 resolved by issue 2567 (details)
  54. llvm-reduce: For now, mark these tests as requiring a shell (details)
  55. [CFG] Add dumps for CFGElement and CFGElementRef (details)
  56. [Clang][CodeGen] support alias attribute w/ gnu_inline (details)
  57. Improve code generation for thread_local variables: (details)
  58. [SCEV] Support SCEVUMinExpr in getRangeRef. (details)
  59. [LV] Update test case after r371768. (details)
  60. [X86] Move negateFMAOpcode helper earlier to help future patch. NFCI. (details)
  61. [SelectionDAGBuilder] Simplify loop in visitSelect back to how it was (details)
  62. Fix llvm-reduce tests so that they don't assume the source code is (details)
  63. [ClangTidy] Adjust the name getCheckName to getCheckerName due to API (details)
  64. [ConstantFolding] Expand folding of some library functions (details)
  65. [DAGCombiner][X86] Pass the CmpOpVT to reduceSelectOfFPConstantLoads so (details)
  66. [SCEV] Add smin support to getRangeRef (details)
  67. Remove a duplicate test (details)
  68. [COFF] Fix to not add archive name to buffer identifiers when they come (details)
  69. [PowerPC] Remove the SPE4RC register class and instead add f32 to the (details)
  70. [AArch64][GlobalISel] Support sibling calls with outgoing arguments (details)
  71. [analyzer] Fix the 'analyzer-enabled-checkers.c' test on non-linux (details)
  72. [Docs] Adds page for reference docs (details)
  73. [NFC] Fix file header filename to be Range.h (details)
  74. [NFC] Sort source files in Utility/CMakeLists.txt (details)
  75. Add -Wpoison-system-directories warning (details)
  76. [SDAG] Update generic code to conservatively check for isAtomic in (details)
Commit e8b2b8868d2192fefe2ddf6445e465e283c3ba2d by aheejin
[WebAssembly] Add -fwasm-exceptions for wasm EH
Summary: This adds `-fwasm-exceptions` (in similar fashion with
`-fdwarf-exceptions` or `-fsjlj-exceptions`) that turns on everything
with wasm exception handling from the frontend to the backend.
We currently have `-mexception-handling` in clang frontend, but this is
only about the architecture capability and does not turn on other
necessary options such as the exception model in the backend. (This can
be turned on with `llc -exception-model=wasm`, but llc is not invoked
separately as a command line tool, so this option has to be transferred
from clang.)
Turning on `-fwasm-exceptions` in clang also turns on
`-mexception-handling` if not specified, and will error out if
`-mno-exception-handling` is specified.
Reviewers: dschuff, tlively, sbc100
Subscribers: aprantl, jgravelle-google, sunfish, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67208
llvm-svn: 371708
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.cpp
The file was modifiedclang/test/CodeGenCXX/wasm-eh.cpp
The file was modifiedclang/test/Driver/wasm-toolchain.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/CodeGen/CGException.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit b8dd07527568e869b4ccfbd8110eef93f196b515 by craig.topper
[LegalizeTypes] Remove code for softening a float type to itself.
This was previously used to turn fp128 operations into libcalls on X86.
This is now done through op legalization after r371672.
This restores much of this code to before r254653.
llvm-svn: 371709
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
Commit c167402183aafdfb0f985979431ebafc43f59acf by dave
[WebAssembly] Add REQUIRES to test
llvm-svn: 371710
The file was modifiedclang/test/CodeGenCXX/wasm-eh.cpp
Commit c4712fda7c6c27fae1ce2a1b0cc28ecbbdf5f53a by aheejin
[WebAssembly] Make wasm-eh.cpp requires WebAssembly
D67208 added a new test line to wasm-eh.cpp that invokes the LLVM
backend and this test fails on bots that don't have WebAssembly target.
This makes wasm-eh.cpp explicitly require WebAssembly so this will be
skipped on those targets.
llvm-svn: 371711
The file was modifiedclang/test/CodeGenCXX/wasm-eh.cpp
Commit 75f65fe8d316407c5dd7cd9bfdfc760203947aa1 by aheejin
[WebAssembly] Delete duplicate REQUIRES line
r371710 and r371711 committed the same line, so this deletes one of
them.
llvm-svn: 371712
The file was modifiedclang/test/CodeGenCXX/wasm-eh.cpp
Commit b7fb5d0f6f2abf07f0ce6edc3397b4c291c1d25e by qiucofan
[DAGCombiner] Improve division estimation of floating points.
Current implementation of estimating divisions loses precision since it
estimates reciprocal first and does multiplication.  This patch is to
re-order arithmetic operations in the last iteration in DAGCombiner to
improve the accuracy.
Reviewed By: Sanjay Patel, Jinsong Ji
Differential Revision: https://reviews.llvm.org/D66050
llvm-svn: 371713
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/rsq.ll
The file was modifiedllvm/test/CodeGen/PowerPC/qpx-recipest.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/fdiv.ll
The file was modifiedllvm/test/CodeGen/PowerPC/recipest.ll
The file was modifiedllvm/test/CodeGen/X86/recip-fastmath.ll
The file was modifiedllvm/test/CodeGen/X86/recip-fastmath2.ll
Commit 60ff4dd9cd8a5052067b2dee1fc68bfba1f695cc by maskray
[ELF] Support -z undefs
-z undefs is the inverse of -z defs. It allows unresolved references
from object files. This can be used to cancel --no-undefined or -z defs.
Reviewed By: ruiu
Differential Revision: https://reviews.llvm.org/D67479
llvm-svn: 371715
The file was modifiedlld/test/ELF/zdefs.s
The file was modifiedlld/ELF/Driver.cpp
Commit 786ce3fbd625710c93c7b967cf561d294f3786c9 by maskray
[ELF] Fix a common-page-size typo
llvm-svn: 371716
The file was modifiedlld/ELF/Driver.cpp
Commit cfaf2b6cfa24057856ce4689d4b00388586c9103 by lkail
[PowerPC][MCP][NFC] Pre-commit test cases for
https://reviews.llvm.org/D65267
llvm-svn: 371717
The file was addedllvm/test/CodeGen/MIR/PowerPC/machine-backward-cp.mir
Commit f1286621eb9672c07a67075624f97310eadd2632 by lebedev.ri
[InstSimplify] simplifyUnsignedRangeCheck(): handle more cases (PR43251)
Summary: I don't have a direct motivational case for this, but it would
be good to have this for completeness/symmetry.
This pattern is basically the motivational pattern from
https://bugs.llvm.org/show_bug.cgi?id=43251 but with different predicate
that requires that the offset is non-zero.
The completeness bit comes from the fact that a similar pattern (offset
!= zero) will be needed for https://bugs.llvm.org/show_bug.cgi?id=43259,
so it'd seem to be good to not overlook very similar patterns..
Proofs: https://rise4fun.com/Alive/21b
Also, there is something odd with `isKnownNonZero()`, if the non-zero
knowledge was specified as an assumption, it didn't pick it up (PR43267)
Reviewers: spatel, nikic, xbolva00
Reviewed By: spatel
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67411
llvm-svn: 371718
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/result-of-usub-by-nonzero-is-non-zero-and-no-overflow.ll
Commit 3867a2d51076494a19c02a2d5c4e4167bd6cbe0e by mydeveloperday
[clang-format] Add new style option IndentGotoLabels
Summary: This option determines whether goto labels are indented
according to scope. Setting this option to false causes goto labels to
be flushed to the left. This is mostly copied from [[
http://lists.llvm.org/pipermail/cfe-dev/2015-September/045014.html |
this patch ]] submitted by Christian Neukirchen that didn't make its way
into trunk.
```
    true:                                  false:
    int f() {                      vs.     int f() {
      if (foo()) {                           if (foo()) {
      label1:                              label1:
        bar();                                 bar();
      }                                      }
    label2:                                label2:
      return 1;                              return 1;
    }                                      }
```
Reviewers: klimek, MyDeveloperDay
Reviewed By: MyDeveloperDay
Subscribers: cfe-commits
Tags: #clang, #clang-tools-extra
Patch by: tetsuo-cpp
Differential Revision: https://reviews.llvm.org/D67037
llvm-svn: 371719
The file was modifiedclang/lib/Format/UnwrappedLineParser.cpp
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/UnwrappedLineParser.h
The file was modifiedclang/lib/Format/Format.cpp
The file was modifiedclang/docs/ClangFormatStyleOptions.rst
The file was modifiedclang/include/clang/Format/Format.h
Commit 719087bbb775d49f6f4c3f923bb3282b66e588ce by mydeveloperday
[clang-format] [PR43100] clang-format C#  support does not add a space
between "using" and paren
Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=43100
Formatting using statement in C# with clang-format removes the space
between using and paren even when SpaceBeforeParens is !
``` using(FileStream fs = new FileStream(path, FileMode.Open,
FileAccess.Read, FileShare.Read, bufferSize : 1))
```
this change simply overcomes this for when using C# settings in the
.clang-format file
``` using (FileStream fs = new FileStream(path, FileMode.Open,
FileAccess.Read, FileShare.Read, bufferSize : 1))
```
All FormatTests pass..
```
[==========] 688 tests from 21 test cases ran. (88508 ms total)
[  PASSED  ] 688 tests.
```
Reviewers: djasper, klimek, owenpan
Reviewed By: owenpan
Subscribers: llvm-commits, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D66662
llvm-svn: 371720
The file was modifiedclang/lib/Format/TokenAnnotator.cpp
The file was modifiedclang/unittests/Format/FormatTestCSharp.cpp
Commit 98534843fb4c14ebe8022143cdcfc2a4ea8d2d02 by Tim Northover
CodeGenPrep: add separate hook say when GEPs should be used for sinking.
NFCI.
Up to now, we've decided whether to sink address calculations using GEPs
or normal arithmetic based on the useAA hook, but there are other
reasons GEPs might be preferred. So this patch splits the two questions,
with a default implementation falling back to useAA.
llvm-svn: 371721
The file was modifiedllvm/include/llvm/CodeGen/TargetSubtargetInfo.h
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit f1c28929125400a1680868f7c6eea720de256779 by Tim Northover
AArch64: support arm64_32, an ILP32 slice for watchOS.
This is the main CodeGen patch to support the arm64_32 watchOS ABI in
LLVM. FastISel is mostly disabled for now since it would generate
incorrect code for ILP32.
llvm-svn: 371722
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/test/CodeGen/AArch64/umulo-128-legalisation-lowering.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.td
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
The file was modifiedllvm/test/CodeGen/AArch64/tail-call.ll
The file was addedllvm/test/CodeGen/AArch64/arm64_32-pointer-extend.ll
The file was modifiedllvm/test/CodeGen/AArch64/swifterror.ll
The file was addedllvm/test/MC/AArch64/arm64_32-compact-unwind.s
The file was modifiedllvm/test/CodeGen/AArch64/arm64-collect-loh-garbage-crash.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-collect-loh.ll
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64_32-va.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-collect-loh-str.ll
The file was modifiedllvm/test/CodeGen/AArch64/sibling-call.ll
The file was modifiedllvm/include/llvm/Target/TargetCallingConv.td
The file was modifiedllvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
The file was modifiedllvm/test/CodeGen/AArch64/swift-return.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64_32-tls.ll
The file was modifiedllvm/include/llvm/CodeGen/CallingConvLower.h
The file was addedllvm/test/CodeGen/AArch64/arm64_32-gep-sink.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64CallingConvention.h
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/lib/Target/AArch64/AArch64FastISel.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64_32-memcpy.ll
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64_32-stack-pointers.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/lib/LTO/LTOModule.cpp
The file was modifiedllvm/utils/TableGen/CallingConvEmitter.cpp
The file was modifiedllvm/test/CodeGen/AArch64/fastcc.ll
The file was addedllvm/test/CodeGen/AArch64/jump-table-32.ll
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/fastcc-reserved.ll
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64_32-frame-pointers.ll
The file was addedllvm/test/CodeGen/AArch64/arm64_32-atomics.ll
The file was modifiedllvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
The file was modifiedllvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-indexed-memory.ll
The file was modifiedllvm/lib/LTO/LTOCodeGenerator.cpp
The file was modifiedllvm/test/CodeGen/AArch64/arm64-aapcs.ll
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringBase.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64_32-null.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CollectLOH.cpp
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was addedllvm/test/CodeGen/AArch64/arm64_32-neon.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/swiftself.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-stacksave.ll
The file was addedllvm/test/CodeGen/AArch64/arm64_32-fastisel.ll
The file was addedllvm/test/CodeGen/AArch64/arm64_32.ll
The file was modifiedllvm/test/CodeGen/AArch64/win64_vararg.ll
The file was addedllvm/test/CodeGen/AArch64/arm64_32-addrs.ll
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/swiftcc.ll
Commit f2cb4a1842a149b68a94a6c25cbba01987702da7 by gribozavr
Removed dead code from DiagnosticBuilder
llvm-svn: 371723
The file was modifiedclang/include/clang/Basic/Diagnostic.h
Commit da59a6bf7db11e1b207e1f9bd233d87f9a84dda1 by llvm-dev
[DAGCombine] visitFDIV - Use isCheaperToUseNegatedFPOps helper for (fdiv
(fneg X), (fneg Y)) -> (fdiv X, Y). NFCI.
Minor cleanup to use equivalent helper code.
llvm-svn: 371724
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit 0c1e0d52c2e205ff38761af7d6817e0cc8145179 by jeremy.morse.llvm
Switch "windows" to "system-windows" in some XFAILs
The test failure mode appears to be due to the host machine rather than
the target. The PS4 buildbots are windows-hosted targeting
x86_64-scei-ps4, and are currently reporting these as unexpected
failures:

http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/28114
llvm-svn: 371726
The file was modifiedclang/test/Modules/framework-public-includes-private.m
The file was modifiedclang/test/VFS/subframework-symlink.m
The file was modifiedclang/test/VFS/vfsroot-include.c
The file was modifiedclang/test/VFS/external-names.c
The file was modifiedclang/test/VFS/vfsroot-module.m
The file was modifiedclang/test/VFS/relative-path.c
The file was modifiedclang/test/VFS/incomplete-umbrella.m
The file was modifiedclang/test/VFS/vfsroot-with-overlay.c
The file was modifiedclang/test/VFS/umbrella-framework-import-skipnonexist.m
The file was modifiedclang/test/VFS/framework-import.m
The file was modifiedclang/test/VFS/include-real-from-virtual.c
The file was modifiedclang/test/VFS/include-mixed-real-and-virtual.c
The file was modifiedclang/test/VFS/include-virtual-from-real.c
The file was modifiedclang/test/Index/index-module-with-vfs.m
The file was modifiedclang/test/VFS/real-path-found-first.m
The file was modifiedclang/test/Modules/double-quotes.m
The file was modifiedclang/test/VFS/implicit-include.c
The file was modifiedclang/test/VFS/include.c
The file was modifiedclang/test/VFS/module-import.m
Commit 75e43a607c8bfbb33cc56b74bbe6becd2021731a by petar.avramovic
[MIPS GlobalISel] Select G_IMPLICIT_DEF
G_IMPLICIT_DEF is used for both integer and floating point implicit-def.
Handle G_IMPLICIT_DEF as ambiguous opcode in MipsRegisterBankInfo.
Select G_IMPLICIT_DEF for MIPS32.
Differential Revision: https://reviews.llvm.org/D67439
llvm-svn: 371727
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was modifiedllvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
The file was addedllvm/test/CodeGen/Mips/GlobalISel/instruction-select/implicit_def.mir
The file was addedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/implicit_def.ll
The file was modifiedllvm/lib/Target/Mips/MipsInstructionSelector.cpp
The file was addedllvm/test/CodeGen/Mips/GlobalISel/regbankselect/implicit_def.mir
The file was addedllvm/test/CodeGen/Mips/GlobalISel/legalizer/implicit_def.mir
Commit 646e1f7b7fa3b4f5aded87555bb85721a7138e40 by petar.avramovic
[MIPS GlobalISel] Lower G_DYN_STACKALLOC
IRTranslator creates G_DYN_STACKALLOC instruction during expansion of
alloca when argument that tells number of elements to allocate on stack
is a virtual register. Use default lowering for MIPS32.
Differential Revision: https://reviews.llvm.org/D67440
llvm-svn: 371728
The file was addedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/dyn_stackalloc.ll
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
The file was addedllvm/test/CodeGen/Mips/GlobalISel/legalizer/dyn_stackalloc.mir
Commit 3c44d595be1e6c7c453be1a9cc0221d5e7e380ff by nicolasweber
lld-link: Make /linkrepro: take a filename, not a directory.
This makes lld-link behave like ld.lld. I don't see a reason for the two
drivers to have different behavior here.
While here, also make lld-link add a version.txt to the tar, like ld.lld
does.
Differential Revision: https://reviews.llvm.org/D67461
llvm-svn: 371729
The file was modifiedlld/COFF/Driver.cpp
The file was modifiedlld/test/COFF/linkrepro.test
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedlld/test/COFF/linkrepro-res.test
Commit ff6ac1eb5f304ab2b690cf24509680fd62cdf743 by petar.avramovic
[MIPS GlobalISel] Select indirect branch
Select G_BRINDIRECT for MIPS32.
Differential Revision: https://reviews.llvm.org/D67441
llvm-svn: 371730
The file was modifiedllvm/lib/Target/Mips/MipsInstructionSelector.cpp
The file was addedllvm/test/CodeGen/Mips/GlobalISel/instruction-select/brindirect.mir
The file was addedllvm/test/CodeGen/Mips/GlobalISel/legalizer/brindirect.mir
The file was addedllvm/test/CodeGen/Mips/GlobalISel/regbankselect/brindirect.mir
The file was addedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/brindirect.ll
The file was modifiedllvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
The file was modifiedllvm/lib/Target/Mips/MipsLegalizerInfo.cpp
Commit 20f45ed6990458b8cc96fe2101fbbb7f90037dd7 by gribozavr
Removed some questionable default arguments from setters
Summary: They can be confusing -- what does it mean to call a setter
without a value? Also, some setters, like `setPrintTemplateTree` had
`false` as the default value!
The callers are largely not using these default arguments anyway.
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67491
llvm-svn: 371731
The file was modifiedclang/lib/ARCMigrate/ARCMT.cpp
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/lib/Frontend/FrontendActions.cpp
The file was modifiedclang/include/clang/Basic/Diagnostic.h
Commit d0c800489044f33694954e8537e1e40e39e45264 by nicolasweber
lld-link: Fix tests that do not run on macOS after r371729.
llvm-svn: 371732
The file was modifiedlld/test/COFF/linkrepro-pdb.test
The file was modifiedlld/test/COFF/linkrepro-manifest.test
Commit bfb5b0cb86cf90d9fa794f873644aa642b652c43 by mgorny
[clang] [unittest] Import LLVMTestingSupport if necessary
Add LLVMTestingSupport directory from LLVM_MAIN_SRC_DIR when building
clang stand-alone and LLVMTestingSupport library is not present.  This
is needed to fix stand-alone builds without clang-tools-extra.
Differential Revision: https://reviews.llvm.org/D67452
llvm-svn: 371733
The file was modifiedclang/unittests/CMakeLists.txt
Commit 03a111dc46456ca6c397a801da0c8f0c22ffc39e by Raphael Isemann
[lldb] Remove duplicated breakpoint tests
After reverting the deletion of the functionalities/breakpoint tests, we
now have some tests twice in the test/ folder which breaks dotest:
* commands/breakpoint/basic
* functionalities/breakpoint/breakpoint_command
After looking over these tests, I think it makes sense to only keep the
original functionalities/ folder. The commands/breakpoint/basic test are
not exclusively testing the breakpoint command itself, so they shouldn't
be in commands/ in the first place. Note that these folders have
identical contents (beside small adjustments regarding the Makefile
which landed after the restructuring).
llvm-svn: 371734
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/TestBreakpointCommandsFromPython.py
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/side_effect.py
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/Makefile
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/b.c
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/TestBreakpointCommand.py
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/a.c
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/bktptcmd.py
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/main.c
The file was removedlldb/packages/Python/lldbsuite/test/commands/breakpoint/basic/TestRegexpBreakCommand.py
Commit 3f5a8083650339336d2431c3376196cdf10e6418 by spatel
[ConstProp] allow folding for fma that produces NaN
Folding for fma/fmuladd was added here: rL202914
...and as seen in existing/unchanged tests, that works to propagate NaN
if it's already an input, but we should fold an fma() that creates NaN
too.
From IEEE-754-2008 7.2 "Invalid Operation", there are 2 clauses that
apply to fma, so I added tests for those patterns:
  c) fusedMultiplyAdd: fusedMultiplyAdd(0, ∞, c) or fusedMultiplyAdd(∞,
0, c)
    unless c is a quiet NaN; if c is a quiet NaN then it is
implementation
    defined whether the invalid operation exception is signaled
d) addition or subtraction or fusedMultiplyAdd: magnitude subtraction
of
    infinities, such as: addition(+∞, −∞)
Differential Revision: https://reviews.llvm.org/D67446
llvm-svn: 371735
The file was modifiedllvm/include/llvm/ADT/APFloat.h
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was modifiedllvm/test/Transforms/ConstProp/fma.ll
Commit b3e0937f0a10ea6666f3fb2b3df92119d1f7d987 by lebedev.ri
[NFC][InstCombine][InstSimplify] Add test for "add-of-negative is
non-zero and no overflow" (PR43259)
https://rise4fun.com/Alive/ska https://rise4fun.com/Alive/9iX
https://bugs.llvm.org/show_bug.cgi?id=43259
llvm-svn: 371736
The file was addedllvm/test/Transforms/InstSimplify/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
The file was addedllvm/test/Transforms/InstCombine/result-of-add-of-negative-is-non-zero-and-no-underflow.ll
Commit 80a8a857583a413566f0c7b0726081d54dc7e620 by lebedev.ri
[InstCombine][InstSimplify] Move constant-folding tests in
result-of-usub-is-non-zero-and-no-overflow.ll
llvm-svn: 371737
The file was addedllvm/test/Transforms/InstSimplify/result-of-usub-is-non-zero-and-no-overflow.ll
The file was modifiedllvm/test/Transforms/InstCombine/result-of-usub-is-non-zero-and-no-overflow.ll
Commit d23fab09a2dd620f001dc34a1a46c0b1ce473ee3 by Raphael Isemann
[lldb][NFC] Simplify makefiles also for breakpoint tests
These tests were temporarily missing when the big Makefile
simplification patch landed, so this just applies the same change to
these tests.
llvm-svn: 371738
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/debugbreak/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/hardware_breakpoints/hardware_breakpoint_on_multiple_threads/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/objc/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_command/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/comp_dir_symlink/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_by_line_and_column/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/step_over_breakpoint/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/inlined_breakpoints/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_locations/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_conditions/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_in_delayslot/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/dummy_target_breakpoints/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_options/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_ids/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_hit_count/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_ignore_count/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/scripted_bkpt/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/cpp_exception/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/cpp/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/move_nearest/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/global_constructor/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_set_restart/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/consecutive_breakpoints/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/source_regexp/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/address_breakpoints/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_language/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/auto_continue/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_names/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/require_hw_breakpoints/Makefile
The file was modifiedlldb/packages/Python/lldbsuite/test/functionalities/breakpoint/serialize/Makefile
Commit f145456fc4a4a9938630daab41969da2be8208db by jh7370
[docs][llvm-strip] Remove unnecessary whitespace for consistency
llvm-svn: 371739
The file was modifiedllvm/docs/CommandGuide/llvm-strip.rst
Commit 0866dbfa1a8b36db16f58d1bd60688474d1b9474 by ro
test-release.sh: Don't use chrpath on Solaris
When trying to run test-release.sh on Solaris 11.4 for 9.0.0 rc4, I
failed initially because Solaris lacks chrpath.  This patch accounts for
that and allowed the run to continue.
Tested on amd64-pc-solaris2.11 and sparcv9-sun-solaris2.11.
Differential Revision: https://reviews.llvm.org/D67484
llvm-svn: 371741
The file was modifiedllvm/utils/release/test-release.sh
Commit af11cc7eb5da320066d88a8f6d015e6296f0da25 by gchatelet
[Alignment] Move OffsetToAlignment to Alignment.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, JDevlieghere, alexshap, rupprecht, jhenderson
Subscribers: sdardis, nemanjai, hiraditya, kbarton, jakehehrlich,
jrtc27, MaskRay, atanasyan, jsji, seiya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D67499
llvm-svn: 371742
The file was modifiedllvm/lib/CodeGen/BranchRelaxation.cpp
The file was modifiedllvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
The file was modifiedllvm/lib/Target/ARM/ARMConstantIslandPass.cpp
The file was modifiedllvm/lib/Target/Mips/MipsConstantIslandPass.cpp
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp
The file was modifiedllvm/lib/MC/MCAssembler.cpp
The file was modifiedllvm/tools/dsymutil/DwarfStreamer.cpp
The file was modifiedllvm/tools/llvm-cov/TestingSupport.cpp
The file was modifiedllvm/include/llvm/Support/Alignment.h
The file was modifiedllvm/lib/MC/ELFObjectWriter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCBranchSelector.cpp
The file was modifiedllvm/lib/Object/ArchiveWriter.cpp
The file was modifiedllvm/include/llvm/Support/OnDiskHashTable.h
The file was modifiedllvm/lib/MC/MachObjectWriter.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSERegisterInfo.cpp
The file was modifiedllvm/include/llvm/Support/MathExtras.h
The file was modifiedclang/lib/AST/DeclBase.cpp
Commit a6e944b1731107c647df7aa2c9b026d6a9818c90 by david.green
[CGP] Ensure sinking multiple instructions does not invalidate dominance
checks
In MVE, as of rL371218, we are attempting to sink chains of instructions
such as:
%l1 = insertelement <8 x i8> undef, i8 %l0, i32 0
%broadcast.splat26 = shufflevector <8 x i8> %l1, <8 x i8> undef, <8 x
i32> zeroinitializer In certain situations though, we can end up
breaking the dominance relations of instructions. This happens when we
sink the instruction into a loop, but cannot remove the originals. The
Use is updated, which might in fact be a Use from the second instruction
to the first.
This attempts to fix that by reversing the order of instruction that are
sunk, and ensuring that we update the uses on new instructions if they
have already been sunk, not the old ones.
Differential Revision: https://reviews.llvm.org/D67366
llvm-svn: 371743
The file was modifiedllvm/test/Transforms/CodeGenPrepare/ARM/sink-add-mul-shufflevector.ll
The file was addedllvm/test/Transforms/CodeGenPrepare/ARM/sinkchain.ll
The file was modifiedllvm/lib/CodeGen/CodeGenPrepare.cpp
Commit 2ad25a4aeeae6e070c9cb56cc15e82ba6e2231af by maskray
[ELF] ICF: change a dyn_cast<InputSection> to cast
ICF is performed after EhInputSections and MergeInputSections were
eliminated from inputSections. Every element of inputSections is an
InputSection.
llvm-svn: 371744
The file was modifiedlld/ELF/ICF.cpp
Commit b90f94f42e3286017066e13c89cd57be9743a0cd by listmail
[LV] Support invariant addresses in speculation logic
Implement a TODO from rL371452, and handle loop invariant addresses in
predicated blocks. If we can prove that the load is safe to speculate
into the header, then we can avoid using a masked.load in favour of a
normal load.
This is mostly about vectorization robustness. In the common case, it's
generally expected that LICM/LoadStorePromotion would have eliminated
such loads entirely.
Differential Revision: https://reviews.llvm.org/D67372
llvm-svn: 371745
The file was modifiedllvm/lib/Analysis/Loads.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
Commit 62ad62fb98ecf4565ee5b3ade627ca24b473767a by spatel
[InstCombine] reduce test noise and regenerate CHECK lines; NFC
llvm-svn: 371746
The file was modifiedllvm/test/Transforms/InstCombine/fpextend.ll
Commit e0cab70718115cf64e53f79245710b702b954902 by listmail
Precommit tests for generalization of load dereferenceability in loop
llvm-svn: 371747
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
Commit 6943472d45aa4eda7392ee312d68d9cf2fc55f9f by asbirlea
[MemorySSA] Pass (for update) MSSAU when hoisting instructions.
Summary: Pass MSSAU to makeLoopInvariant in order to properly update
MSSA.
Reviewers: george.burgess.iv
Subscribers: Prazek, sanjoy.google, uabelho, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67470
llvm-svn: 371748
The file was addedllvm/test/Analysis/MemorySSA/loop-unswitch.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnswitch.cpp
Commit b00a49d1b3a146b02d2277a463ef7618a9c29806 by rnk
Don't warn about selectany on implicitly inline variables
Summary: This avoids a -Wignored-attribute warning on the code pattern
Microsoft recommends for integral const static data members defined in
headers here:
https://docs.microsoft.com/en-us/cpp/build/reference/microsoft-extensions-to-c-and-cpp?view=vs-2019
The attribute is redundant, but it is necessary when compiling in C++14
modes with /Za, which disables MSVC's extension that treats such
variables as implicitly inline.
Fixes PR43270
Reviewers: epastor, thakis, hans
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67426
llvm-svn: 371749
The file was addedclang/test/SemaCXX/declspec-selectany.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 458c2759b184dcfc60c1c217061d926c3f7ba305 by spatel
[InstCombine] add tests for fptrunc; NFC
llvm-svn: 371750
The file was addedllvm/test/Transforms/InstCombine/fptrunc.ll
Commit 57a014d31fb2e731867623d355e98801596814f8 by Alex Lorenz
[clang-scan-deps] remove dots and dots dots from the reported file
dependency paths
This resolves differences observed on LLVM + Clang when running the
comparison between canonical dependencies (full preprocessing, no file
manager reused), and dependencies obtained when the file manager was
reused between the full preprocessing invocations.
llvm-svn: 371751
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was modifiedclang/test/ClangScanDeps/Inputs/subframework_header_dir_symlink_cdb.json
Commit 18f5204db4a9d5df3cb89833de4805a78f5034ee by asbirlea
[LICM/AST] Check if the AliasAny set is removed from the tracker.
Summary: Resolves PR38513. Credit to @bjope for debugging this.
Reviewers: hfinkel, uabelho, bjope
Subscribers: sanjoy.google, bjope, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67417
llvm-svn: 371752
The file was modifiedllvm/lib/Analysis/AliasSetTracker.cpp
The file was addedllvm/test/Transforms/LICM/pr38513.ll
Commit b6a8152b8bf7dc7b56e2953575037281af3d9133 by rnk
[MS] Warn when shadowing template parameters under -fms-compatibility
Summary: C++ does not allow shadowing template parameters, but
previously we allowed it under -fms-extensions. Now this behavior is
controlled by
-fms-compatibility, and we emit a -Wmicrosoft-template warning when it
happens.
Fixes PR43265
Reviewers: thakis, hans
Subscribers: amccarth, rsmith, STL_MSFT, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67463
llvm-svn: 371753
The file was modifiedclang/test/SemaCXX/MicrosoftCompatibility.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/test/Parser/DelayedTemplateParsing.cpp
Commit 0e88ebe11d930a2c8c1433ffbf0e345b0fb7bef7 by rnk
Use host's executable suffix for clang when cross-compiling compiler-rt
When cross-compiling compiler-rt as part of LLVM e. g. for Linux on a
Windows host and using the just-built clang as cross-compiler, we set
the -DBUILTINS_CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Linux" flag in top-level
cmake invocation, which causes CMAKE_EXECUTABLE_SUFFIX to be an empty
string in the nested cmake invocation for building builtins.
But the compiler for compiling test cases is meant to be run on host,
therefore it may have the '.exe' suffix.
Handle this by asking cmake about the host system.
Patch by Sergej Jaskiewicz <jaskiewiczs@icloud.com>
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D67401
llvm-svn: 371754
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
Commit 890f17c256e68f1dddece62c238d43cdfdb84a37 by dblaikie
llvm-reduce: Remove unused plugin support/requirements
llvm-svn: 371755
The file was modifiedllvm/test/Reduce/remove-metadata.ll
The file was modifiedllvm/test/Reduce/remove-funcs.ll
The file was modifiedllvm/test/Reduce/remove-global-vars.ll
The file was modifiedllvm/tools/llvm-reduce/CMakeLists.txt
The file was modifiedllvm/test/Reduce/remove-args.ll
Commit d977b67ed617f4c1f7e0d1450f3d0adc41cb07b4 by kristof.umann
[analyzer] Don't run the analyzer for -analyzer-list-enabled-checkers
Short and sweet. Whenever I use -analyzer-list-enabled-checkers, I'm
only interested about the configuration, not about the analysis.
Differential Revision: https://reviews.llvm.org/D66714
llvm-svn: 371756
The file was modifiedclang/test/Analysis/analyzer-enabled-checkers.c
The file was modifiedclang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Commit d2e0f207aa5325a27aeb301e5d13e02809e0c26e by n54
Split many_tls_keys.cpp into two tests
Summary: many_tls_keys_pthread.cpp for TSD many_tls_keys_thread.cpp for
TLS
The TSD test is unsupported on NetBSD as it assumes TLS used internally.
TSD on NetBSD does not use TLS.
Reviewers: joerg, vitalybuka, mgorny, dvyukov, kcc
Reviewed By: vitalybuka
Subscribers: jfb, llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67428
llvm-svn: 371757
The file was addedcompiler-rt/test/lsan/TestCases/many_tls_keys_pthread.cpp
The file was removedcompiler-rt/test/lsan/TestCases/many_tls_keys.cpp
The file was addedcompiler-rt/test/lsan/TestCases/many_tls_keys_thread.cpp
Commit 02519fc7a6f8c528f67975a9f78ce64dabf402b4 by n54
Add getauxval() compat for NetBSD
Summary: getauxval() is not available on NetBSD and there is no a direct
equivalent.
Add a function that implements the same semantics with NetBSD internals.
Reorder the GetPageSize() functions to prefer the sysctl approach for
NetBSD. It no longer makes a difference which approach is better. Avoid
changing conditional code path.
Reviewers: vitalybuka, dvyukov, mgorny, joerg
Reviewed By: vitalybuka
Subscribers: llvm-commits, #sanitizers
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D67329
llvm-svn: 371758
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_getauxval.h
Commit 456bfdf5154b05b3b7aefbe8bd360d673feb6a82 by Alex Lorenz
NFC, add missing cl::cat option category to clang-scan-deps options to
ensure they show up in -help
llvm-svn: 371759
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
Commit 72649423c043341c770516cd73aecde281730260 by kristof.umann
[analyzer][NFC] Fix inconsistent references to checkers as "checks"
Traditionally, clang-tidy uses the term check, and the analyzer uses
checker, but in the very early years, this wasn't the case, and code
originating from the early 2010's still incorrectly refer to checkers as
checks.
This patch attempts to hunt down most of these, aiming to refer to
checkers as checkers, but preserve references to callback functions
(like checkPreCall) as checks.
Differential Revision: https://reviews.llvm.org/D67140
llvm-svn: 371760
The file was modifiedclang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/CheckerManager.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
The file was modifiedclang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
The file was modifiedclang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/Checker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Core/CheckerManager.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
The file was modifiedclang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
The file was modifiedclang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
The file was modifiedclang/include/clang/StaticAnalyzer/Core/Checker.h
The file was modifiedclang/include/clang/Analysis/PathDiagnostic.h
The file was modifiedclang/lib/StaticAnalyzer/Core/BugReporter.cpp
The file was modifiedclang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
The file was modifiedclang/lib/Analysis/PathDiagnostic.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
Commit cf321f48be944f3e17c28e46638a0c9f101dbb8a by Austin.Kerbow
AMDGPU: Fix bug in r371671 on some builds.
llvm-svn: 371761
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
Commit a3d27375205ad7d3d31bb440deb474d94e8f125c by listmail
Precommit tests for D67514
llvm-svn: 371762
The file was addedllvm/test/Analysis/ScalarEvolution/trip-count15.ll
Commit 31a1ea17729e830deaaef3d44f8469e31c89b7af by z.zoelec2
[libc++] Mark issue 2587 resolved by issue 2567
Updates status. NFC.
llvm-svn: 371763
The file was modifiedlibcxx/www/cxx1z_status.html
Commit 6be90ac788a539d63e3d7e99945ca305a0e8a953 by dblaikie
llvm-reduce: For now, mark these tests as requiring a shell
(since they execute shell scripts/that's the only entry point at the
moment)
llvm-svn: 371764
The file was modifiedllvm/test/Reduce/remove-funcs.ll
The file was modifiedllvm/test/Reduce/remove-metadata.ll
The file was modifiedllvm/test/Reduce/remove-args.ll
The file was modifiedllvm/test/Reduce/remove-global-vars.ll
Commit f174670efaa3cc20faf5ba8e40ceab7cee8f0f24 by kristof.umann
[CFG] Add dumps for CFGElement and CFGElementRef
Seems like we never had these, so here we go! I also did some
refactoring as I was chasing a bug unrelated to this revision.
Differential Revision: https://reviews.llvm.org/D66715
llvm-svn: 371765
The file was modifiedclang/include/clang/Analysis/CFG.h
The file was modifiedclang/lib/Analysis/CFG.cpp
Commit 5806022904bc447525a02cff796c9bbbd02b0444 by ndesaulniers
[Clang][CodeGen] support alias attribute w/ gnu_inline
Summary: r369705 did not consider the addition of gnu_inline on function
declarations of alias attributed functions. This resulted in a reported
regression in the clang-9-rc4 release from the Zig developers building
glibc, which was observable as a failed assertion:
llvm-project/clang/lib/AST/Decl.cpp:3336: bool
clang::FunctionDecl::isInlineDefinitionExternallyVisible() const:
Assertion `(doesThisDeclarationHaveABody() || willHaveBody()) && "Must
be a function definition"' failed.
Alias function declarations do not have bodies, so allow us to proceed
if we have the alias function attribute but no body/definition, and add
a test case.  The emitted symbols and their linkage matches GCC for the
added test case.
Link: https://bugs.llvm.org/show_bug.cgi?id=43268
Reviewers: aaron.ballman, rsmith, erichkeane, andrewrk
Reviewed By: andrewrk
Subscribers: cfe-commits, andrewrk, hans, srhines
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67455
llvm-svn: 371766
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/test/CodeGen/alias.c
Commit 00223827a952f66e7426c9881a2a4229e59bb019 by richard-llvm
Improve code generation for thread_local variables:
Summary:
* Don't bother using a thread wrapper when the variable is known to
  have constant initialization.
* Emit the thread wrapper as discardable-if-unused in TUs that don't
  contain a definition of the thread_local variable.
* Don't emit the thread wrapper at all if the thread_local variable
  is unused and discardable; it will be emitted by all TUs that need
  it.
Reviewers: rjmccall, jdoerfert
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D67429
llvm-svn: 371767
The file was modifiedclang/include/clang/Basic/Linkage.h
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was addedclang/test/CodeGenCXX/windows-on-arm-itanium-thread-local.cpp
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was removedclang/test/CodeGen/windows-on-arm-itanium-thread-local.c
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modifiedclang/test/CodeGenCXX/tls-init-funcs.cpp
The file was modifiedclang/test/CodeGenCXX/cxx11-thread-local.cpp
The file was addedclang/test/CodeGenCXX/cxx2a-thread-local-constinit.cpp
The file was modifiedclang/lib/CodeGen/CGCXXABI.h
The file was modifiedclang/test/OpenMP/parallel_copyin_codegen.cpp
Commit a31ee3762485d0b5382c456b2320105bbb8eb1e2 by flo
[SCEV] Support SCEVUMinExpr in getRangeRef.
This patch adds support for SCEVUMinExpr to getRangeRef, similar to the
support for SCEVUMaxExpr.
Reviewers: sanjoy.google, efriedma, reames, nikic
Reviewed By: sanjoy.google
Differential Revision: https://reviews.llvm.org/D67177
llvm-svn: 371768
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count15.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-expr-cache.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 074181007791803da90d4b1b1cb855e66bf1950e by flo
[LV] Update test case after r371768.
llvm-svn: 371769
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
Commit d67661ee2406ffac94cc8da1083a3c4887d53e4f by llvm-dev
[X86] Move negateFMAOpcode helper earlier to help future patch. NFCI.
llvm-svn: 371770
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 344c398e2a0bbdaceae2f104b2e320a9ecb1a07a by craig.topper
[SelectionDAGBuilder] Simplify loop in visitSelect back to how it was
before r255558.
This code was changed to accomodate fp128 being softened to itself
during type legalization on x86-64. This was done in order to create
libcalls while having fp128 as a legal type. We're now doing the libcall
creation during LegalizeDAG and the type legalization changes to enable
the old behavior have been removed. So this change to
SelectionDAGBuilder is no longer needed.
llvm-svn: 371771
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit 396d0e1635b535397aecfc542320c98c3119b1b1 by timshen91
Fix llvm-reduce tests so that they don't assume the source code is
writable.
Instead of copying over the original file permissions, just create a new
file and add the executable bit.
llvm-svn: 371772
The file was modifiedllvm/test/Reduce/remove-metadata.ll
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/remove-args.ll
Commit 75e963ec6fae4ba36bae3c6712614847f8221754 by timshen91
[ClangTidy] Adjust the name getCheckName to getCheckerName due to API
change.
llvm-svn: 371773
The file was modifiedclang-tools-extra/clang-tidy/ClangTidy.cpp
Commit 08df6e64d5700d9469358ecfa4bdb46073116529 by e.menezes
[ConstantFolding] Expand folding of some library functions
Expanding the folding of `nearbyint()`, `rint()` and `trunc()` to
library functions, in addition to the current support for intrinsics.
Differential revision: https://reviews.llvm.org/D67468
llvm-svn: 371774
The file was addedllvm/test/Analysis/ConstantFolding/round.ll
The file was addedllvm/test/Analysis/ConstantFolding/rint.ll
The file was removedllvm/test/Transforms/InstCombine/round.ll
The file was modifiedllvm/lib/Analysis/ConstantFolding.cpp
The file was addedllvm/test/Analysis/ConstantFolding/trunc.ll
Commit efe6724b9f55b0382f97577c582306b856ff1f95 by craig.topper
[DAGCombiner][X86] Pass the CmpOpVT to reduceSelectOfFPConstantLoads so
X86 can exclude fp128 compares.
The X86 decision assumes the compare will produce a result in an XMM
register, but that can't happen for an fp128 compare since those go to a
libcall the returns an i32. Pass the VT so X86 can check the type.
llvm-svn: 371775
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/fp128-i128.ll
Commit bdf608477e9a4f5bce98b1592a968ebd9aa30285 by listmail
[SCEV] Add smin support to getRangeRef
We were failing to compute trip counts (both exact and maximum) for any
loop which involved a comparison against either an umin or smin. It
looks like this simply got missed when we added smin/umin to SCEV.
(Note: umin was submitted separately earlier today.  Turned out two
folks hit this at the same time.)
Differential Revision: https://reviews.llvm.org/D67514
llvm-svn: 371776
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count15.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was modifiedllvm/test/Transforms/IRCE/rc-negative-bound.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-expr-cache.ll
Commit 0e8d5085ac8143c249b082f58a96a1523009633c by listmail
Remove a duplicate test
Turns out I'd already added exactly the same test under the name
non_unit_stride.
llvm-svn: 371777
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
Commit 227d85956b205a60a9fa7b269854f0da0653da29 by akhuang
[COFF] Fix to not add archive name to buffer identifiers when they come
from thin archives.
Currently lld adds the archive name to MemoryBufferRef identifiers in
order to ensure they are unique. For thin archives, since the file name
is already unique and we want to keep the original path to the file,
don't add the archive name.
Differential Revision: https://reviews.llvm.org/D67295
llvm-svn: 371778
The file was modifiedlld/test/COFF/thinlto-index-only.ll
The file was modifiedlld/COFF/Driver.cpp
Commit 36e04d14e9fa34b06ddbe4f565a5560cfa3d84d6 by craig.topper
[PowerPC] Remove the SPE4RC register class and instead add f32 to the
GPRC register class.
Summary: Since the SPE4RC register class contains an identical set of
registers and an identical spill size to the GPRC class its slightly
confusing the tablegen emitter. It's preventing the GPRC_and_GPRC_NOR0
synthesized register class from inheriting VTs and AltOrders from GPRC
or GPRC_NOR0. This is because SPE4C is found first in the super register
class list when inheriting these properties and it doesn't set the VTs
or AltOrders the same way as GPRC or GPRC_NOR0.
This patch replaces all uses of GPE4RC with GPRC and allows GPRC and
GPRC_NOR0 to contain f32.
The test changes here are because the AltOrders are being inherited to
GPRC_NOR0 now.
Found while trying to determine if getCommonSubClass needs to take a VT
argument. It was originally added to support fp128 on x86-64, I've
changed some things about that so that it might be needed anymore. But a
PowerPC test crashed without it and I think its due to this subclass
issue.
Reviewers: jhibbits, nemanjai, kbarton, hfinkel
Subscribers: wuzish, nemanjai, mehdi_amini, hiraditya, kbarton, MaskRay,
dexonsmith, jsji, shchenz, steven.zhang, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67513
llvm-svn: 371779
The file was modifiedllvm/test/CodeGen/PowerPC/inc-of-add.ll
The file was modifiedllvm/test/CodeGen/PowerPC/sub-of-not.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCFrameLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCFastISel.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
Commit a42070a6aa8f32165cdce3e1ff6304c3cd0b8ff6 by Jessica Paquette
[AArch64][GlobalISel] Support sibling calls with outgoing arguments
This adds support for lowering sibling calls with outgoing arguments.
e.g
``` define void @foo(i32 %a)
```
Support is ported from AArch64ISelLowering's
`isEligibleForTailCallOptimization`. The only thing that is missing is a
full port of
`TargetLowering::parametersInCSRMatch`. So, if we're using swiftself,
we'll never tail call.
- Rename `analyzeCallResult` to `analyzeArgInfo`, since the function is
now used
for both outgoing and incoming arguments
- Teach `OutgoingArgHandler` about tail calls. Tail calls use frame
indices for
stack arguments.
- Teach `lowerFormalArguments` to set the bytes in the caller's stack
argument
area. This is used later to check if the tail call's parameters will
fit on
the caller's stack.
- Add `areCalleeOutgoingArgsTailCallable` to perform the eligibility
check on
the callee's outgoing arguments.
For testing:
- Update call-translator-tail-call to verify that we can now tail call
with
outgoing arguments, use G_FRAME_INDEX for stack arguments, and respect
the
size of the caller's stack
- Remove GISel-specific check lines from speculation-hardening.ll, since
GISel
now tail calls like the other selectors
- Add a GISel test line to tailcall-string-rvo.ll since we can tail call
in that
test now
- Add a GISel test line to tailcall_misched_graph.ll since we tail call
there
now. Add specific check lines for GISel, since the debug output from
the
machine-scheduler differs with GlobalISel. The dependency still holds,
but
the output comes out in a different order.
Differential Revision: https://reviews.llvm.org/D67471
llvm-svn: 371780
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/call-translator-tail-call.ll
The file was modifiedllvm/test/CodeGen/AArch64/speculation-hardening.ll
The file was modifiedllvm/test/CodeGen/AArch64/tailcall-string-rvo.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/CallLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
The file was modifiedllvm/lib/Target/AArch64/AArch64CallLowering.h
The file was modifiedllvm/test/CodeGen/AArch64/tailcall_misched_graph.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-call-tailcalls.ll
Commit 851e95c1c12a1689bc7fe32c4737743bea3fc4ab by Artem Dergachev
[analyzer] Fix the 'analyzer-enabled-checkers.c' test on non-linux
machines.
'-Xclang -triple' doesn't seem to override the default target triple as
reliably as '--target'. This leads to test failing due to
platform-specific checks getting unexpectedly enabled.
llvm-svn: 371781
The file was modifiedclang/test/Analysis/analyzer-enabled-checkers.c
Commit 3b6d9c0babf0cdcf1fd783817ec19c60918ce27d by d4m1887
[Docs] Adds page for reference docs
Adds a Reference Documentation page for LLVM and API reference
documentation.
llvm-svn: 371782
The file was modifiedllvm/docs/index.rst
The file was modifiedllvm/docs/UserGuides.rst
The file was addedllvm/docs/ReferenceDocumentation.rst
Commit d44d9e8cda0c4230ab7e52e06e7773aa8f8b9206 by clayborg
[NFC] Fix file header filename to be Range.h
llvm-svn: 371783
The file was modifiedllvm/include/llvm/DebugInfo/GSYM/Range.h
Commit decff073ee413dbc39a13b45592897b77e87552f by Jonas Devlieghere
[NFC] Sort source files in Utility/CMakeLists.txt
llvm-svn: 371784
The file was modifiedlldb/source/Utility/CMakeLists.txt
Commit 4fe2732161905a9bd53e09336851482a96b04ce9 by manojgupta
Add -Wpoison-system-directories warning
When using clang as a cross-compiler, we should not use system headers
to do the compilation. This CL adds support of a new warning flag
-Wpoison-system-directories which emits warnings if --sysroot is set and
headers from common host system location are used. By default the
warning is disabled.
The intention of the warning is to catch bad includes which are usually
generated by third party build system not targeting cross-compilation.
Such cases happen in Chrome OS when someone imports a new package or
upgrade one to a newer version from upstream.
Patch by: denik (Denis Nikitin)
llvm-svn: 371785
The file was addedclang/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/lib/gcc/.keep
The file was addedclang/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/include/.keep
The file was modifiedclang/lib/Frontend/InitHeaderSearch.cpp
The file was addedclang/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/include/c++/.keep
The file was modifiedclang/include/clang/Basic/DiagnosticCommonKinds.td
The file was addedclang/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/lib/.keep
The file was addedclang/test/Frontend/warning-poison-system-directories.c
The file was addedclang/test/Frontend/Inputs/sysroot_x86_64_cross_linux_tree/usr/local/lib/.keep
Commit 079e2104633489e9b99c17c0c1426db11d69bb2f by listmail
[SDAG] Update generic code to conservatively check for isAtomic in
addition to isVolatile
This is the first sweep of generic code to add isAtomic bailouts where
appropriate. The intention here is to have the switch from AtomicSDNode
to LoadSDNode/StoreSDNode be close to NFC; that is, I'm not looking to
allow additional optimizations at this time. That will come later.  See
D66309 for context.
Differential Revision: https://reviews.llvm.org/D66318
llvm-svn: 371786
The file was modifiedllvm/test/CodeGen/X86/atomic-unordered.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/include/llvm/Target/TargetSelectionDAG.td
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp