Commit
75f6a795ee0faf544c3f539d01008d1d5d876acb
by bjoern[clang-format] Fix aligning with linebreaks #2
This amends c5243c63cda3c740d6e9c7e501f6518c21688da3 to fix formatting continued function calls with BinPacking = false.
Differential Revision: https://reviews.llvm.org/D106773
|
 | clang/unittests/Format/FormatTest.cpp |
 | clang/lib/Format/WhitespaceManager.cpp |
Commit
9ff030ca50e327d522e80ee20f4d5febcce94a24
by diana.picustest-release.sh: Kill python2
Don't prefer python2's virtualenv when setting up the test-suite. Always use python3 instead, since that's what we support everywhere else anyway.
Differential Revision: https://reviews.llvm.org/D106941
|
 | llvm/utils/release/test-release.sh |
Commit
a33f60db39836d94a79557b147515d42d30ecba3
by fraser[RISCV] Add test case showing suboptimal BUILD_VECTOR lowering
The second test case added here was pointed out to me by @craig.topper and shows how we "optimize" a two-element BUILD_VECTOR from being one load from the constant pool to two loads from the constant pool.
The first test case shows that since materialization for the floating-point +0.0 value is cheap and doesn't involve a load, the optimization is more clearly beneficial here.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D106962
|
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll |
Commit
02dd4b59bc0d34ecd41fcc314f5571572b3feebc
by fraser[RISCV] Optimize floating-point "dominant value" BUILD_VECTORs
This patch aims to improve the performance of BUILD_VECTORs which are identified as containing a dominant element. Given that most floating-point constants themselves require a load from the constant pool, it was possible for the optimization to actually increase the number of individual loads on small vectors. The exception is the zero constant -- +0.0 -- which can be materialized efficiently.
While this optimization could do with a proper cost model to weigh the benfits of a single vector load vs. the manipulation of individual elements -- even for integer vectors which often require several instructions to materialize -- without a concrete RVV implementation to work with any heuristic is likely to be both more obtuse and inaccurate.
Until then, this patch fixes at least one known obvious deficiency.
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D106963
|
 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
 | llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll |
Commit
2df8bf9339e43de63d8d28e07182e1d6d7ffb843
by rosie.sumpter[LoopFlatten] Fix missed LoopFlatten opportunity
When the trip count of the inner loop is a constant, the InstCombine pass now causes the transformation e.g. imcp ult i32 %inc, tripcount -> icmp ult %j, tripcount-step (where %j is the inner loop induction variable and %inc is add %j, step), which is now accounted for when identifying the trip count of the loop. This is also an acceptable use of %j (provided the step is 1) so is ignored as long as the compare that it's used in is also the condition of the inner branch.
Differential Revision: https://reviews.llvm.org/D105802
|
 | llvm/test/Transforms/LoopFlatten/loop-flatten.ll |
 | llvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll |
 | llvm/lib/Transforms/Scalar/LoopFlatten.cpp |
Commit
f1ab60e40d16970381a003e145be6d5932823597
by balazs.benicsFix FindZ3.cmake to support static libraries and Windows
Use absolute path to link z3 to allow builds both on windows and linux since the library name is platform dependent for Z3 (libz3 on Windows and z3 on Linux) and MSVC does not recognized -L and -l options. Fix CMAKE_CROSSCOMPILING that does not work correctly since it uses Z3_BUILD_VERSION instead of Z3_BUILD_NUMBER Fix building with the static version of z3 library (supersedes D80227).
- Build the Z3 version detection code as C++, since the static library brings in libstdc++ symbols - Detect threading support and link against threading, in the (likely) case Z3 was built with threads
Exposed compilation error from building a program that is used to detect z3 version in the warning message, to simplify troubleshooting.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D106131
|
 | llvm/cmake/modules/FindZ3.cmake |
Commit
1c9c2c91d4d4b62d99ea1472de4d01eb7d7e6ee0
by benny.kra[mlir] Remove the default isDynamicallyLegal hook
This is redundant with the callback variant and untested. Also remove the callback-less methods for adding a dynamically legal op, as they are no longer useful.
Differential Revision: https://reviews.llvm.org/D106786
|
 | mlir/lib/Transforms/Utils/DialectConversion.cpp |
 | mlir/include/mlir/Transforms/DialectConversion.h |
 | mlir/docs/DialectConversion.md |
Commit
d81a843846f4171ffe3f44b66bf3a9fda5c411cf
by benny.kra[mlir] Put back virtual ~ConversionTarget(), some users started relying on it
|
 | mlir/include/mlir/Transforms/DialectConversion.h |
Commit
971f4173f82da6e13ee4c5b1a0301ba0fde0d696
by Mirko.Brkusanin[AMDGPU][GlobalISel] Insert an and with exec before s_cbranch_vccnz if necessary
While v_cmp will AND inactive lanes with 0, that is not the case for logical operations.
This fixes a Vulkan CTS test that would hang otherwise.
Differential Revision: https://reviews.llvm.org/D105709
|
 | llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-brcond.mir |
Commit
d510b5f199d6e7a3062b5a6ea43181c4cc00a605
by david.spickett[lldb][AArch64] Annotate synchronous tag faults
In the latest Linux kernels synchronous tag faults include the tag bits in their address. This change adds logical and allocation tags to the description of synchronous tag faults. (asynchronous faults have no address)
Process 1626 stopped * thread #1, name = 'a.out', stop reason = signal SIGSEGV: sync tag check fault (fault address: 0x900fffff7ff9010 logical tag: 0x9 allocation tag: 0x0)
This extends the existing description and will show as much as it can on the rare occasion something fails.
This change supports AArch64 MTE only but other architectures could be added by extending the switch at the start of AnnotateSyncTagCheckFault. The rest of the function is generic code.
Tests have been added for synchronous and asynchronous MTE faults.
Reviewed By: omjavaid
Differential Revision: https://reviews.llvm.org/D105178
|
 | lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp |
 | lldb/source/Plugins/Process/Linux/NativeThreadLinux.h |
 | lldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py |
 | lldb/test/API/linux/aarch64/mte_tag_faults/main.c |
 | lldb/test/API/linux/aarch64/mte_tag_faults/Makefile |
Commit
d8fd2146daaa28d118fd7c29d63e817a8c955b81
by kbobyrevNFC: Change quotes from Unicode to ASCII
This was causing some problems for Python scripts that we have.
Context: https://reviews.llvm.org/D106792
|
 | clang-tools-extra/docs/clang-tidy/checks/abseil-no-internal-dependencies.rst |
Commit
da61ab847577dd81d6267c532d9810fc19596033
by Amara Emerson[AArch64][GlobalISel] More widenToNextPow2 changes, this time for arithmetic/bitwise ops.
|
 | llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-add.mir |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir |
Commit
08d92dbbffa52db9b3fc3a871fb7feab6a0420c9
by cullen.rhodes[AArch64][AsmParser] NFC: Parser.getTok() -> getTok()
Reviewed By: david-arm
Differential Revision: https://reviews.llvm.org/D106949
|
 | llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp |
Commit
8bf0a406087e8747383134847ab0f165e6475a97
by andrzej.warzynski[flang][driver] Forward `-fopenmp`/`-fopenacc` to the host compiler
This patch only modifies `flang` - the bash wrapper script.
`-fopenmp`/`-fopenacc` are required to enable the OpenMP/OpenACC extension in the frontend and to make sure that the required libraries are linked when generating the final binary. This patch makes sure that `-fopnemp`/`-fopenacc` is used for both unparsing and the code generation (via the host compiler).
Differential Revision: https://reviews.llvm.org/D106871
|
 | flang/tools/f18/flang.in |
Commit
b8f4232823d77c350ccf83cdd91b9f67fed2d31c
by dvyukovtsan: rename deadlock detector Mutex to UserMutex
It conflicts with sanitizer_common Mutex.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107053
|
 | compiler-rt/lib/tsan/dd/dd_rtl.h |
Commit
4e15ee2867756f8676aa75d77cda8542cbd7498c
by dvyukovsanitizer_common: remove BlockingMutex and RWMutex
Remove the legacy typedefs and use Mutex/Lock types directly.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107043
|
 | compiler-rt/lib/sanitizer_common/sanitizer_libignore.h |
 | compiler-rt/lib/tsan/dd/dd_rtl.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp |
 | compiler-rt/lib/msan/msan_interceptors.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_mutex.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp |
 | compiler-rt/lib/tsan/dd/dd_rtl.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_addrhashmap.h |
 | compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp |
 | compiler-rt/lib/hwasan/hwasan_report.cpp |
Commit
0d68cfc99668e56615a8bced8826feb4535efd13
by dvyukovtsan: store ThreadRegistry in Context by value
It's unclear why we allocate ThreadRegistry separately, I assume it's some historical leftover. Embed ThreadRegistry into Context.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107045
|
 | compiler-rt/lib/tsan/rtl/tsan_debugging.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.h |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_mman.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.cpp |
