FailedChanges

Changes from Git (git http://labmaster3.local/git/llvm-zorg.git)

Summary

  1. Some code cleaning for LLDBBuilder.getLLDBCMakeBuildFactory. (details)
  2. Always do a clean build on llvm-clang-x86_64-expensive-checks-win. (details)
  3. Force LIT verbose mode for some ARM builders to prevent a timeout on (details)
Commit 425eeb1bf21b7f507905f17970f667263d630a81 by gkistanova
Some code cleaning for LLDBBuilder.getLLDBCMakeBuildFactory.
The file was modifiedzorg/buildbot/builders/LLDBBuilder.py
Commit 3b78160a8bd457ad8dbe590517e1c7a965a6da31 by gkistanova
Always do a clean build on llvm-clang-x86_64-expensive-checks-win.
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit b9457163963587ab2b7e68e3807c4718a9ab85d9 by gkistanova
Force LIT verbose mode for some ARM builders to prevent a timeout on
clean builds.
The file was modifiedbuildbot/osuosl/master/config/builders.py

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. Move this release note to its appropriate location; NFC. (details)
  2. Add an option to hicpp-signed-bitwise for positive integer literals. (details)
  3. [MSP430] adjust tests for Shift Amount Threshold; NFC (details)
  4. [MSP430] fix typo in test name; NFC (details)
  5. Fix readability-identifier-naming to prevent variables becoming (details)
  6. [sanitizer_common] Create max_allocation_size_mb flag. (details)
  7. [X86][SSE] combineX86ShuffleChain - use (details)
  8. [X86] Add FIXME comment to merge more of computeZeroableShuffleElements (details)
  9. [LegacyPassManager] Delete BasicBlockPass/Manager. (details)
  10. [DebugInfo][DAG] Distinguish different kinds of location indirection (details)
  11. [PowerPC][AIX] Adds support for writing the data section in object files (details)
  12. [globalisel][docs] Fix a label that was renamed (details)
  13. Revert "[NFC] Rename LLVM_NO_DEAD_STRIP" (details)
  14. [AArch64] Remove overlapping scheduling definitions (NFC) (details)
  15. [X86] Regenerate memmove vector width tests (details)
  16. [X86][SSE] Regenerate vector-rem tests (details)
  17. [globalisel][docs] Add a pass index (details)
  18. DebugServer: be more lenient about the target triple (details)
  19. [JITLink] Add a utility for splitting blocks at a given index. (details)
  20. gn build: Merge b9d8e23b806 (details)
  21. [clang][llvm] Obsolete Exynos M1 and M2 (details)
  22. [JITLink] Add missing include, explicitly qualify STLExtras functions. (details)
  23. [JITLink] Remove relocation unit tests. (details)
  24. gn build: Merge cd24a00bd32 (details)
  25. Fix __attribute__((enable_if)) to treat arguments with side-effects as (details)
  26. [globalisel][docs] Rework the Legalizer page slightly (details)
  27. Add a test file that was missed in (details)
  28. Add a test file that was missed in (details)
  29. [ReleaseNotes] Add item on deleting the BasicBlockPass(Manager). (details)
  30. [X86] Precommit new tests from D68757. NFC (details)
  31. [X86] Rewrite hasReassociableOperands and setSpecialOperandAttr to not (details)
  32. RegAllocFast: Use Register (details)
  33. AMDGPU: Don't fold S_NOPs with implicit operands (details)
  34. [clang][clang-scan-deps] Add support for extracting full module (details)
  35. [globalisel][docs] Add the tutorial to the Porting document (details)
  36. AMDGPU: Disallow spill folding with m0 copies (details)
  37. [MS] Don't reference deleted copy ctors from catchable types (details)
  38. [X86] Model MXCSR for all SSE instructions (details)
  39. [lit] Extract `_install_win32_signal_handler` function (details)
  40. [lit] Add helper for `test.result.code.isFailure` (details)
  41. [lit] Change progress bar color to red on first failure (details)
  42. Revert "[clang][clang-scan-deps] Add support for extracting full module (details)
  43. Fix -Wsign-compare warning with clang-cl (details)
  44. [clang][clang-scan-deps] Add support for extracting full module (details)
  45. gn build: Merge 33a745e6fe7 (details)
  46. Disable new clang-scan-deps test on Windows due to backslash path (details)
  47. [libc++] Add test and remove workaround for PR13592 (details)
  48. [clang][ScanDeps] Fix shadowing warning. (details)
  49. Run clang-format on lldb/source/Commands (NFC) (details)
  50. [lit] Silence warning about importing the resource module on Windows (details)
  51. [InstCombine] keep assumption before sinking calls (details)
  52. [Builtins] Fix bug where powerpc builtins specializations didn't remove (details)
  53. Revert "[Builtins] Downgrade duplicate source file warning from a fatal (details)
  54. [lit] Add missing import (details)
  55. [CodeView] Add option to disable inline line tables. (details)
  56. Revert "[CodeView] Add option to disable inline line tables." because it (details)
  57. [JITLink] Move block ownership from LinkGraph to Section. (details)
  58. [ThinLTO/WPD] Fix index-based WPD for available_externally vtables (details)
  59. Only ask once if we have no commands.  NFC. (details)
  60. Run clang-format on lib/CodeGen/CGCall.h and fix indentation (details)
  61. [clang-tidy] Regenerate clang-tidy check list 📋 (details)
  62. [GISel][CombinerHelper] Combine shuffle_vector scalar to build_vector (details)
  63. [Utils] Allow update_test_checks to check function information (details)
  64. [Attributor] Automatically deal with undef values for IRAttributes (details)
  65. [Attributor][NFC] Simplify the IRPosition interface (details)
  66. [Attributor][NFC] Do not record dependences on fixed attributes (details)
  67. [Attributor][NFC] Eagerly mark attributes as fixed. (details)
  68. [AArch64][SVE] Add patterns for some integer vector instructions (details)
  69. [Attributor] Add "free"-based heap2stack deduction (details)
  70. [libomptarget] Change nvcc compilation to use a unity build (details)
  71. comment typo fix to cycle bots (details)
Commit 0de262d7189c68897e8328d891d3daaf3aab3156 by aaron
Move this release note to its appropriate location; NFC.
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
Commit 4de6b1586807285e20a5db6596519c2336a64568 by aaron
Add an option to hicpp-signed-bitwise for positive integer literals.
This gives developers a way to deviate from the coding standard to
reduce the chattiness of the check.
The file was modifiedclang-tools-extra/docs/ReleaseNotes.rst
The file was modifiedclang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/hicpp-signed-bitwise.rst
The file was modifiedclang-tools-extra/clang-tidy/hicpp/SignedBitwiseCheck.h
Commit 67da730da636ec64e93c0ce850d086a78016c9ad by spatel
[MSP430] adjust tests for Shift Amount Threshold; NFC
Baseline results for D69120.
Patch by: @joanlluch (Joan LLuch)
The file was modifiedllvm/test/CodeGen/MSP430/shift-amount-threshold.ll
Commit 3e85571432514c7c16a11640a366059d57d8dd0d by spatel
[MSP430] fix typo in test name; NFC
The file was modifiedllvm/test/CodeGen/MSP430/shift-amount-threshold.ll
Commit e477988309dbde214a6d16ec690a416882714aac by aaron
Fix readability-identifier-naming to prevent variables becoming
keywords.
Do not provide a fix-it when clang-tidy encounters a name that would
become a keyword.
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.h
The file was modifiedclang-tools-extra/clang-tidy/readability/IdentifierNamingCheck.cpp
The file was modifiedclang/include/clang/Basic/IdentifierTable.h
Commit 7904bd9409b86afbec763d0d95cb75ccef559379 by mascasa
[sanitizer_common] Create max_allocation_size_mb flag.
Summary: The flag allows the user to specify a maximum allocation size
that the sanitizers will honor.  Any larger allocations will return
nullptr or crash depending on allocator_may_return_null.
Reviewers: kcc, eugenis
Reviewed By: kcc, eugenis
Subscribers: #sanitizers, llvm-commits
Tags: #sanitizers, #llvm
Differential Revision: https://reviews.llvm.org/D69576
The file was addedcompiler-rt/test/sanitizer_common/TestCases/max_allocation_size.cpp
The file was modifiedcompiler-rt/lib/asan/asan_allocator.cpp
The file was modifiedcompiler-rt/lib/lsan/lsan_allocator.cpp
The file was modifiedcompiler-rt/lib/msan/msan_allocator.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_flags.inc
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
Commit 94a4a2c97f8187f4fb73f8e8460d4cb11feb470c by llvm-dev
[X86][SSE] combineX86ShuffleChain - use
resolveZeroablesFromTargetShuffle helper. NFCI.
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit f25f3d39df42ebcc8a394c8ce85981235a6720b0 by llvm-dev
[X86] Add FIXME comment to merge more of computeZeroableShuffleElements
and getTargetShuffleAndZeroables
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 9f0ff0b2634bab6a5be8dace005c9eb24d386dd1 by asbirlea
[LegacyPassManager] Delete BasicBlockPass/Manager.
Summary: Delete the BasicBlockPass and BasicBlockManager, all its
dependencies and update documentation. The BasicBlockManager was
improperly tested and found to be potentially broken, and was deprecated
as of rL373254.
In light of the switch to the new pass manager coming before the next
release, this patch is a first cleanup of the LegacyPassManager.
Reviewers: chandlerc, echristo
Subscribers: mehdi_amini, sanjoy.google, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69121
The file was modifiedllvm/unittests/IR/LegacyPassManagerTest.cpp
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/include/llvm/Pass.h
The file was modifiedllvm/lib/IR/Core.cpp
The file was modifiedllvm/docs/WritingAnLLVMPass.rst
The file was modifiedllvm/tools/opt/PassPrinters.h
The file was modifiedllvm/include/llvm/IR/LegacyPassManagers.h
The file was modifiedllvm/include/llvm/IR/LegacyPassManager.h
The file was modifiedllvm/include/llvm/Transforms/Vectorize.h
The file was modifiedllvm/tools/bugpoint-passes/TestPasses.cpp
The file was modifiedllvm/tools/opt/opt.cpp
The file was modifiedllvm/docs/OptBisect.rst
The file was modifiedllvm/lib/IR/IRPrintingPasses.cpp
The file was modifiedllvm/lib/IR/LegacyPassManager.cpp
The file was modifiedllvm/lib/IR/Pass.cpp
The file was modifiedllvm/include/llvm/LinkAllPasses.h
The file was modifiedllvm/include/llvm/Transforms/Scalar.h
The file was modifiedllvm/tools/opt/PassPrinters.cpp
The file was modifiedllvm/include/llvm/IR/IRPrintingPasses.h
Commit 3137fe4d23eeb8df08c03e9111465325eeafe08e by jeremy.morse
[DebugInfo][DAG] Distinguish different kinds of location indirection
From SelectionDAGs point of view, debug variable locations specified
with dbg.declare and dbg.addr are indirect -- they specify the address
of something. But calling conventions might mean that a Value is placed
on the stack somewhere, and this too is indirection. Previously this was
mixed up in the "IsIndirect" field of DBG_VALUE insts; this patch
separates them by encoding the indirection in a DIExpression.
If we have a dbg.declare or dbg.addr, then the expression produces an
address that then becomes a DWARF memory location. We can represent this
by putting a DW_OP_deref on the _end_ of the expression. If a Value has
been placed on the stack, then we need to put a DW_OP_deref on the
_start_ of the expression, to load the Value from the stack and have the
rest of the expression operate on it.
Differential Revision: https://reviews.llvm.org/D69028
The file was addedllvm/test/DebugInfo/X86/stack-arg-deref.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Commit 8bd0c9781001f66e86e77ee076b20522efb92c9d by jasonliu
[PowerPC][AIX] Adds support for writing the data section in object files
Adds support for generating the XCOFF data section in object files for
global variables with initialization.
Merged aix-xcoff-common.ll into aix-xcoff-data.ll.
Changed variable name charr to chrarray in the test case to test if
readobj works with 8-character names.
Authored by: xingxue
Reviewers: hubert.reinterptrtcast, sfertile, jasonliu, daltenty,
Xiangling_L.
Reviewed by: hubert.reinterpretcast, sfertile, daltenty.
Subscribers: DiggerLin, Wuzish, nemanjai, hiraditya, MaskRay, jsji,
shchenz, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67125
The file was removedllvm/test/CodeGen/PowerPC/aix-xcoff-common.ll
The file was modifiedllvm/lib/MC/XCOFFObjectWriter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/aix-xcoff-data.ll
Commit 443f99eae268f052002b887e6047f8cd6da70b45 by daniel_l_sanders
[globalisel][docs] Fix a label that was renamed
The file was modifiedllvm/docs/GlobalISel/Porting.rst
Commit 23df0c783c7053ddcdf665ebc8ddda350abd5bf2 by daltenty
Revert "[NFC] Rename LLVM_NO_DEAD_STRIP"
This reverts commit 11c2a85db8849db1a5907e80d9966592248ef825.
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedclang/tools/driver/CMakeLists.txt
The file was modifiedllvm/tools/bugpoint/CMakeLists.txt
The file was modifiedllvm/tools/opt/CMakeLists.txt
The file was modifiedllvm/tools/llc/CMakeLists.txt
Commit 42c8fae9d1b0f792689d5b2cdf1f22bbf2c2bc39 by e.menezes
[AArch64] Remove overlapping scheduling definitions (NFC)
The scheduling definitions for ASIMD transpose and zipping overlapped
with others a few lines below.  Somehow, they didn't raise errors
before.
There seem to be other overlapping definitions.  Somehow, they still
don't raise errors.
Differential revision: https://reviews.llvm.org/D68353
The file was modifiedllvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
Commit 75db91b478fc2e509870944e25bf6ffa77f07ddb by llvm-dev
[X86] Regenerate memmove vector width tests
The file was modifiedllvm/test/CodeGen/X86/vector-width-store-merge.ll
Commit e92b576308227cff9cc1061f63cd589db651bec4 by llvm-dev
[X86][SSE] Regenerate vector-rem tests
The file was modifiedllvm/test/CodeGen/X86/vector-rem.ll
Commit 91e2151d04cc1cf5558f665920bef7df2eb87b40 by daniel_l_sanders
[globalisel][docs] Add a pass index
The file was modifiedllvm/docs/GlobalISel/index.rst
Commit 5e029c4cfd7b8db269b6db475ecd420311fbd7d1 by Saleem Abdulrasool
DebugServer: be more lenient about the target triple
When building standalone, `LLVM_DEFAULT_TARGET_TRIPLE` may be undefined.
Matching against an empty string does not work as desired in CMake, so,
fallback to the old behaviour, defaulting `LLDB_DEBUGSERVER_ARCH` to
`CMAKE_OSX_ARCHITECTURES`.
The file was modifiedlldb/tools/debugserver/source/MacOSX/CMakeLists.txt
Commit b9d8e23b806ca605c368f924cca75bdd090834c6 by Lang Hames
[JITLink] Add a utility for splitting blocks at a given index.
LinkGraph::splitBlock will split a block at a given index, returning a
new block covering the range [ 0, index ) and modifying the original
block to cover the range [ index, original-block-size ). Block
addresses, content, edges and symbols will be updated as necessary. This
utility will be used in upcoming improvements to JITLink's eh-frame
support.
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLink.cpp
The file was addedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
Commit 88d77fce94c6103d476beefc062944dc3dc1988a by llvmgnsyncbot
gn build: Merge b9d8e23b806
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/JITLink/BUILD.gn
Commit 215da6606c0efa1f2bc91de87abfd3dc7163b1bd by e.menezes
[clang][llvm] Obsolete Exynos M1 and M2
The file was modifiedclang/test/Frontend/aarch64-target-cpu.c
The file was modifiedllvm/test/CodeGen/AArch64/cpus.ll
The file was modifiedllvm/lib/Target/ARM/ARM.td
The file was modifiedllvm/unittests/Support/TargetParserTest.cpp
The file was modifiedllvm/include/llvm/Support/AArch64TargetParser.def
The file was modifiedllvm/test/CodeGen/ARM/build-attributes.ll
The file was modifiedllvm/lib/Support/Host.cpp
The file was modifiedllvm/test/CodeGen/AArch64/misched-fusion-aes.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-zero-cycle-zeroing.ll
The file was modifiedllvm/test/CodeGen/AArch64/aarch64-combine-fmul-fsub.mir
The file was modifiedllvm/test/CodeGen/AArch64/max-jump-table.ll
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
The file was modifiedclang/test/CodeGen/arm-target-features.c
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.h
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.def
The file was modifiedllvm/test/CodeGen/AArch64/arm64-ldp-cluster.ll
The file was modifiedllvm/test/CodeGen/AArch64/preferred-function-alignment.ll
The file was modifiedclang/test/Preprocessor/arm-target-features.c
The file was modifiedllvm/lib/Target/AArch64/AArch64Subtarget.cpp
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/scheduler-queue-usage.s
The file was modifiedllvm/test/CodeGen/AArch64/arm64-st1.ll
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/extended-register.s
The file was modifiedllvm/lib/Target/AArch64/AArch64.td
The file was modifiedllvm/test/CodeGen/AArch64/remat.ll
The file was modifiedclang/test/Driver/arm-cortex-cpus.c
The file was modifiedllvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Exynos/shifted-register.s
The file was modifiedllvm/docs/WritingAnLLVMBackend.rst
The file was modifiedllvm/unittests/Support/Host.cpp
The file was modifiedclang/test/Preprocessor/aarch64-target-features.c
The file was modifiedllvm/test/CodeGen/AArch64/strqu.ll
The file was removedllvm/lib/Target/AArch64/AArch64SchedExynosM1.td
The file was modifiedllvm/test/CodeGen/AArch64/machine-combiner-madd.ll
The file was modifiedclang/test/Driver/aarch64-cpus.c
The file was modifiedllvm/test/CodeGen/AArch64/jump-table-exynos.ll
The file was modifiedllvm/test/CodeGen/AArch64/no-quad-ldp-stp.ll
Commit 4ceca8fa66504e9b22bfc1510ee5443852d9c0c9 by Lang Hames
[JITLink] Add missing include, explicitly qualify STLExtras functions.
This should fix the failures on some bots due to commit
b9d8e23b806ca605c368f924cca75bdd090834c6.
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
Commit cd24a00bd32a78bd3bdb3dda47bd0ffe591d9ece by Lang Hames
[JITLink] Remove relocation unit tests.
These tests were written before llvm-jitlink supported regression
testing of relocation support. They are now redundant.
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt
The file was removedllvm/unittests/ExecutionEngine/JITLink/MachO_x86_64_Tests.cpp
The file was removedllvm/unittests/ExecutionEngine/JITLink/JITLinkTestCommon.cpp
The file was removedllvm/unittests/ExecutionEngine/JITLink/JITLinkTestCommon.h
Commit e62f91fb75838d196b1400f89a26dba2b284822a by llvmgnsyncbot
gn build: Merge cd24a00bd32
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/ExecutionEngine/JITLink/BUILD.gn
Commit bb061491316bbd516a7551fe36128ead0935010d by richard
Fix __attribute__((enable_if)) to treat arguments with side-effects as
non-constant.
We previously failed the entire condition evaluation if an unmodeled
side-effect was encountered in an argument, even if that argument was
unused in the attribute's condition.
The file was modifiedclang/test/SemaCXX/enable_if.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
Commit 2d098bea0361461f49f50c86d957dbbd69dc1e3b by daniel_l_sanders
[globalisel][docs] Rework the Legalizer page slightly
The legalizer page was in a fairly good state. I've mostly just inlined
some information as a note and removed a reference to potential future
work that I think is very unlikely to be done (it's very hard to tell if
a pattern or set of patterns fully covers a node due to C++ predicates).
Also added a note that 'selectable' doesn't mean that InstructionSelect
must do it.
The file was modifiedllvm/docs/GlobalISel/Legalizer.rst
Commit 7b6174bb147957b4695023ae57c95ca07af7b917 by aaron
Add a test file that was missed in
e477988309dbde214a6d16ec690a416882714aac
The file was addedclang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-bugfix-name-conflicts.cpp
Commit 3a0c86a179efcd5c108521afade3aab6083376f7 by aaron
Add a test file that was missed in
4de6b1586807285e20a5db6596519c2336a64568
The file was addedclang-tools-extra/test/clang-tidy/checkers/hicpp-signed-bitwise-integer-literals.cpp
Commit bbb43df0111ef29717b57bad7712d7f4c61655ac by asbirlea
[ReleaseNotes] Add item on deleting the BasicBlockPass(Manager).
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 3bae2a4cf7f3ca3382c62f6008d540bf658024e3 by craig.topper
[X86] Precommit new tests from D68757. NFC
The file was addedllvm/test/CodeGen/X86/fp-strict-scalar.ll
The file was addedllvm/test/CodeGen/X86/vec-strict-128.ll
The file was addedllvm/test/CodeGen/X86/vec-strict-512.ll
The file was addedllvm/test/CodeGen/X86/vec-strict-256.ll
Commit 6cb181f086a5bc69a97c1a01e9a36f8293dea7ed by craig.topper
[X86] Rewrite hasReassociableOperands and setSpecialOperandAttr to not
hardcode number of operands or position of the EFLAGS operand.
This makes the code immune to the MXCSR addition in D68121.
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
Commit 0202fa3a47b2eea06d43a6257ebfe5498fb7835b by arsenm2
RegAllocFast: Use Register
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp
Commit edca9ac0de3a5c10a21ef0c725501ea35791006a by arsenm2
AMDGPU: Don't fold S_NOPs with implicit operands
The file was addedllvm/test/CodeGen/AMDGPU/nop-fold.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
Commit d8a4ef0e685cec1fc73d4953b48220b649d05b40 by bigcheesegs
[clang][clang-scan-deps] Add support for extracting full module
dependencies.
This adds experimental support for extracting a Clang module dependency
graph from a compilation database. The output format is experimental and
will change. It is currently a concatenation of JSON outputs for each
compilation. Future patches will change this to deduplicate modules
between compilations.
Differential Revision: https://reviews.llvm.org/D69420
The file was addedclang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
The file was addedclang/test/ClangScanDeps/modules-full.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/CMakeLists.txt
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
The file was addedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
Commit 204a529cb0d6b67eb66d81a07e11a2df00e22764 by daniel_l_sanders
[globalisel][docs] Add the tutorial to the Porting document
In lieu of converting that tutorial to text, add a link to the porting
tutorial from the 2017 Dev Meeting to the porting page
The file was modifiedllvm/docs/GlobalISel/Porting.rst
Commit d9e0a2942ac71327166a3a597e8383192fd19b17 by arsenm2
AMDGPU: Disallow spill folding with m0 copies
readlane and writelane instructions are not allowed to use m0 as the
data operand, so spilling them is tricky and would require an
intermediate SGPR to spill it. Constrain the virtual register class in
this caes to disallow the inline spiller from folding the m0 operand
directly into the spill instruction.
I copied this hack from AArch64 which has the same problem for $sp.
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was addedllvm/test/CodeGen/AMDGPU/fold-reload-into-m0.mir
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
Commit 812bdb3c13210759341e8a1b08b864a539ce9dc7 by rnk
[MS] Don't reference deleted copy ctors from catchable types
When throwing objects with deleted copy constructors, the copy ctor
field of the catchable type should remain null and the mangle name
changes. This already worked in simple cases, but in cases involving
non-trivial subobjects, sometimes LookupCopyingConstructor could return
a non-null but deleted constructor decl. Skip those and don't reference
them.
Fixes PR43680
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/CodeGenCXX/microsoft-abi-throw.cpp
Commit 8f48ba993ba32925f37a374f624663da37d96254 by craig.topper
[X86] Model MXCSR for all SSE instructions
This patch adds MXCSR as a reserved physical register and models its use
by X86 SSE instructions. It also adds flag "mayRaiseFPException" for the
instructions that possibly can raise FP exception according to the
architecture definition.
Following what SystemZ and other targets does, only the current rounding
modes and the IEEE exception masks are modeled. *Changes* of the MXCSR
due to exceptions are not modeled.
Patch by Pengfei Wang
Differential Revision: https://reviews.llvm.org/D68121
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.td
The file was modifiedllvm/lib/Target/X86/X86InstrFormats.td
The file was modifiedllvm/test/CodeGen/X86/evex-to-vex-compress.mir
The file was modifiedllvm/test/CodeGen/MIR/X86/constant-pool.mir
The file was modifiedllvm/test/CodeGen/MIR/X86/fastmath.mir
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/ipra-reg-usage.ll
The file was modifiedllvm/lib/Target/X86/X86InstrSSE.td
The file was modifiedllvm/test/CodeGen/MIR/X86/memory-operands.mir
Commit 4dba95f0ddd760138f3499c8aa7a18deff9ef70c by julian.lettner
[lit] Extract `_install_win32_signal_handler` function
The file was modifiedllvm/utils/lit/lit/run.py
Commit 89e34d3e5a4619aa0306e904f505b0feafad2aff by julian.lettner
[lit] Add helper for `test.result.code.isFailure`
The file was modifiedllvm/utils/lit/lit/main.py
The file was modifiedllvm/utils/lit/lit/display.py
The file was modifiedllvm/utils/lit/lit/Test.py
Commit 577dca62e918eb3e766324e3dda48675ab1fa292 by julian.lettner
[lit] Change progress bar color to red on first failure
The file was modifiedllvm/utils/lit/lit/display.py
The file was modifiedllvm/utils/lit/lit/ProgressBar.py
Commit 1c88d662230e79bc2dd2283d753d950c1ad0bed6 by bigcheesegs
Revert "[clang][clang-scan-deps] Add support for extracting full module
dependencies."
This reverts commit d8a4ef0e685cec1fc73d4953b48220b649d05b40.
This commit broke some of the bots. I believe it's due to
nondeterminism. Will fix and recommit.
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
The file was removedclang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/CMakeLists.txt
The file was removedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
The file was removedclang/test/ClangScanDeps/modules-full.cpp
Commit 22d41ba024fa08026ebd85ec842712fcf780ca2a by rnk
Fix -Wsign-compare warning with clang-cl
off_t apparently is just "long" on Win64, which is 32-bits, and
therefore not long enough to compare with UINT32_MAX. Use auto to follow
the surrounding code. uint64_t would also be fine.
The file was modifiedllvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
Commit 33a745e6fe7e81d3793f7831d2832aa0785ef327 by bigcheesegs
[clang][clang-scan-deps] Add support for extracting full module
dependencies.
This is a recommit of d8a4ef0e685c with the nondeterminism fixed.
This adds experimental support for extracting a Clang module dependency
graph from a compilation database. The output format is experimental and
will change. It is currently a concatenation of JSON outputs for each
compilation. Future patches will change this to deduplicate modules
between compilations.
Differential Revision: https://reviews.llvm.org/D69420
The file was addedclang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
The file was addedclang/test/ClangScanDeps/modules-full.cpp
The file was addedclang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
The file was modifiedclang/lib/Tooling/DependencyScanning/CMakeLists.txt
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
The file was modifiedclang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
The file was modifiedclang/tools/clang-scan-deps/ClangScanDeps.cpp
Commit b1209d74e3426e7aaa6e5f657d8b2a7554218767 by llvmgnsyncbot
gn build: Merge 33a745e6fe7
The file was modifiedllvm/utils/gn/secondary/clang/lib/Tooling/DependencyScanning/BUILD.gn
Commit 52194350cfe834f27e41771c315fe0656067fdc4 by rnk
Disable new clang-scan-deps test on Windows due to backslash path
matching problems
The file was modifiedclang/test/ClangScanDeps/modules-full.cpp
Commit adadc665f83a588e2cbcb5e9f4675d1a5c5cda2d by Louis Dionne
[libc++] Add test and remove workaround for PR13592
PR13592 was caused by a problem in how to compiler implemented the
__is_convertible_to intrinsic. That problem, reported as PR13591, was
fixed back in 2012. We don't support such old versions of Clang anyway,
so we don't need the library workaround that had been added to solve
PR13592 (while waiting for the compiler fix).
The file was modifiedlibcxx/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
The file was modifiedlibcxx/include/type_traits
Commit 17b64e36e90ad05a32a99b9f5784b55310cc10e8 by bigcheesegs
[clang][ScanDeps] Fix shadowing warning.
The file was modifiedclang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
Commit a925974bf166a83cfd45b0ca89c5c65d17f275cc by Adrian Prantl
Run clang-format on lldb/source/Commands (NFC)
These files had a lot of whitespace errors in them which was a constant
source of merge conflicts downstream.
The file was modifiedlldb/source/Commands/CommandObjectExpression.cpp
The file was modifiedlldb/source/Commands/CommandObjectMemory.cpp
The file was modifiedlldb/source/Commands/CommandObjectWatchpoint.h
The file was modifiedlldb/source/Commands/CommandObjectSource.cpp
The file was modifiedlldb/source/Commands/CommandObjectHelp.cpp
The file was modifiedlldb/source/Commands/CommandObjectBreakpointCommand.h
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
The file was modifiedlldb/source/Commands/CommandObjectStats.cpp
The file was modifiedlldb/source/Commands/CommandObjectThread.cpp
The file was modifiedlldb/source/Commands/CommandObjectWatchpointCommand.h
The file was modifiedlldb/source/Commands/CommandObjectCommands.cpp
The file was modifiedlldb/source/Commands/CommandObjectPlugin.h
The file was modifiedlldb/source/Commands/CommandObjectType.cpp
The file was modifiedlldb/source/Commands/CommandObjectType.h
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.h
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was modifiedlldb/source/Commands/CommandObjectLanguage.h
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
The file was modifiedlldb/source/Commands/CommandObjectProcess.cpp
The file was modifiedlldb/source/Commands/CommandObjectSettings.cpp
The file was modifiedlldb/source/Commands/CommandObjectDisassemble.cpp
The file was modifiedlldb/source/Commands/CommandObjectBreakpointCommand.cpp
Commit 5632d3756cd589a8139099317829a746dab650ee by rnk
[lit] Silence warning about importing the resource module on Windows
lit was printing this warning on every test run on Windows, and that is
not necessary.
The file was modifiedllvm/utils/lit/lit/run.py
Commit c3b06d0c393e533eab712922911d14e5a079fa5d by tyker
[InstCombine] keep assumption before sinking calls
Summary: in the following C code the branch is not removed by clang in
O3.
``` int f1(char* p) {
   int i1 = __builtin_strlen(p);
   if (!p)
       return -1;
   return i1;
}
``` The issue is that the call to strlen is sunk to the following block
by instcombine. In its new place the call to strlen doesn't dominate the
use in the icmp anymore so value tracking can't see that p cannot be
null. This patch resolves the issue by inserting an assumption at the
place of the call before sinking a call when that call can be used to
prove an argument to be nonnull. This resolves this issue at O3.
Reviewers: majnemer, xbolva00, fhahn, jdoerfert, spatel, efriedma
Reviewed By: jdoerfert
Subscribers: hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69477
The file was addedllvm/test/Transforms/InstCombine/assume-replacing-call.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Commit 8ea148dc0cbff33ac3c80cf4273991465479a01e by dan
[Builtins] Fix bug where powerpc builtins specializations didn't remove
generic implementations.
Summary: Previously the CMake code looked for filepaths of the form
`<arch>/<filename>` as an indication that `<arch>/<filename>` provided a
specialization of a top-level file `<filename>`. For powerpc there was a
bug because the powerpc specialized implementations lived in `ppc/` but
the architectures were `powerpc64` and `powerpc64le` which meant that
CMake was looking for files at `powerpc64/<filename>` and
`powerpc64le/<filename>`.
The result of this is that for powerpc the builtins library contained a
duplicate symbol for `divtc3` because it had the generic implementation
and the specialized version in the built static library.
Although we could just add similar code to what there is for arm (i.e.
compute `${_arch}`) to fix this, this is extremely error prone (until
r375150 no error was raised). Instead this patch takes a different
approach that removes looking for the architecture name entirely.
Instead this patch uses the convention that a source file in a
sub-directory might be a specialization of a generic implementation and
if a source file of the same name (ignoring extension) exists at the
top-level then it is the corresponding generic implementation. This
approach is much simpler because it doesn't require keeping track of
different architecture names.
This convention already existed in repository but previously it was
implicit.  This change makes it explicit.
This patch is motivated by wanting to revert r375162 which worked around
the powerpc bug found when r375150 landed.
Once it lands we should revert r375162.
Reviewers: phosek, beanz, compnerd, shiva0217, amyk, rupprecht, kongyi,
mstorsjo, t.p.northover, weimingz, jroelofs, joerg, sidneym
Subscribers: nemanjai, mgorny, kristof.beyls, jsji, shchenz,
steven.zhang, #sanitizers, llvm-commits
Tags: #llvm, #sanitizers
Differential Revision: https://reviews.llvm.org/D69189
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
Commit 23a33d450b9a426eae7094b16472f8a51fb5488a by dan
Revert "[Builtins] Downgrade duplicate source file warning from a fatal
error to a warning."
This reverts commit dc748816e2aec8941d63f8ad07fb82aff6be8af7.
Now that 8ea148dc0cbff33ac3c80cf4273991465479a01e has landed it should
be safe to turning the warning back into a fatal error.
The file was modifiedcompiler-rt/test/builtins/Unit/lit.cfg.py
Commit 3dec30855e9a8e932ae2eadeacdca68d54c79377 by rnk
[lit] Add missing import
Apparently llvm-lit.py does not execute this path
The file was modifiedllvm/utils/lit/lit/run.py
Commit 6d03890384517919a3ba7fe4c35535425f278f89 by akhuang
[CodeView] Add option to disable inline line tables.
Summary: This adds a clang option to disable inline line tables. When it
is used, the inliner uses the call site as the location of the inlined
function instead of marking it as an inline location with the function
location.
See https://bugs.llvm.org/show_bug.cgi?id=42344
Reviewers: rnk
Subscribers: hiraditya, cfe-commits, llvm-commits
Tags: #clang, #llvm
Differential Revision: https://reviews.llvm.org/D67723
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was addedclang/test/CodeGen/debug-info-no-inline-line-tables.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was addedllvm/test/Transforms/Inline/no-inline-line-tables.ll
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedllvm/docs/LangRef.rst
Commit 004ed2b0d1b86d424643ffc88fce20ad8bab6804 by akhuang
Revert "[CodeView] Add option to disable inline line tables." because it
breaks compiler-rt tests.
This reverts commit 6d03890384517919a3ba7fe4c35535425f278f89.
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was removedllvm/test/Transforms/Inline/no-inline-line-tables.ll
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was removedclang/test/CodeGen/debug-info-no-inline-line-tables.c
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit 58e66f2f6375dd3c63f5854abd908298a73851d9 by Lang Hames
[JITLink] Move block ownership from LinkGraph to Section.
This enables easy iteration over blocks in a specific section.
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITLink/JITLink.h
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLink.cpp
Commit c844f8846aabda577a8bf3b460d4993e89475218 by tejohnson
[ThinLTO/WPD] Fix index-based WPD for available_externally vtables
Summary: Clang does not add type metadata to available_externally
vtables. When choosing a summary to look at for virtual function
definitions, make sure we skip summaries for any available externally
vtables as they will not describe any virtual function functions, which
are only summarized in the presence of type metadata on the vtable def.
Simply look for the corresponding strong def's summary.
Also add handling for same-named local vtables with the same GUID
because of same-named files without enough distinguishing path. In that
case we return a conservative result with no devirtualization.
Reviewers: pcc, davidxl, evgeny777
Subscribers: mehdi_amini, inglorion, hiraditya, steven_wu, dexonsmith,
arphaman, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69452
The file was addedllvm/test/ThinLTO/X86/Inputs/devirt_local_same_guid.ll
The file was addedllvm/test/ThinLTO/X86/devirt_local_same_guid.ll
The file was addedllvm/test/ThinLTO/X86/Inputs/devirt_available_externally.ll
The file was addedllvm/test/ThinLTO/X86/devirt_available_externally.ll
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Commit 29d5e275f28723b3b36b00e91b535d776f5aa281 by jingham
Only ask once if we have no commands.  NFC.
The file was modifiedlldb/source/Commands/CommandObjectBreakpoint.cpp
Commit c1d2927cc64731520e60ecd1fc0e0eeabdfbac40 by Akira
Run clang-format on lib/CodeGen/CGCall.h and fix indentation
The file was modifiedclang/lib/CodeGen/CGCall.h
Commit 9baf4958cda4cb7857c62681a5f50200de0a662a by stephane.moore
[clang-tidy] Regenerate clang-tidy check list 📋
Summary: These changes were generated by invoking
clang-tools-extra/clang-tidy/add_new_check.py and then reverting the
check that was added.
Reviewers: aaron.ballman
Reviewed By: aaron.ballman
Subscribers: xazax.hun, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D69414
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/list.rst
Commit f0eeb3c7a7136dd043b792ff2d321ad492db203a by qcolombet
[GISel][CombinerHelper] Combine shuffle_vector scalar to build_vector
Teach the combiner helper how to replace shuffle_vector of scalars into
build_vector. I am not particularly happy about having to add this
combine, but we currently get those from <1 x iN> from the IR.
Bonus: This fixes an assert in the shuffle_vector combines since before
this patch, we were expecting vector types.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector.mir
Commit 3598b810029dee4abfd5545f02ec256d33f79e71 by johannes
[Utils] Allow update_test_checks to check function information
Summary: This adds a switch to the update_test_checks that triggers
arguments and other function annotations, e.g., personality, to be
present in the check line. If not set, the behavior should be the same
as before. If arguments are recorded, their names are scrubbed from the
IR to allow merging.
This patch includes D68153.
Reviewers: lebedev.ri, greened, spatel, xbolva00, RKSimon, mehdi_amini
Subscribers: bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68819
The file was modifiedllvm/utils/update_test_checks.py
The file was modifiedllvm/utils/update_mir_test_checks.py
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was modifiedllvm/utils/update_analyze_test_checks.py
Commit 4318d3c64ccd0e172c1ac108ff8d646330bfd4b3 by johannes
[Attributor] Automatically deal with undef values for IRAttributes
For (almost) all IRAttribute we can derive whatever we want for undef
values so it makes sense to provide this functionality in the base
class. At the same time, we probably do not want to annotate them.
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit b2083c53824d6465344f831e5dd0302ba2c40668 by johannes
[Attributor][NFC] Simplify the IRPosition interface
We pretended IRPosition came either as mutable or immutable objects
while they are basically always immutable, with a single (existing)
unfortunate exceptions. This patch cleans up the uses to deal with the
immutable version.
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
Commit 12173e60ec430214f4035edd12720f86fe2c9588 by johannes
[Attributor][NFC] Do not record dependences on fixed attributes
Since fixed values cannot change, we do not need to wait for it to
happen, we will never notify the dependent attribute anyway.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 2dad729f0c7b8665d362baecd8ff52449b26051d by johannes
[Attributor][NFC] Eagerly mark attributes as fixed.
If an attribute did not query any optimistic (=non-fixed) information to
justify its state, we know the attribute state will not change anymore.
Thus, we can indicate an optimistic fixpoint.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit ed7bcb2cb1575d26bd9161103fae01d1a5fa4b07 by amehsan
[AArch64][SVE] Add patterns for some integer vector instructions
Add pattern matching for SVE vector instructions:
-- add, sub, and, or, xor instructions
-- sqadd, uqadd, sqsub, uqsub target-independent intrinsics
-- bic intrinsics
-- predicated add, sub, subr intrinsics
Patch Review: https://reviews.llvm.org/D69128 Patch authored by: dancgr
(Danilo Carvalho Grael)
The file was addedllvm/test/CodeGen/AArch64/sve-int-log.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was addedllvm/test/CodeGen/AArch64/sve-int-arith-pred.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was addedllvm/test/CodeGen/AArch64/sve-int-arith.ll
Commit 0be9cf2da9c1400eea720f0c6bead3df07c98a9c by johannes
[Attributor] Add "free"-based heap2stack deduction
Summary: If there is a unique free of the allocated that has to be
reached from the malloc, we can apply the heap-2-stack transformation
even if the pointer escapes.
Reviewers: hfinkel, sstefan1, uenoku
Subscribers: hiraditya, bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68958
The file was modifiedllvm/include/llvm/Analysis/MustExecute.h
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/FunctionAttrs/heap_to_stack.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/noalias_returned.ll
Commit e9f9dfab82bbaadc6b6d8d0eafba017ef5d94fd0 by jonchesterfield
[libomptarget] Change nvcc compilation to use a unity build
Summary:
[libomptarget] Change nvcc compilation to use a unity build
This allows nvcc to inline functions between what would otherwise be
distinct translation units, which in turn removes any runtime cost from
implementing functions in source files (as opposed to inline in
headers).
This will then allow the circular dependencies in deviceRTL to be
readily broken and individual components more easily shared between
architectures.
Reviewers: ABataev, jdoerfert, grokos, RaviNarayanaswamy, hfinkel,
ronlieb, gregrodgers
Reviewed By: jdoerfert
Subscribers: mgorny, openmp-commits
Tags: #openmp
Differential Revision: https://reviews.llvm.org/D69489
The file was addedopenmp/libomptarget/deviceRTLs/nvptx/unity.cu
The file was modifiedopenmp/libomptarget/deviceRTLs/nvptx/CMakeLists.txt
Commit 4138fc9567f74d23ae4b3658e925da53b8368a44 by nicolasweber
comment typo fix to cycle bots
The file was modifiedlld/ELF/Target.h