Commit
2537120c870c04893636f171f553024f378c2de8
by jeremy.morseFollow-up to D105207, only salvage affine SCEVs to avoid a crash
SCEVToIterCountExpr only expects to be fed affine expressions, but DbgRewriteSalvageableDVIs is feeding it non-affine induction variables. Following this up with an obvious fix, will add test coverage too if this avoids D105207 being reverted.
|
 | llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp |
Commit
68546c9d6fc54a7ca7ad487cd4b6a5dafea9b4f3
by aaronbugprone-forwarding-reference-overload: support non-type template parameters
Many concepts emulation libraries, such as the one found in Range v3, tend to use non-type template parameters for the enable_if type expression, due to their versatility in template functions and constructors containing variadic template parameter packs.
Unfortunately the bugprone-forwarding-reference-overload check does not handle non-type template parameters, as was first noted in this bug report: https://bugs.llvm.org/show_bug.cgi?id=38081
This patch fixes this long standing issue and allows for the check to be suppressed with the use of a non-type template parameter containing enable_if or enable_if_t in the type expression, so long as it has a default literal value.
|
 | clang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp |
 | clang-tools-extra/docs/clang-tidy/checks/bugprone-forwarding-reference-overload.rst |
 | clang-tools-extra/test/clang-tidy/checkers/bugprone-forwarding-reference-overload.cpp |
Commit
486489312743411ce2e25d7763e6d298f672f976
by sebastian.neubauer[Utils] Do not remove comments in llc test script
When checking if two prefixes can be merged for a function, update_llc_test_checks.py removed IR comments before comparing llc outputs of different RUN lines. This means, if one RUN line emited lines starting with ';' and another RUN line emited the same lines except the ones starting with ';', both RUNs would be merged (if they share a prefix).
However, CHECK-NEXT lines check the comments, otherwise they fail, so the script should not merge RUNs if they contain different comments.
Differential Revision: https://reviews.llvm.org/D101312
|
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll |
 | llvm/utils/update_llc_test_checks.py |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test |
 | llvm/utils/update_cc_test_checks.py |
 | llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected |
 | llvm/utils/update_test_checks.py |
 | llvm/utils/UpdateTestChecks/common.py |
 | llvm/utils/update_analyze_test_checks.py |
Commit
191831e380f317cd2baa5d48abe02d1d11cd44cb
by bradley.smith[AArch64][SVE] Fix incorrect mask type when lowering fixed type SVE gather/scatter
An incorrect mask type when lowering an SVE gather/scatter was causing a codegen fault which manifested as the incorrect predicate size being used for an SVE gather/scatter, (e.g.. p0.b rather than p0.d).
Fixes PR51182.
Differential Revision: https://reviews.llvm.org/D106943
|
 | llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll |
 | llvm/lib/Target/AArch64/AArch64ISelLowering.cpp |
 | llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll |
Commit
bcc83a2e83215f998533582b55522a6e8752d899
by andrew.savonichev[MCA] Use LSU for the in-order pipeline
Load/Store unit is used to enforce order of loads and stores if they alias (controlled by --noalias=false option).
Fixes PR50483 - [MCA] In-order pipeline doesn't track memory load/store dependencies.
Differential Revision: https://reviews.llvm.org/D103955
|
 | llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-noalias.s |
 | llvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s |
 | llvm/include/llvm/MCA/Stages/InOrderIssueStage.h |
 | llvm/lib/MCA/Stages/InOrderIssueStage.cpp |
 | llvm/lib/MCA/Context.cpp |
Commit
e427077ec10ea18ac21f5065342183481d87783a
by spatel[AArch64][x86] add tests for add-with-overflow folds; NFC
There's a generic combine for these, but no test coverage. It's not clear if this is actually a good fold. The combine was added with D58874, but it has a bug that can cause crashing ( https://llvm.org/PR51238 ).
|
 | llvm/test/CodeGen/AArch64/addsub.ll |
 | llvm/test/CodeGen/X86/combine-add.ll |
Commit
058935145d6b0c600c35e8b83fa150896c725f8d
by Stefan Gränitz[Orc][examples] Adopt ExecutorProcessControl API and re-enable LLJITWithRemoteDebugging
The API change originated from D104694. The LLJITWithRemoteDebugging example and the test for it were disabled while it was in the works.
|
 | llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp |
 | llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.h |
 | llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/LLJITWithRemoteDebugging.cpp |
 | llvm/test/Examples/OrcV2Examples/lljit-with-remote-debugging.test |
 | llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt |
 | llvm/test/Examples/lit.local.cfg |
Commit
fa6b2c9915ba27e1e97f8901ea4aa877f331fb9f
by spatel[DAGCombiner] don't try to partially reduce add-with-overflow ops
This transform was added with D58874, but there were no tests for overflow ops. We need to change this one way or another because it can crash as shown in: https://llvm.org/PR51238
Note that if there are no uses of an overflow op's bool overflow result, we reduce it to a regular math op, so we continue to fold that case either way. If we have uses of both the math and the overflow bool, then we are likely not saving anything by creating an independent sub instruction as seen in the test diffs here.
This patch makes the behavior in SDAG consistent with what we do in instcombine AFAICT.
Differential Revision: https://reviews.llvm.org/D106983
|
 | llvm/test/CodeGen/AArch64/addsub.ll |
 | llvm/test/CodeGen/X86/combine-add.ll |
 | llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp |
Commit
77e9d10f0fbfe04a14e6ce61753376dd78e0c2f0
by Augusto Noronha[lldb] Assert filecache and live memory match on debug under a setting
|
 | lldb/source/Core/Section.cpp |
 | lldb/include/lldb/Target/Target.h |
 | lldb/test/Shell/lit-lldb-init.in |
 | lldb/include/lldb/Core/Section.h |
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
 | lldb/source/Target/TargetProperties.td |
 | lldb/source/Target/Target.cpp |
Commit
a90da62adb212a5c2ac957de25a4b98e7694588d
by jonathanchesterfield[libomptarget][amdgpu] Update printed plugin name
|
 | openmp/libomptarget/plugins/amdgpu/dynamic_hsa/hsa.cpp |
 | openmp/libomptarget/plugins/amdgpu/src/rtl.cpp |
Commit
c3c1826c310c42244c7cad8d0c6af3a368fcd064
by schmeiseSet TargetCPUName for AIX to default to pwr7.
Summary: Set the TargetCPUName for AIX to default to pwr7, removing the setting of it based on the major/minor of the OS version, which previously set it to pwr4 for AIX 7.1 and earlier. The old code would also set it to pwr4 when the OS version was not specified and with the change, it will default it to pwr7 in all cases.
Author: Jamie Schmeiser <schmeise@ca.ibm.com> Reviewed By:hubert.reinterpretcast (Hubert Tong) Differential Revision: https://reviews.llvm.org/D107063
|
 | clang/test/Driver/aix-mcpu-default.c |
 | clang/lib/Driver/ToolChains/CommonArgs.cpp |
Commit
b96bb7899fe319278ad7809f3c647b944bc00c6c
by jrtc27[ELF] Add two new tests showing broken .tbss alignment if first in PT_TLS
This is a similar problem to D66658, where we are too aggressive in not aligning NOBITS sections, and the tests are based on the ones added for that fix. If a .tbss section is first in a PT_TLS segment (i.e. there is no .tdata section) then, although it doesn't need to be aligned such that address and offset are congruent modulo the page size, they do need to be congruent modulo the segment alignment, otherwise the whole PT_TLS will be unaligned.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D106986
|
 | lld/test/ELF/linkerscript/tls-nobits-offset.s |
 | lld/test/ELF/tls-nobits-offset.s |
Commit
cfaa5bf4ce62266897d27c8c0f3474e555ab87e5
by jrtc27[ELF] Align the first section of a PT_TLS even if its type is SHT_NOBITS
This is somewhat of a repeat of D66658 but for sections in PT_TLS segments. Although such sections don't need to be aligned such that address and offset are congruent modulo the page size, they do need to be congruent modulo the segment alignment, otherwise the whole PT_TLS will be unaligned. We therefore use the normal calculation to determine the section's address within the PT_LOAD rather than bailing out early due to being SHT_NOBITS.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D106987
|
 | lld/ELF/Writer.cpp |
 | lld/test/ELF/tls-nobits-offset.s |
 | lld/test/ELF/linkerscript/tls-nobits-offset.s |
Commit
416f3ff8038c24ebfe4dd4c1708c4c4fee41a083
by kazu[CodeGen] Remove getPseudoProbeAttribute and addPseudoProbeAttribute (NFC)
The last uses of these functions were removed on Jun 17, 2021 in commit bd52495518808bdbf24f4d8e9e20774d6d2e3333.
|
 | llvm/include/llvm/CodeGen/MachineInstr.h |
Commit
2e9853e0e9ff263a948ebef70221fd0cec9c4830
by jan.kratochvil[DWARF5] Only fallback to manual index if no entry was found
If we succeed at gathering global variables for a compile unit, there is no need to fallback to generating a manual index.
Reviewed By: jankratochvil
Differential Revision: https://reviews.llvm.org/D106355
|
 | lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp |
Commit
cd2f5d5b496d43924c27e22f8abd9cff9266d028
by gchatelet[libc] rewrite aarch64 memcmp implementation
This patch is simply rearranging the code layout so it's easier to understand.
Differential Revision: https://reviews.llvm.org/D106641
|
 | libc/src/string/aarch64/memcmp.cpp |
 | libc/src/string/memory_utils/elements.h |
Commit
5697841f66cee81ef58a0d7cb22e5820206c24c6
by dvyukovtsan: add another test for atomics
Add a test where atomic-release happens while another thread spins calling load-acquire. This can expose some interesting interleavings of release and acquire.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107055
|
 | compiler-rt/test/tsan/atomic_norace2.cpp |
Commit
e4902e69e99d07d6d311425d87d4c1d075b72bf8
by lkail[PowerPC] Fix return type of XL compat CAS
`__compare_and_swap*` should return `i32` rather than `i1`.
Reviewed By: jsji
Differential Revision: https://reviews.llvm.org/D107077
|
 | clang/lib/CodeGen/CGBuiltin.cpp |
 | clang/test/CodeGen/builtins-ppc-xlcompat-cas.c |
Commit
fab5659c79410f50b38b2986f3dc8412f3ad9a81
by rosie.sumpterRevert "[LoopFlatten] Fix missed LoopFlatten opportunity"
This reverts commit 2df8bf9339e43de63d8d28e07182e1d6d7ffb843.
Reverting because it causes an assertion failure.
|
 | llvm/lib/Transforms/Scalar/LoopFlatten.cpp |
 | llvm/test/Transforms/LoopFlatten/loop-flatten.ll |
 | llvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll |
Commit
f821a55c5e7847edd0b3bf70543b318d6bcbcd0a
by dvyukovtsan: add intrusive doubly-linked list
Add intrusive doubly-linked list container template, IList. It will be used in the new tsan runtime.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107050
|
 | compiler-rt/lib/tsan/tests/unit/CMakeLists.txt |
 | compiler-rt/lib/tsan/tests/unit/tsan_ilist_test.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_ilist.h |
 | compiler-rt/lib/tsan/CMakeLists.txt |
Commit
e49374f9e0c02dae575f26f969677534b94eac3d
by jezng[lld-macho] Support common symbols in bitcode (but differently from ld64)
ld64 seems to handle common symbols in bitcode rather bizarrely. They follow entirely different precedence rules from their non-bitcode counterparts. I initially tried to emulate ld64 in D106597, but I'm not sure the extra complexity is worth it, especially given that common symbols are not, well, very common.
This diff accords common bitcode symbols the same precedence as regular common symbols, just as we treat all other pairs of bitcode and non-bitcode symbol types. The tests document ld64's behavior in detail, just in case we want to revisit this.
Reviewed By: #lld-macho, thakis
Differential Revision: https://reviews.llvm.org/D107027
|
 | lld/MachO/InputFiles.cpp |
 | lld/test/MachO/lto-common-symbol-coalescing.ll |
 | lld/test/MachO/lto-common-symbol-resolution.ll |
Commit
a26bb9cc056c7ef97247e1a55d3cd71c7d4fb7d6
by jezng[lld-macho][nfc] Simplify common-symbol-coalescing test
|
 | lld/test/MachO/common-symbol-coalescing.s |
Commit
0bc10d9a8ed072c280ec07cd814671dae887a943
by dvyukovtsan: restore Initialize call in Java entry points
We used to call Initialize in every Java point. That was removed in 6563bb53b5 ("tsan: don't use caller/current PC in Java interfaces"). The intention was to add a single Initialize to __tsan_java_init instead. Do that.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107069
|
 | compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp |
Commit
17f650cb0078a85ec8e0d69116cf9140aca7323a
by dvyukovtsan: s/CHECK/DCHECK/ in tsan_interface_java.cpp
We are very paranoid with CHECKs in all Java entry points. These CHECKs were added along with Java support. At that point it wasn't clear what exactly to expect from JVM part and if JVM part is correct or not. Thus CHECK paranoia. These CHECKs never fired in practice, but we pay runtime cost in every entry point all the time. Replace CHECKs with DCHECKs.
Depends on D107069.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107071
|
 | compiler-rt/lib/tsan/rtl/tsan_interface_java.cpp |
Commit
9e9599ef782384847e734dfdb89d34a4bb8c6710
by dvyukovtsan: introduce LazyInitialize
We call non-inlinable Initialize from all interceptors/syscalls, but most of the time runtime is already initialized and this just introduces unnecessary overhead. Add LazyInitialize that (1) inlinable, (2) does nothing if .preinit_array is enabled (expected case on Linux).
Depends on D107071.
Reviewed By: melver
Differential Revision: https://reviews.llvm.org/D107072
|
 | compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.h |
 | compiler-rt/lib/tsan/rtl/tsan_rtl.cpp |
Commit
2a342c7c1ee18817a5f8bb4d32cfc4bce6f9aecd
by gysit[mlir][linalg] Format bufferization debug print outs (NFC).
Change the formatting of the debug print outs to elide unnecessary information.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D106661
|
 | mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp |
Commit
9a5bc83660ed6978521dcfa4faac140cf5b2e895
by ezhulenevAdd an escape-hatch for conversion of funcs with blocking awaits to coroutines.
Currently TFRT does not support top-level coroutines, so this functionality will allow to have a single blocking await at the top level until TFRT implements the necessary functionality.
Reviewed By: ezhulenev
Differential Revision: https://reviews.llvm.org/D106730
|
 | mlir/lib/Dialect/Async/IR/Async.cpp |
 | mlir/include/mlir/Dialect/Async/Passes.td |
 | mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp |
 | mlir/include/mlir/Dialect/Async/IR/AsyncDialect.td |
 | mlir/test/Dialect/Async/async-to-async-runtime-eliminate-blocking.mlir |
Commit
95ef464ac9d1972953709c57449ac178771cd221
by jrtc27Handle subregs and superregs in callee-saved register mask
If a target lists both a subreg and a superreg in a callee-saved register mask, the prolog will spill both aliasing registers. Instead, don't spill the subreg if a superreg is being spilled. This case is hit by the PowerPC SPE code, as well as a modified RISC-V backend for CHERI I maintain out of tree.
Reviewed By: jhibbits
Differential Revision: https://reviews.llvm.org/D73170
|
 | llvm/test/CodeGen/PowerPC/fp-strict.ll |
 | llvm/lib/CodeGen/PrologEpilogInserter.cpp |
 | llvm/test/CodeGen/PowerPC/spe.ll |
Commit
4acc2f29a278ff2a0a4d683dd6d706cc2f7123fd
by protze[OpenMP][Tools][Tests][NFC] Address flaky archer tests
Adding more concurrent threads significantly increases the chance that the data race can be observed during testing.
|
 | openmp/tools/archer/tests/races/task-two.c |
 | openmp/tools/archer/tests/races/critical-unrelated.c |
 | openmp/tools/archer/tests/races/parallel-simple.c |
 | openmp/tools/archer/tests/races/lock-unrelated.c |
 | openmp/tools/archer/tests/races/task-taskgroup-unrelated.c |
 | openmp/tools/archer/tests/races/task-taskwait-nested.c |
 | openmp/tools/archer/tests/races/lock-nested-unrelated.c |
 | openmp/tools/archer/tests/races/task-dependency.c |
Commit
bc5b5ea037dbadd281c59248ae9d2742b51c69ed
by melanie.blower[clang][patch][FPEnv] Make initialization of C++ globals strictfp aware
@kpn pointed out that the global variable initialization functions didn't have the "strictfp" metadata set correctly, and @rjmccall said that there was buggy code in SetFPModel and StartFunction, this patch is to solve those problems. When Sema creates a FunctionDecl, it sets the FunctionDeclBits.UsesFPIntrin to "true" if the lexical FP settings (i.e. a combination of command line options and #pragma float_control settings) correspond to ConstrainedFP mode. That bit is used when CodeGen starts codegen for a llvm function, and it translates into the "strictfp" function attribute. See bugs.llvm.org/show_bug.cgi?id=44571
Reviewed By: Aaron Ballman
Differential Revision: https://reviews.llvm.org/D102343
|
 | clang/test/CodeGen/fp-floatcontrol-stack.cpp |
 | clang/include/clang/AST/Decl.h |
 | clang/test/CodeGen/fp-floatcontrol-class.cpp |
 | clang/include/clang/AST/DeclCXX.h |
 | clang/lib/AST/Decl.cpp |
 | clang/lib/Sema/SemaDeclCXX.cpp |
 | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp |
 | clang/unittests/Sema/ExternalSemaSourceTest.cpp |
 | clang/lib/CodeGen/CodeGenFunction.cpp |
 | clang/lib/Sema/SemaDeclAttr.cpp |
 | clang/lib/Sema/SemaExpr.cpp |
 | clang/lib/Sema/SemaLookup.cpp |
 | clang/lib/AST/DeclCXX.cpp |
 | clang/lib/CodeGen/CGStmtOpenMP.cpp |
 | clang/lib/CodeGen/CodeGenFunction.h |
 | clang/lib/AST/ASTImporter.cpp |
 | clang/lib/Sema/SemaDecl.cpp |
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/lib/CodeGen/CGObjC.cpp |
 | clang/lib/Sema/SemaLambda.cpp |
Commit
5c315bee8c9db27d12cead928eea5a3fef97f34f
by dawid_jurek[DSE] Transform memset + malloc --> calloc (PR25892)
After this change DSE can eliminate malloc + memset and emit calloc. It's https://reviews.llvm.org/D101440 follow-up.
Differential Revision: https://reviews.llvm.org/D103009
|
 | llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp |
 | llvm/test/Transforms/DeadStoreElimination/noop-stores.ll |
Commit
fd251d903b9b1bc8305736fc78764521cd86f8d3
by melanie.blower[clang][patch] Remove erroneous run line committed in D102343
|
 | clang/test/CodeGen/fp-floatcontrol-class.cpp |
Commit
172a55e7a40d27c7882be2e86d515696d8e12427
by i[lldb] Fix FunctionDecl::Create after D102343
|
 | lldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp |
Commit
72a83674dd3a13b59442cd7cb07b53902f7d6a33
by iReplace LLVM_ATTRIBUTE_NORETURN with C++11 [[noreturn]]. NFC
[[noreturn]] can be used since Oct 2016 when the minimum compiler requirement was bumped to GCC 4.8/MSVC 2015.
|
 | lldb/source/Host/posix/ProcessLauncherPosixFork.cpp |
 | lldb/source/Plugins/Process/Linux/SingleStepCheck.cpp |
 | clang/utils/TableGen/ClangDiagnosticsEmitter.cpp |
 | clang-tools-extra/pp-trace/PPTrace.cpp |
 | flang/include/flang/Optimizer/Support/FatalError.h |
Commit
09529892b518c8df8c24395e68e0a7a5e8bda5fb
by i[Support] Remove LLVM_ATTRIBUTE_NORETURN
Code should use C++11 [[noreturn]] or C11 _Noreturn instead.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D106899
|
 | llvm/include/llvm/Support/Compiler.h |
Commit
ee7c9b8f140d0614c3380022b27d9bbd963b9a77
by aeubanks[gn build] Manually add file
Since bot is broken
|
 | llvm/utils/gn/secondary/compiler-rt/lib/tsan/BUILD.gn |
Commit
26c695b7893071d5e69afbaa70c4850ab2e468be
by chris.bienemanSupport macro deprecation #pragma clang deprecated
This patch adds `#pragma clang deprecated` to enable deprecation of preprocessor macros.
The macro must be defined before `#pragma clang deprecated`. When deprecating a macro a custom message may be optionally provided.
Warnings are emitted at the use site of a deprecated macro, and can be controlled via the `-Wdeprecated` warning group.
This patch takes some rough inspiration and a few lines of code from https://reviews.llvm.org/D67935.
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D106732
|
 | clang/lib/Lex/Preprocessor.cpp |
 | clang/include/clang/Lex/Preprocessor.h |
 | clang/docs/LanguageExtensions.rst |
 | clang/lib/Lex/Pragma.cpp |
 | clang/lib/Lex/PPExpressions.cpp |
 | clang/include/clang/Basic/DiagnosticGroups.td |
 | clang/lib/Lex/PPDirectives.cpp |
 | clang/include/clang/Basic/DiagnosticLexKinds.td |
 | clang/include/clang/Basic/IdentifierTable.h |
 | clang/lib/Lex/PPMacroExpansion.cpp |
 | clang/test/Lexer/deprecate-macro.c |
Commit
f8819c109e4afcad19407ceb54e28ef77e1c57e9
by chris.bienemanFixing broken docs build
Need an empty line after the code-block directive.
|
 | clang/docs/LanguageExtensions.rst |
Commit
66ba4e3dc608156797df8f863d61fa106608e45c
by stilisRevert "[lldb] Assert filecache and live memory match on debug under a setting"
This reverts commit 77e9d10f0fbfe04a14e6ce61753376dd78e0c2f0.
This change broke the Windows LLDB bot: https://lab.llvm.org/buildbot/#/builders/83/builds/8784/steps/7/logs/stdio
|
 | lldb/test/Shell/lit-lldb-init.in |
 | lldb/source/Target/Target.cpp |
 | lldb/source/Core/Section.cpp |
 | lldb/include/lldb/Target/Target.h |
 | lldb/packages/Python/lldbsuite/test/lldbtest.py |
 | lldb/include/lldb/Core/Section.h |
 | lldb/source/Target/TargetProperties.td |
Commit
109954410c34434a181f5eb48cbd14f4122101c7
by anjankumar.g.k[AIX] Pass the -b option to linker on AIX
Parse the -b option in the driver and pass it to the linker if the target OS is AIX. This will establish compatibility with the other AIX compilers.
Reviewed By: Zarko Todorovski
Differential Revision: https://reviews.llvm.org/D106688
|
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Driver/ToolChains/CommonArgs.cpp |
 | clang/test/Driver/Xlinker-args.c |
Commit
9efffe8278723e55b4de89ea05f796b67fb9d54e
by Louis Dionne[libc++][NFC] Make private header generation CMake comment more consistent
|
 | libcxx/utils/CMakeLists.txt |
Commit
916d5b9098425b08e74dfd4ee336385c1f731a8b
by a.bataev[SLP][NFC]Add a test for split loads, NFC.
|
 | llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll |
Commit
0bd14711ac4a5d7974473b32b0b5315b054cb77e
by vyng[lld-macho] Change personalities entry type to Ptr to avoid overflowing uint32
PR51262
Differential Revision: https://reviews.llvm.org/D107035
|
 | lld/MachO/UnwindInfoSection.cpp |
Commit
8a0d6e839f0f1a159284d03e45b9297e48c0615c
by ataeiRorder mmt4d iteration domain
Move tile iterators to outer most dim
Reviewed By: rsuderman
Differential Revision: https://reviews.llvm.org/D107003
|
 | mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py |
 | mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml |
Commit
bc96aa9f2c9b25ae65a7e05dbbff8c28079db9c9
by mgorny[clang] Fix typos in Options.td and regen ClangCommandLineReference.rst.
Differential Revision: https://reviews.llvm.org/D106664
|
 | clang/docs/ClangCommandLineReference.rst |
 | clang/include/clang/Driver/Options.td |
Commit
1862ffe25a2e927ecae012f5f0c4cdf7c3fc1b67
by mgorny[clang] Fix a typo in the manual page: s/contraint/constraint.
While there, update hardcoded Clang version from 3.5 to 13.
Differential Revision: https://reviews.llvm.org/D106867
|
 | clang/tools/scan-build/man/scan-build.1 |
Commit
1c144410e791032dfea7dc744518a2c051ec0510
by ezhulenevRefactor AsyncToAsyncRuntime pass to boost understandability.
Depends On D106730
Reviewed By: ezhulenev
Differential Revision: https://reviews.llvm.org/D106731
|
 | mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp |
 | mlir/test/Dialect/Async/async-to-async-runtime-eliminate-blocking.mlir |
 | mlir/test/Dialect/Async/async-to-async-runtime.mlir |
Commit
532c458fa8903deb83a0cbc487dcf51858939172
by Amara Emerson[GlobalISel] Add GPtrAdd and use it in some combines.
|
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
 | llvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h |
Commit
5b2e7f50a6798fd9b9c79d9d62fdebcd9e78525b
by stellaraccident[MLIR][python] Export CAPI headers.
* Adds source targets (not included in the full set that downstreams use by default) to bundle mlir-c/ headers into the mlir/_mlir_libs/include directory. * Adds a minimal entry point to get include and library directories. * Used by npcomp to export a full CAPI (which is then used by the Torch extension to link npcomp).
Reviewed By: mikeurbach
Differential Revision: https://reviews.llvm.org/D107090
|
 | mlir/cmake/modules/AddMLIRPython.cmake |
 | mlir/python/CMakeLists.txt |
 | mlir/python/mlir/_mlir_libs/__init__.py |
 | mlir/test/python/develoment_files.py |
Commit
84a4caeb84d31550790d6922903714b6563469c9
by sander.desmalen[InstSimplify] Don't assume parent function when simplifying llvm.vscale.
D106850 introduced a simplification for llvm.vscale by looking at the surrounding function's vscale_range attributes. The call that's being simplified may not yet have been inserted into the IR. This happens for example during function cloning.
This patch fixes the issue by checking if the instruction is in a parent basic block.
|
 | llvm/lib/Analysis/InstructionSimplify.cpp |
 | llvm/unittests/Transforms/Utils/LocalTest.cpp |
 | llvm/test/Transforms/InstSimplify/fold-vscale.ll |
Commit
d8e4cb912180ce0a35d31b616e6f4c0c3d64abb7
by jonathan.l.peyton[OpenMP] libomp: Add new experimental barrier: two-level distributed barrier
Two-level distributed barrier is a new experimental barrier designed for Intel hardware that has better performance in some cases than the default hyper barrier.
This barrier is designed to handle fine granularity parallelism where barriers are used frequently with little compute and memory access between barriers. There is no need to use it for codes with few barriers and large granularity compute, or memory intensive applications, as little difference will be seen between this barrier and the default hyper barrier. This barrier is designed to work optimally with a fixed number of threads, and has a significant setup time, so should NOT be used in situations where the number of threads in a team is varied frequently.
The two-level distributed barrier is off by default -- hyper barrier is used by default. To use this barrier, you must set all barrier patterns to use this type, because it will not work with other barrier patterns. Thus, to turn it on, the following settings are required:
KMP_FORKJOIN_BARRIER_PATTERN=dist,dist KMP_PLAIN_BARRIER_PATTERN=dist,dist KMP_REDUCTION_BARRIER_PATTERN=dist,dist
Branching factors (set with KMP_FORKJOIN_BARRIER, KMP_PLAIN_BARRIER, and KMP_REDUCTION_BARRIER) are ignored by the two-level distributed barrier.
Patch fixed for ITTNotify disabled builds and non-x86 builds
Co-authored-by: Jonathan Peyton <jonathan.l.peyton@intel.com> Co-authored-by: Vladislav Vinogradov <vlad.vinogradov@intel.com>
Differential Revision: https://reviews.llvm.org/D103121
|
 | openmp/runtime/src/kmp_atomic.cpp |
 | openmp/runtime/src/kmp_settings.cpp |
 | openmp/runtime/src/z_Linux_util.cpp |
 | openmp/runtime/src/kmp_tasking.cpp |
 | openmp/runtime/src/kmp_runtime.cpp |
 | openmp/runtime/src/kmp_stats.h |
 | openmp/runtime/test/barrier/omp_barrier.c |
 | openmp/runtime/src/kmp_config.h.cmake |
 | openmp/runtime/src/kmp_str.h |
 | openmp/runtime/src/z_Windows_NT_util.cpp |
 | openmp/runtime/cmake/config-ix.cmake |
 | openmp/runtime/src/kmp.h |
 | openmp/runtime/src/kmp_os.h |
 | openmp/runtime/src/i18n/en_US.txt |
 | openmp/runtime/src/kmp_wait_release.cpp |
 | openmp/runtime/src/kmp_global.cpp |
 | openmp/runtime/src/kmp_str.cpp |
 | openmp/runtime/src/kmp_wait_release.h |
 | openmp/runtime/src/kmp_barrier.cpp |
 | openmp/runtime/src/kmp_barrier.h |
Commit
087195419719e908394081b4cc6f365170b9882c
by cjdbRevert "Revert "[clang][pp] adds '#pragma include_instead'""
Includes regression test for problem noted by @hans. This reverts commit 973de7185606a21fd5e9d5e8c014fbf898c0e72f.
Differential Revision: https://reviews.llvm.org/D106898
|
 | clang/include/clang/Lex/PreprocessorLexer.h |
 | clang/test/Preprocessor/Inputs/include_instead/non-system-header.h |
 | clang/test/Preprocessor/Inputs/include_instead/private2.h |
 | clang/test/Preprocessor/Inputs/include_instead/public-before.h |
 | clang/lib/Lex/Pragma.cpp |
 | clang/test/Preprocessor/Inputs/include_instead/private1.h |
 | clang/test/Preprocessor/Inputs/include_instead/public-empty.h |
 | clang/test/PCH/ms-pch-macro-include_instead-regression.c |
 | clang/test/Preprocessor/include_instead.cpp |
 | clang/include/clang/Basic/DiagnosticLexKinds.td |
 | clang/test/Preprocessor/Inputs/include_instead/public-after.h |
 | clang/lib/Lex/PPDirectives.cpp |
 | clang/test/Preprocessor/Inputs/include_instead/private-x.h |
 | clang/include/clang/Lex/HeaderSearch.h |
 | clang/include/clang/Lex/Preprocessor.h |
 | clang/lib/Lex/PPLexerChange.cpp |
 | clang/test/Preprocessor/include_instead_file_not_found.cpp |
 | clang/test/Preprocessor/Inputs/include_instead/bad-syntax.h |
 | clang/test/Preprocessor/Inputs/include_instead/file-not-found.h |
 | clang/test/Preprocessor/Inputs/include_instead/private3.h |
 | clang/lib/Lex/Lexer.cpp |
Commit
7645cdcb482694d30771c3409e43ebf2a448211f
by anjankumar.g.kRevert "[AIX] Pass the -b option to linker on AIX"
This reverts commit 109954410c34434a181f5eb48cbd14f4122101c7.
|
 | clang/include/clang/Driver/Options.td |
 | clang/test/Driver/Xlinker-args.c |
 | clang/lib/Driver/ToolChains/CommonArgs.cpp |
Commit
b4d945bacdaf2c60dd5fdb119b90cced73c41beb
by andrew.kaylorFixing an infinite loop problem in InstCombine
Patch by Mohammad Fawaz
This issues started happening after https://github.com/llvm/llvm-project/commit/b373b5990d5991a920c421b21a352e4ccf4c4993 Basically, if the memcpy is volatile, the collectUsers() function should return false, just like we do for volatile loads.
Differential Revision: https://reviews.llvm.org/D106950
|
 | llvm/test/Transforms/InstCombine/memcpy-from-global.ll |
 | llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp |
Commit
1dbc9b534b2a4903af0f98bde72b8f6da797bc19
by leairmarkFix runtime internal error with certain intrinsics that can take a scalar result descriptor (e.g., maxloc, minloc, maxval, minval, all, any, count, parity, findloc, etc.)
Also add a scalar case for these intrinsic unit tests.
Differential Revision: https://reviews.llvm.org/D106820
|
 | flang/runtime/reduction.cpp |
 | flang/unittests/RuntimeGTest/Reduction.cpp |
 | flang/runtime/reduction-templates.h |
Commit
585663225287ec9a26ead936a8424fc0e8a175da
by ayermolo[DWARF] Refactor test to remove relocations for DWO
The way this test generates object file results in relocation sections for .dwo sections. This is not legal. Re-wrote it to avoid those relocation sections.
Reviewed By: dblaikie
Differential Revision: https://reviews.llvm.org/D107012
|
 | llvm/test/DebugInfo/X86/dwarfdump-header.s |
Commit
18c25cd376b6ea38971abb407751cdf08e1e5622
by gclayton[LLDB][GUI] Add Create Target form
This patch adds a Create Target form for the LLDB GUI. Additionally, an Arch Field was introduced to input an arch and the file and directory fields now have a required property.
Reviewed By: clayborg
Differential Revision: https://reviews.llvm.org/D106192
|
 | lldb/source/Core/IOHandlerCursesGUI.cpp |
Commit
62bd33158d924f907dfe2ccd250f20ddb8ed09a9
by gclayton[LLDB][GUI] Add Environment Variable Field
This patch adds an environment variable field. This is usually used as the basic type of a List field. This is needed to create the process launch form.
Reviewed By: clayborg
Differential Revision: https://reviews.llvm.org/D106999
|
 | lldb/source/Core/IOHandlerCursesGUI.cpp |
Commit
256a83b0838d41a1ac6c3d89060d5bf84255dab9
by antiagainst[mlir] Fix CMake option for enabling SPIR-V CPU runner
Reviewed By: hanchung
Differential Revision: https://reviews.llvm.org/D107092
|
 | mlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt |
Commit
995c3984efe3e55c97202335f21d4a14376be995
by antiagainst[mlir] NFC: split Math to SPIR-V conversion into their own files
Reviewed By: hanchung
Differential Revision: https://reviews.llvm.org/D107093
|
 | mlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRVPass.h |
 | mlir/lib/Conversion/CMakeLists.txt |
 | mlir/lib/Conversion/MathToSPIRV/MathToSPIRVPass.cpp |
 | mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp |
 | mlir/include/mlir/Conversion/Passes.h |
 | mlir/test/Conversion/MathToSPIRV/math-to-spirv.mlir |
 | mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp |
 | mlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRV.h |
 | mlir/include/mlir/Conversion/Passes.td |
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | mlir/lib/Conversion/MathToSPIRV/CMakeLists.txt |
 | mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir |
Commit
26be7fe27c66a4db21ca2290ade10b171513177f
by antiagainst[mlir] NFC: split MemRef to SPIR-V conversion into their own files
Reviewed By: hanchung
Differential Revision: https://reviews.llvm.org/D107094
|
 | mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.h |
 | mlir/test/Conversion/MemRefToSPIRV/alloc.mlir |
 | mlir/test/Conversion/StandardToSPIRV/alloc.mlir |
 | mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp |
 | mlir/include/mlir/Conversion/Passes.h |
 | mlir/include/mlir/Conversion/Passes.td |
 | mlir/lib/Conversion/SCFToSPIRV/CMakeLists.txt |
 | utils/bazel/llvm-project-overlay/mlir/BUILD.bazel |
 | mlir/lib/Conversion/MemRefToSPIRV/CMakeLists.txt |
 | mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp |
 | mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp |
 | mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRV.h |
 | mlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir |
 | mlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp |
 | mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir |
 | mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp |
 | mlir/lib/Conversion/CMakeLists.txt |
Commit
c54d5c97564bf8797f2c97ea75bae14b47196d18
by Amara Emerson[GlobalISel] Use GMergeLikeOp to simplify a combine. NFC.
|
 | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp |
Commit
993220a99ccef6657d6d5d04dc51c06255f285f2
by apl[lldb] Remove CPlusPlusLanguage from Mangled
The only remaining plugin dependency in Mangled is CPlusPlusLanguage which it uses to extract information from C++ mangled names. The static function GetDemangledNameWithoutArguments is written specifically for C++, so it would make sense for this specific functionality to live in a C++-related plugin. In order to keep this functionality in Mangled without maintaining this dependency, I added `Language::GetDemangledFunctionNameWithoutArguments`.
Differential Revision: https://reviews.llvm.org/D105215
|
 | lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h |
 | lldb/include/lldb/Target/Language.h |
 | lldb/source/Core/Mangled.cpp |
 | lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp |
Commit
321a04bf62b247db853d136df43d3cdd58d88c53
by leonardchan[compiler-rt][hwasan] Check for SANITIZER_POSIX before including sanitizer_posix.h
Rather than throwing an error. This way we can still use files like hwasan_dynamic_shadow.cpp for other platforms without leading to a preprocessor error.
Differential Revision: https://reviews.llvm.org/D106979
|
 | compiler-rt/lib/sanitizer_common/sanitizer_posix.h |
Commit
b06426da764a8d0254521b33d667db8f26ae5e2f
by i[ELF] Add -Bsymbolic-non-weak-functions
This option is a subset of -Bsymbolic-functions. It applies to STB_GLOBAL STT_FUNC definitions.
The address of a vague linkage function (STB_WEAK STT_FUNC, e.g. an inline function, a template instantiation) seen by a -Bsymbolic-functions linked shared object may be different from the address seen from outside the shared object. Such cases are uncommon. (ELF/Mach-O programs may use `-fvisibility-inlines-hidden` to break such pointer equality. On Windows, correct dllexport and dllimport are needed to make pointer equality work. Windows link.exe enables /OPT:ICF by default so different inline functions may have the same address.)
``` // a.cc -> a.o -> a.so (-Bsymbolic-functions) inline void f() {} void *g() { return (void *)&f; }
// b.cc -> b.o -> exe // The address is different! inline void f() {} ```
-Bsymbolic-non-weak-functions is a safer (C++ conforming) subset of -Bsymbolic-functions, which can make such programs work.
Implementations usually emit a vague linkage definition in a COMDAT group. We could detect the group (with more code) but I feel that we should just check STB_WEAK for simplicity. A weak definition will thus serve as an escape hatch for rare cases when users want interposition on definitions.
GNU ld feature request: https://sourceware.org/bugzilla/show_bug.cgi?id=27871
Longer write-up: https://maskray.me/blog/2021-05-16-elf-interposition-and-bsymbolic
If Linux distributions migrate to protected non-vague-linkage external linkage functions by default, the linker option can still be handy because it allows rapid experiment without recompilation. Protected function addresses currently have deep issues in GNU ld.
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D102570
|
 | lld/ELF/Config.h |
 | lld/ELF/Symbols.cpp |
 | lld/docs/ld.lld.1 |
 | lld/test/ELF/bsymbolic.s |
 | lld/ELF/Options.td |
 | lld/ELF/Driver.cpp |
 | lld/docs/ReleaseNotes.rst |
 | lld/ELF/SyntheticSections.cpp |
Commit
9a824823131600bca71406f533c2ba051c23c7d7
by cathyzhyi[mlir][linalg] Fix pad tensor cast folding with changed type
`PadTensorOp` has verification logic to make sure result dim must be static if all the padding values are static. Cast folding might add more static information for the src operand of `PadTensorOp` which might change a valid operation to be invalid. Change the canonicalizing pattern to fix this.
|
 | mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp |
 | mlir/test/Dialect/Linalg/canonicalize.mlir |
Commit
8e167f66b27fe9d2573eb149f736700302675297
by 31459023+hctim[GWP-ASan] Add version header.
Adds magic version header to AllocatorState. This can be used by out-of-process crash handlers, like Crashpad on Fuchsia, to do offline reconstruction of GWP-ASan crash metadata.
Crashpad on Fuchsia is intending on dumping the AllocationMetadata pool and the AllocatorState directly into the minidump. Then, using the version number, they can unpack the data on serverside using a versioned unpack tool.
Also add some asserts to make sure the version number gets bumped if the internal structs get changed.
Reviewed By: eugenis, mcgrathr
Differential Revision: https://reviews.llvm.org/D106690
|
 | compiler-rt/lib/gwp_asan/common.h |
Commit
d4a2daa919272081582c6c14141dd57a6eab9832
by david.green[ARM] Define a couple more ssub indexes. NFC
Same as 91bd3ad128f7b3b28bd98242e9a5df214eb04eea, this doesn't really change anything but gives the registers better names than the ones tablegen would define. And fills in the missing gaps.
|
 | llvm/lib/Target/ARM/ARMRegisterInfo.td |
Commit
2ca8295c860f1e8e300c2fde5c4e84b72d8248aa
by leairmarkFix unit test checks for the scalar cases of all/any intrinsics. I accidentally used int64 when they should have been int32. This lead to a Windows build unit test error (Linux did not catch the problem).
Differential Revision: https://reviews.llvm.org/D107107
|
 | flang/unittests/RuntimeGTest/Reduction.cpp |
Commit
26ba774f6865f0c6bb15dbbe80dc23e1db33d54b
by Adrian PrantlSimplify testcase to use v instead of p (NFC)
|
 | lldb/test/API/commands/process/attach/TestProcessAttach.py |
Commit
cf36ab1d6c39e80a70b5a1dc80120cccccb5301c
by stellaraccident[MLIR][Python] Use DEST_PREFIX when installing.
Differential Revision: https://reviews.llvm.org/D107100
|
 | mlir/cmake/modules/AddMLIRPython.cmake |
Commit
2d0ba5e1446f0025603bbe064090737c5510bcf4
by rob.suderman[mlir][tosa] Fix tosa.reshape failures due to implicit broadcasting
Make broadcastable needs the output shape to determine whether the operation includes additional broadcasting. Include some canonicalizations for TOSA to remove unneeded reshape.
Reviewed By: NatashaKnk
Differential Revision: https://reviews.llvm.org/D106846
|
 | mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td |
 | mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp |
 | mlir/lib/Dialect/Tosa/IR/TosaOps.cpp |
 | mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp |
 | mlir/test/Dialect/Tosa/broadcast.mlir |
Commit
4c98e9455aadee2629dd4f117b6c4e7e9e87cc01
by George Burgess IVsecurity: highlight phab accounts; recommend phab for nominations
This commit contains two mildly separate concepts.
First, sending out reviews for things like this is a bit of a complicated endeavor, since the reviewer list is relatively long, and I generally rely on prior CLs in this area to find an authoritative list. Life's quite a bit easier if phab usernames are readily available on the doc. So part 1 is making those available.
Second, it seems to me that, at the moment, Phabricator makes the most sense for membership changes (incl. security group nominations). My reasoning for this is detailed in the diff, and to some extent in comment #1 of this bug <https://bugs.chromium.org/p/llvm/issues/detail?id=12#c1>. This change adds prose to recommend the use of Phabricator for nominations as a result.
Differential Revision: https://reviews.llvm.org/D106917
|
 | llvm/docs/Security.rst |
Commit
a8b7e56f65c78a49ba0297c4ecabbd643fa40c25
by amy.zhuang[mlir] Set insertion point of vector constant to the top of the vectorized loop body
When we vectorize a scalar constant, the vector constant is inserted before its first user if the scalar constant is defined outside the loops to be vectorized. It is possible that the vector constant does not dominate all its users. To fix the problem, we find the innermost vectorized loop that encloses that first user and insert the vector constant at the top of the loop body.
Reviewed By: nicolasvasilache
Differential Revision: https://reviews.llvm.org/D106609
|
 | mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp |
 | mlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir |
 | mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir |
Commit
c5d84d2eb35c1f0d3b08e1d1e95c1a22a28904d1
by Adrian PrantlGlobalISel/AArch64: don't optimize away redundant branches at -O0
This patch prevents GlobalISel from optimizing out redundant branch instructions when compiling without optimizations.
The motivating example is code like the following common pattern in Swift, where users expect to be able to set a breakpoint on the early exit:
public func f(b: Bool) { guard b else { return // I would like to set a breakpoint here. } ... }
The patch modifies two places in GlobalISEL: The first one is in IRTranslator.cpp where the removal of redundant branches is made conditional on the optimization level. The second one is in AArch64InstructionSelector.cpp where an -O0 *only* optimization is being removed.
Disabling these optimizations increases code size at -O0 by ~8%. However, doing so improves debuggability, and debug builds are the primary reason why developers compile without optimizations. We thus concluded that this is the right trade-off.
rdar://79515454
This tenatively reapplies the patch without modifications, the LLDB test that has blocked this from landing previously has since been modified to hopefully no longer be sensitive to this change.
Differential Revision: https://reviews.llvm.org/D105238
|
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/phi.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll |
 | llvm/test/CodeGen/AArch64/unwind-preserved.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s32.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s64.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll |
 | llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp |
 | llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp |
 | llvm/test/DebugInfo/AArch64/fallthrough-branch.ll |
 | llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll |
 | llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/jump_table_and_brjt.ll |
Commit
f3c39ee84ad6950035a6083c076fdebddebefb04
by spatel[InstCombine] add tests for vector cmp-bitcast; NFC
|
 | llvm/test/Transforms/InstCombine/icmp-vec.ll |
Commit
0fd813cf19c754a6cb3f2483332038a49eac33bd
by Adrian PrantlFix typo
|
 | lldb/test/API/commands/process/attach/TestProcessAttach.py |
Commit
648844fd69fa304a04aab2e39dcb114c89d078bf
by Adrian PrantlMake testcase more robust against codegen changes
|
 | lldb/test/API/commands/process/attach/main.cpp |
Commit
cd0dd8ece8e67a3bea96056b2ef15afb481155ad
by huberjn[OpenMP] Adding flags for disabling the following optimizations: Deglobalization SPMDization State machine rewrites Folding
This work provides four flags to disable four different sets of OpenMP optimizations. These flags take effect in llvm/lib/Transforms/IPO/OpenMPOpt.cpp and include the following: - openmp-opt-disable-deglobalization: Defaults to false, adding this flag sets the variable DisableOpenMPOptDeglobalization to true. This prevents AA registration for HeapToStack and HeapToShared. - openmp-opt-disable-spmdization: Defaults to false, adding this flag sets the variable DisableOpenMPOptSPMDization to true. This indicates a pessimistic fixpoint in changeToSPMDMode. - openmp-opt-disable-folding: Defaults to false, adding this flag sets the variable DisableOpenMPOptFolding to true. This indicates a pessimistic fixpoint in the attributor init for AAFoldRuntimeCall. - openmp-opt-disable-state-machine-rewrite: Defaults to false, adding this flag sets the variable DisableOpenMPOptStateMachineRewrite to true. This first prevents changes to the state machine in rewriteDeviceCodeStateMachine by returning before changes are made, and if a custom state machine is built in buildCustomStateMachine, stops by returning a pessimistic fixpoint.
Reviewed By: jhuber6
Differential Revision: https://reviews.llvm.org/D106802
|
 | llvm/test/Transforms/OpenMP/spmdization.ll |
 | llvm/lib/Transforms/IPO/OpenMPOpt.cpp |
 | llvm/test/Transforms/OpenMP/fold_generic_main_thread.ll |
 | llvm/test/Transforms/OpenMP/remove_globalization.ll |
 | llvm/test/Transforms/OpenMP/custom_state_machines.ll |
Commit
cc238a6e038832b804c8010e02b87ff9e84e0bfe
by marksl[ARC] Add additional mov immediate instruction formats with a fix for u6 decoding
Differential Revision: https://reviews.llvm.org/D107088
|
 | llvm/lib/Target/ARC/Disassembler/ARCDisassembler.cpp |
 | llvm/test/MC/Disassembler/ARC/misc.txt |
 | llvm/test/MC/Disassembler/ARC/alu.txt |
 | llvm/lib/Target/ARC/ARCInstrInfo.td |
 | llvm/lib/Target/ARC/ARCInstrFormats.td |
Commit
a68ccba77a48494a5200245ddcd085e49a77a2d1
by smeenai[compiler-rt] Fix COMPILER_RT_OS_DIR for Android
Android has its own CMAKE_SYSTEM_NAME, but the OS is Linux (Android target triples look like aarch64-none-linux-android21). The driver will therefore search for compiler-rt libraries in the "linux" directory and not the "android" directory, so the default placement of Android compiler-rt libraries was incorrect. You could fix it by specifying COMPILER_RT_OS_DIR manually, but it also makes sense to fix the default, to save others from having to discover and fix the issue for themselves.
|
 | compiler-rt/cmake/base-config-ix.cmake |
Commit
f984b0e177f8342a66bde66f65c71ac68bc9acf0
by Amara Emerson[GlobalISel] Refactor the unmerge artifact value finder code.
I moved the code that tries to combine away each unmerge def into a method in ArtifactValueFinder class itself. This removes a logically messy lambda and makes it easier to use the value-finder in more places in future.
|
 | llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h |
Commit
1e6a93f15c7ea890c876a3a10c7e3970a1710dff
by powerman1st[AVR][clang] Pass '--start-group' and '--end-group' options to avr-ld
Reviewed By: Ben Shi
Differential Revision: https://reviews.llvm.org/D106854
|
 | clang/test/Driver/avr-ld.c |
 | clang/lib/Driver/ToolChains/AVR.cpp |
Commit
811be79433638c3c7eeea65f5438044a5ba8de9a
by ben.shi[RISCV][test] Add new tests for mul optimization in the zba extension with SH*ADD
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D107064
|
 | llvm/test/CodeGen/RISCV/rv32zba.ll |
 | llvm/test/CodeGen/RISCV/rv64zba.ll |
Commit
bb6fddb63ca73acb84c39c4d548024bf6398d86e
by ben.shiOptimize mul in the zba extension with SH*ADD
This patch does the following optimization of mul with a constant.
(mul x, 11) -> (SH1ADD (SH2ADD x, x), x) (mul x, 19) -> (SH1ADD (SH3ADD x, x), x) (mul x, 13) -> (SH2ADD (SH1ADD x, x), x) (mul x, 21) -> (SH2ADD (SH2ADD x, x), x) (mul x, 37) -> (SH2ADD (SH3ADD x, x), x) (mul x, 25) -> (SH3ADD (SH1ADD x, x), x) (mul x, 41) -> (SH3ADD (SH2ADD x, x), x) (mul x, 73) -> (SH3ADD (SH3ADD x, x), x) (mul x, 27) -> (SH1ADD (SH3ADD x, x), (SH3ADD x, x)) (mul x, 45) -> (SH2ADD (SH3ADD x, x), (SH3ADD x, x)) (mul x, 81) -> (SH3ADD (SH3ADD x, x), (SH3ADD x, x))
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D107065
|
 | llvm/test/CodeGen/RISCV/xaluo.ll |
 | llvm/lib/Target/RISCV/RISCVInstrInfo.td |
 | llvm/lib/Target/RISCV/RISCVInstrInfoB.td |
 | llvm/test/CodeGen/RISCV/rv32zba.ll |
 | llvm/test/CodeGen/RISCV/rv64zba.ll |
Commit
1de7a17ff3201e4aa29cf53c0745e8666fbf8286
by stellaraccident[MLIR][python] Disable SONAME on extensions.
* Broken out of https://reviews.llvm.org/D106419 * Otherwise, same named modules will conflict with each other.
Differential Revision: https://reviews.llvm.org/D107113
|
 | mlir/cmake/modules/AddMLIRPython.cmake |
Commit
e622c99f305dc1fe9385742079a9ac6f81f86d2e
by marksl[ARC] Add norm/normh instructions with disassembly tests Add disassembler support for the NORM and NORMH instructions. These instructions only exist when the ARC processor is configured with the "norm" extension.
fferential Revision: https://reviews.llvm.org/D107118
|
 | llvm/test/MC/Disassembler/ARC/misc.txt |
 | llvm/lib/Target/ARC/ARCInstrInfo.td |
Commit
6fa2d0fbf4637c3db7c4a57eb4c8522c216c82ea
by gcmn[Bazel] Derive targets from file presence as in CMake build
This makes the logic used to determine if targets have the given features the same as is used in CMake. Incidentally, it enables these features for the targets added in https://reviews.llvm.org/D106921 which were missing because this was previously a hardcoded list.
Reviewed By: chandlerc
Differential Revision: https://reviews.llvm.org/D107019
|
 | utils/bazel/llvm-project-overlay/llvm/BUILD.bazel |
Commit
f3a8a7b91e54884a45895aa10e8433c2ce8e16ba
by gcmn[Bazel] Unconditionally define STDC LIMIT/CONSTANT/FORMAT
These are unconditionally included in the CMake build as well and necessary for some odd platforms (even though the C++11 standard says they shouldn't be).
Reviewed By: chandlerc
Differential Revision: https://reviews.llvm.org/D107123
|
 | utils/bazel/llvm-project-overlay/llvm/config.bzl |
Commit
d983499543ee9f5b2fec3d437e0a15acacb9586d
by gcmn[Bazel] Make td_library usable as data
This patch makes it possible to list a td_library as a rule's data attribute and get its source files and all its transitive dependencies at runtime. This is useful for, e.g. shell tests running tblgen.
Note that this is a bit different from how a "normal" (e.g. C++) library rule would work because those have actual library outputs and the td_library rule just bundles some source files and includes. If someone wanted to make use of the includes, they would have to access the TdInfo provider, but this keeps simple things simple.
Reviewed By: jpienaar
Differential Revision: https://reviews.llvm.org/D106922
|
 | utils/bazel/llvm-project-overlay/mlir/tblgen.bzl |
Commit
0a68443bd07c48dbaf554f6e3b26b3ab5ed1d383
by walter erquinigo[source map] fix relative path breakpoints
https://reviews.llvm.org/D45592 added a nice feature to be able to specify a breakpoint by a relative path. E.g. passing foo.cpp or bar/foo.cpp or zaz/bar/foo.cpp is fine. However, https://reviews.llvm.org/D68671 by mistake disabled the test that ensured this functionality works. With time, someone made a small mistake and fully broke the functionality.
So, I'm making a very simple fix and the test passes.
Differential Revision: https://reviews.llvm.org/D107126
|
 | lldb/source/Breakpoint/BreakpointResolverFileLine.cpp |
 | lldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py |
Commit
a09e93bfb820a261e009422cae53134578274500
by Jinsong Ji[AIX] Include symbol alias in extract_symbols.py
nm does not show size for aliased symbols, we should still extract them if they are external.
Reviewed By: hubert.reinterpretcast
Differential Revision: https://reviews.llvm.org/D107112
|
 | llvm/utils/extract_symbols.py |
Commit
ac2ffdef9cc8d152801ca87d81736fb1dec9cb88
by wei.huangtsan: Fix the improper argument type in tsan_ilist_test.cpp
- clang-ppc64le-rhel bot LIT failure: https://lab.llvm.org/buildbot/#/builders/57/builds/8932 - culprit change: https://reviews.llvm.org/D107050
|
 | compiler-rt/lib/tsan/tests/unit/tsan_ilist_test.cpp |
Commit
f16a4fcbe510d17b3f361d446eaf223208ded2bd
by anton.zabaznov[OpenCL] Add support of __opencl_c_3d_image_writes feature macro
This feature requires support of __opencl_c_images, so diagnostics for that is provided as well. Also, ensure that cl_khr_3d_image_writes feature macro is set to the same value.
Reviewed By: Anastasia
Differential Revision: https://reviews.llvm.org/D106260
|
 | clang/lib/Basic/Targets/AMDGPU.h |
 | clang/lib/Sema/SemaType.cpp |
 | clang/lib/Basic/OpenCLOptions.cpp |
 | clang/test/SemaOpenCL/unsupported-image.cl |
 | clang/test/Misc/opencl-c-3.0.incorrect_options.cl |
 | clang/include/clang/Basic/DiagnosticSemaKinds.td |
Commit
5839976976bc018b674f45f56f8a13707b870443
by walter erquinigo[nfc][trace] use formatv instead of the old Printf
It was suggested in https://reviews.llvm.org/D105741 and it makes sense.
|
 | lldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.cpp |
Commit
8011fc1953831ff289da7e8854f684f5c8e6205c
by esme.yi[yaml2obj] Enable support for parsing 64-bit XCOFF.
Summary: Add support for yaml2obj to parse 64-bit XCOFF.
Reviewed By: shchenz
Differential Revision: https://reviews.llvm.org/D100375
|
 | llvm/include/llvm/BinaryFormat/XCOFF.h |
 | llvm/test/tools/yaml2obj/XCOFF/basic-doc64.yaml |
 | llvm/lib/ObjectYAML/XCOFFEmitter.cpp |
Commit
754520a2bf55a0873753efb1d863a5ffd116c48b
by stefanp[PowerPC] Fix issue where hint was providing the incorrect regsiter class.
Regsier hints when copying to a UACC register do not always produce VSRp registers. This patch makes sure that we do not produce hints in cases where the subregsiter of the UACC is not a VSRp.
Reviewed By: nemanjai, #powerpc
Differential Revision: https://reviews.llvm.org/D107101
|
 | llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll |
 | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp |
Commit
d1e4b25756730576996457ba7324e9bf210e3693
by anton.zabaznov[OpenCL] Add support of __opencl_c_pipes feature macro.
'pipe' keyword is introduced in OpenCL C 2.0: so do checks for OpenCL C version while parsing and then later on check for language options to construct actual pipe. This feature requires support of __opencl_c_generic_address_space, so diagnostics for that is provided as well.
Reviewed By: Anastasia
Differential Revision: https://reviews.llvm.org/D106748
|
 | clang/lib/Basic/OpenCLOptions.cpp |
 | clang/test/CodeGenOpenCL/pipe_builtin.cl |
 | clang/include/clang/Basic/LangOptions.def |
 | clang/test/SemaOpenCL/storageclass.cl |
 | clang/lib/Sema/Sema.cpp |
 | clang/lib/Basic/TargetInfo.cpp |
 | clang/test/CodeGenOpenCL/address-spaces.cl |
 | clang/test/CodeGenOpenCL/address-spaces-mangling.cl |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/Misc/opencl-c-3.0.incorrect_options.cl |
 | clang/lib/Parse/ParseDecl.cpp |
 | clang/test/SemaOpenCL/invalid-pipes-cl1.2.cl |
 | clang/test/SemaOpenCL/invalid-pipes-cl2.0.cl |
 | clang/test/CodeGenOpenCL/pipe_types.cl |
 | clang/test/CodeGenOpenCL/pipe_types_mangling.cl |
Commit
da6626d12624675c46a73e8545fecc572695efeb
by anton.zabaznovRevert "[OpenCL] Add support of __opencl_c_pipes feature macro."
This reverts commit d1e4b25756730576996457ba7324e9bf210e3693.
|
 | clang/lib/Sema/Sema.cpp |
 | clang/lib/Basic/TargetInfo.cpp |
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/test/CodeGenOpenCL/address-spaces-mangling.cl |
 | clang/test/CodeGenOpenCL/pipe_types_mangling.cl |
 | clang/test/SemaOpenCL/storageclass.cl |
 | clang/lib/Basic/OpenCLOptions.cpp |
 | clang/test/CodeGenOpenCL/pipe_builtin.cl |
 | clang/test/Misc/opencl-c-3.0.incorrect_options.cl |
 | clang/test/SemaOpenCL/invalid-pipes-cl2.0.cl |
 | clang/test/CodeGenOpenCL/address-spaces.cl |
 | clang/include/clang/Basic/LangOptions.def |
 | clang/lib/Parse/ParseDecl.cpp |
 | clang/test/CodeGenOpenCL/pipe_types.cl |
 | clang/test/SemaOpenCL/invalid-pipes-cl1.2.cl |
Commit
dfe9895a52cda716867201b321242c136ec60163
by leairmarkFix scalar unit tests for all, any, maxloc, etc. that caused the ARM build to fail due to warnings as errors. Note that I could not reproduce the problem locally, but based on the messages, I think this change will fix the errors.
Differential Revision: https://reviews.llvm.org/D107120
|
 | flang/unittests/RuntimeGTest/Reduction.cpp |
Commit
3c7d2f1b67d123b748beabc91a5ca041b102b065
by airlied[OpenCL] opencl-c.h: add CL 3.0 non-generic address space atomics
CL 2.0 introduced atomics and generic address space so there were only one set of APIs for doing atomics, however since CL 3.0 makes generic address space optional, there has to be new sets of atomic interfaces to handle that cases.
Reviewed By: Anastasia
Differential Revision: https://reviews.llvm.org/D106778
|
 | clang/lib/Headers/opencl-c.h |
Commit
7a797b2902993ad9ad9a04dcf46efc64398cd7e3
by mtrofinTake OptimizationLevel class out of Pass Builder
Pulled out the OptimizationLevel class from PassBuilder in order to be able to access it from within the PassManager and avoid include conflicts.
Reviewed By: mtrofin
Differential Revision: https://reviews.llvm.org/D107025
|
 | llvm/tools/opt/NewPMDriver.cpp |
 | polly/lib/Support/RegisterPasses.cpp |
 | llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp |
 | llvm/lib/LTO/ThinLTOCodeGenerator.cpp |
 | llvm/lib/LTO/LTOBackend.cpp |
 | llvm/lib/Passes/PassBuilder.cpp |
 | polly/include/polly/Canonicalization.h |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | llvm/lib/Target/BPF/BPFTargetMachine.cpp |
 | llvm/include/llvm/Passes/PassBuilder.h |
 | llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp |
 | polly/lib/Transform/Canonicalization.cpp |
 | llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp |
 | llvm/examples/Bye/Bye.cpp |
 | llvm/include/llvm/Passes/OptimizationLevel.h |
Commit
8a241cd9c2479fc5c1fa3b31a1348bec11654367
by Lang Hames[JITLink][ELF][x86-64] Include relocation name in missing relocation errors.
This saves a level of manual table lookup for those of us who don't remember ELF relocation numbers off the top of our heads.
|
 | llvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp |