Commit
ffac9001d987096537b94ed7a1e4e4a4665d571f
by martin[compiler-rt] [sanitizer] Silence -Wframe-larger-than= for a few windows functions with large stack buffers
Also update a documentation url while touching code nearby, as requested in review.
Differential Revision: https://reviews.llvm.org/D91853
|
 | compiler-rt/lib/sanitizer_common/sanitizer_win.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp |
 | compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_win.cpp |
Commit
0e23fd676c3984a2b867c167950464262c8e0dc6
by hoy[Driver] Add DWARF64 flag: -gdwarf64
@ikudrin enabled support for dwarf64 in D87011. Adding a clang flag so it can be used through that compilation pass.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D90507
|
 | clang/lib/Frontend/CompilerInvocation.cpp |
 | clang/include/clang/Basic/CodeGenOptions.def |
 | clang/test/Driver/debug-options.c |
 | clang/include/clang/Driver/Options.td |
 | clang/lib/Driver/ToolChains/Clang.cpp |
 | clang/lib/CodeGen/BackendUtil.cpp |
Commit
1fc986427ba32384a03286472d3c04b37420ad73
by ezhulenev[mlir:JitRunner] Use custom shared library init/destroy functions if available
Use custom mlir runner init/destroy functions to safely init and destroy shared libraries loaded by the JitRunner.
This mechanism is ignored for Windows builds (for now) because init/destroy functions are not exported, and library unloading relies on static destructors.
Re-submit https://reviews.llvm.org/D94270 with a temporary workaround for windows
Differential Revision: https://reviews.llvm.org/D94312
|
 | mlir/lib/ExecutionEngine/AsyncRuntime.cpp |
 | mlir/lib/ExecutionEngine/CMakeLists.txt |
 | mlir/lib/ExecutionEngine/JitRunner.cpp |
Commit
aa1943a2d167823e6d506895292477f79874dd20
by Adrian PrantlDon't take the address of a temporary
|
 | lldb/source/Core/ValueObject.cpp |
Commit
1ba5ea67a30170053964a28f2f47aea4bb7f5ff1
by riddleriver[mlir] Add a hook for initializing passes before execution and use it in the Canonicalizer
This revision adds a new `initialize(MLIRContext *)` hook to passes that allows for them to initialize any heavy state before the first execution of the pass. A concrete use case of this is with patterns that rely on PDL, given that PDL is compiled at run time it is imperative that compilation results are cached as much as possible. The first use of this hook is in the Canonicalizer, which has the added benefit of reducing the number of expensive accesses to the context when collecting patterns.
Differential Revision: https://reviews.llvm.org/D93147
|
 | mlir/include/mlir/Pass/Pass.h |
 | mlir/include/mlir/Pass/PassManager.h |
 | mlir/docs/PassManagement.md |
 | mlir/lib/Pass/Pass.cpp |
 | mlir/lib/Pass/PassDetail.h |
 | mlir/lib/Transforms/Canonicalizer.cpp |
Commit
a57def30f53990aafc3f64b9b7a0f60916cc7f61
by ajcbik[mlir][vector] generalized masked l/s and compressed l/s with indices
Adding the ability to index the base address brings these operations closer to the transfer read and write semantics (with lowering advantages), ensures more consistent use in vector MLIR code (easier to read), and reduces the amount of code duplication to lower memrefs into base addresses considerably (making codegen less error-prone).
Reviewed By: ThomasRaoux
Differential Revision: https://reviews.llvm.org/D94278
|
 | mlir/integration_test/Dialect/Vector/CPU/test-maskedload.mlir |
 | mlir/test/Dialect/Vector/invalid.mlir |
 | mlir/lib/Dialect/Vector/VectorOps.cpp |
 | mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp |
 | mlir/test/Dialect/Vector/vector-mem-transforms.mlir |
 | mlir/test/Dialect/Vector/vector-transforms.mlir |
 | mlir/integration_test/Dialect/Vector/CPU/test-compress.mlir |
 | mlir/include/mlir/Dialect/Vector/VectorOps.td |
 | mlir/test/Dialect/Vector/ops.mlir |
 | mlir/integration_test/Dialect/Vector/CPU/test-expand.mlir |
 | mlir/test/lib/Transforms/TestVectorTransforms.cpp |
 | mlir/integration_test/Dialect/Vector/CPU/test-maskedstore.mlir |
 | mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir |
Commit
78b3bce23b113ab5dbd33d746ba48f2a3c20c5ff
by ezhulenev[mlir] AsyncRuntime: disable mlir-runner init/disable for WIN32
Differential Revision: https://reviews.llvm.org/D94339
|
 | mlir/lib/ExecutionEngine/AsyncRuntime.cpp |
Commit
bc556e5685c0f97e79fb7b3c6f15cc5062db8e36
by Louis Dionne[libc++/abi] Re-remove unnecessary null pointer checks from operator delete
In 7cd67904f776, we removed the unnecessary nullptr checks from the libc++abi definition of operator delete, but we forgot to update the definition in libc++ (damn code duplication!). Then, in d4a1e03c5fb5, I synced the definitions across libc++ and libc++abi, but I did it the wrong way around. I re-added the if() checks to libc++abi instead of removing them from libc++.
In ef74f0fdc339, we re-removed the if() check from operator delete, but only in libc++abi. This patch corrects this mess and removes it consistently in libc++ and libc++abi.
Differential Revision: https://reviews.llvm.org/D93473
|
 | libcxx/src/new.cpp |
 | libcxxabi/src/stdlib_new_delete.cpp |
Commit
ca1694b9d07cf14dd15d804b37fa151f4e082c2f
by arthur.j.odwyerRe-enable __cpp_lib_constexpr_functional.
I accidentally disabled this feature-test macro in my D93830, due to a rebasing conflict. It had been enabled by my D93815, and should have remained enabled.
|
 | libcxx/test/std/language.support/support.limits/support.limits.general/functional.version.pass.cpp |
 | libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp |
 | libcxx/docs/FeatureTestMacroTable.rst |
 | libcxx/include/version |
 | libcxx/utils/generate_feature_test_macro_components.py |
Commit
963b771e24caff502d6b5d9b2f72dd88dd56e97a
by arthur.j.odwyer[libc++] Mark [P0475] "LWG2511: guaranteed copy elision for piecewise construction" as Complete.
The point of LWG2511 is basically just to make sure that we use `tuple<Args&&...>` instead of `tuple<Args...>` in a couple of places inside `scoped_allocator_adaptor` and inside `pair`. As far as I can tell, this has been true for libc++ since EricWF's D27612 (and maybe even earlier than that).
|
 | libcxx/docs/Cxx2aStatusPaperStatus.csv |
Commit
cdd7cbf7b56bf9e46914ee95c0658f543c7c14a9
by arthur.j.odwyer[libc++] Mark [P0809] "LWG2831: Comparing Unordered Containers" as Nothing To Do.
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0809r0.pdf
This issue/paper simply removed some library UB because vendors were already doing the right thing. libc++ has always done the right thing (in this respect).
Differential Revision: https://reviews.llvm.org/D93816
|
 | libcxx/docs/Cxx2aStatusPaperStatus.csv |
Commit
77501bd1754fd15bc5044af78e987f894f494ee9
by riddleriver[mlir][PassManager] Properly set the initialization generation when cloning a pass manager
Fixes a bug where dynamic pass pipelines of cloned pass managers weren't being initialized properly.
|
 | mlir/lib/Pass/Pass.cpp |
Commit
d86e16e4bd5ed90f08e6e787785b485636a2184d
by Louis Dionne[libc++] NFC: Document the Differential queries to avoid duplicating work
Differential Revision: https://reviews.llvm.org/D94343
|
 | libcxx/docs/Contributing.rst |
Commit
e05baf40de8a3bbfcf4a765761b1147e94b7309c
by Vedant Kumar[InitLLVM] Ensure SIGPIPE handler installed before sigaction()
The pipe signal handler must be installed before any other handlers are registered. This is because the Unix RegisterHandlers function does not perform a sigaction() for SIGPIPE unless a one-shot handler is present, to allow long-lived processes (like lldb) to fully opt-out of llvm's SIGPIPE handling and ignore the signal safely.
Fixes a bug introduced in D70277.
Tested by running Nick's test case:
% xcrun ./bin/clang -E -fno-integrated-cc1 x.c | tee foo.txt | head
I verified that child cc1 process exits with IO_ERR, and that the parent recognizes the error code, exiting cleanly.
Differential Revision: https://reviews.llvm.org/D94324
|
 | llvm/include/llvm/Support/InitLLVM.h |
 | clang/test/Driver/sigpipe-handling.c |
 | llvm/lib/Support/InitLLVM.cpp |
Commit
2bf6e443e54604c7818c4d1a1837f3d091023270
by richardAttempt to complete an incomplete expression type when considering a reference binding to an expression.
We need to know the array bound in order to determine whether the parameter type is reference-compatible with the argument type, so we need to trigger instantiation in this case.
|
 | clang/lib/Sema/SemaType.cpp |
 | clang/test/SemaTemplate/instantiate-static-var.cpp |
 | clang/include/clang/Sema/Sema.h |
 | clang/lib/Sema/SemaTemplateDeduction.cpp |
 | clang/lib/Sema/SemaInit.cpp |
Commit
bc8acf2ce8ad6e8c9b1d97b2e02d3f4ad26e1d9d
by andrewUpdate the maximum integer bitwidth in MLIR.
Large integers are generated in Circt commonly which exceed 4kbits. This aligns the maximum bitwidth in MLIR and LLVM.
Reviewed By: rriddle, lattner, mehdi_amini
Differential Revision: https://reviews.llvm.org/D94116
|
 | mlir/include/mlir/IR/BuiltinTypes.h |
 | mlir/test/IR/invalid-ops.mlir |
Commit
756dd707668ccc1ac22b88d5899984843a5a3262
by aeubanks[NewPM] Run ObjC ARC passes
Match the legacy PM in running various ObjC ARC passes.
This requires making some module passes into function passes. These were initially ported as module passes since they add function declarations (e.g. https://reviews.llvm.org/D86178), but that's still up for debate and other passes do so.
Reviewed By: ahatanak
Differential Revision: https://reviews.llvm.org/D93743
|
 | llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp |
 | clang/lib/CodeGen/BackendUtil.cpp |
 | llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp |
 | llvm/include/llvm/Transforms/ObjCARC.h |
 | llvm/lib/Passes/PassRegistry.def |
Commit
daaaed6bb89044ac58a23f1bb1ccdd12342a5a58
by jezng[lld-macho] Fix TLV data initialization
We were mishandling the case where both `__tbss` and `__thread_data` sections were present.
TLVP relocations should be encoded as offsets from the start of `__thread_data`, even if the symbol is actually located in `__thread_bss`. Previously, we were writing the offset from the start of the containing section, which doesn't really make sense since there's no way `tlv_get_addr()` can know which section a given `tlv$init` symbol is in at runtime.
In addition, this patch ensures that we place `__thread_data` immediately before `__thread_bss`. This is what ld64 does, likely for performance reasons. Zerofill sections must also be at the end of their segments; we were already doing this, but now we ensure that `__thread_bss` occurs before `__bss`, so that it's always possible to have it contiguous with `__thread_data`.
Fixes llvm.org/PR48657.
Reviewed By: #lld-macho, thakis
Differential Revision: https://reviews.llvm.org/D94329
|
 | lld/MachO/Writer.cpp |
 | lld/MachO/InputSection.h |
 | lld/MachO/Writer.h |
 | lld/test/MachO/tlv.s |
 | lld/test/MachO/bss.s |
 | lld/MachO/InputSection.cpp |
Commit
a0b65a7bcd6065688189b3d678c42ed6af9603db
by michaelrj[libc] Switch to use a macro which does not insert a section for every libc function.
Summary: The new macro also inserts the C alias for the C++ implementations without needing an objcopy based post processing step. The CMake rules have been updated to reflect this. More CMake cleanup can be taken up in future rounds and appropriate TODOs have been added for them.
Reviewers: mcgrathr, sivachandra
Subscribers:
|
 | libc/src/errno/__errno_location.cpp |
 | libc/src/math/logbf.cpp |
 | libc/src/signal/linux/sigaddset.cpp |
 | libc/src/math/fmax.cpp |
 | libc/src/string/strcpy.cpp |
 | libc/src/string/strncpy.cpp |
 | libc/src/string/x86/memcpy.cpp |
 | libc/src/math/modfl.cpp |
 | libc/src/math/floorf.cpp |
 | libc/src/math/remquof.cpp |
 | libc/src/string/strstr.cpp |
 | libc/src/math/fmin.cpp |
 | libc/src/math/hypotf.cpp |
 | libc/src/string/memrchr.cpp |
 | libc/src/signal/linux/raise.cpp |
 | libc/src/ctype/isgraph.cpp |
 | libc/src/math/sqrtf.cpp |
 | libc/src/math/lrint.cpp |
 | libc/src/math/rintl.cpp |
 | libc/src/stdlib/labs.cpp |
 | libc/src/string/memchr.cpp |
 | libc/src/math/llroundf.cpp |
 | libc/src/math/llrint.cpp |
 | libc/src/math/fminl.cpp |
 | libc/src/math/rint.cpp |
 | libc/src/math/sinf.cpp |
 | libc/src/__support/common.h.def |
 | libc/src/stdlib/linux/_Exit.cpp |
 | libc/src/math/exp2f.cpp |
 | libc/src/math/ldexpl.cpp |
 | libc/src/unistd/linux/write.cpp |
 | libc/src/threads/linux/mtx_lock.cpp |
 | libc/src/ctype/isblank.cpp |
 | libc/src/math/remainderl.cpp |
 | libc/src/math/llrintl.cpp |
 | libc/src/math/frexpf.cpp |
 | libc/src/string/memset.cpp |
 | libc/src/math/floorl.cpp |
 | libc/src/string/strtok.cpp |
 | libc/src/math/rintf.cpp |
 | libc/src/stdlib/abort.cpp |
 | libc/src/math/copysign.cpp |
 | libc/src/math/nearbyintl.cpp |
 | libc/src/math/fmaxl.cpp |
 | libc/src/string/memcpy.cpp |
 | libc/src/math/fdim.cpp |
 | libc/src/ctype/isupper.cpp |
 | libc/src/math/fabsl.cpp |
 | libc/src/math/nearbyint.cpp |
 | libc/src/ctype/isspace.cpp |
 | libc/src/math/roundf.cpp |
 | libc/src/math/modf.cpp |
 | libc/src/math/remainder.cpp |
 | libc/src/math/floor.cpp |
 | libc/src/math/nextafterl.cpp |
 | libc/src/math/modff.cpp |
 | libc/src/assert/__assert_fail.cpp |
 | libc/src/math/remainderf.cpp |
 | libc/src/math/remquo.cpp |
 | libc/src/math/ldexp.cpp |
 | libc/src/math/hypot.cpp |
 | libc/src/math/fdimf.cpp |
 | libc/src/math/roundl.cpp |
 | libc/src/math/lrintl.cpp |
 | libc/src/math/sincosf.cpp |
 | libc/src/sys/mman/linux/mmap.cpp |
 | libc/src/threads/linux/mtx_unlock.cpp |
 | libc/src/math/fmaxf.cpp |
 | libc/src/threads/linux/thrd_create.cpp |
 | libc/src/time/mktime.cpp |
 | libc/src/math/sqrtl.cpp |
 | libc/src/signal/linux/sigemptyset.cpp |
 | libc/src/string/bzero.cpp |
 | libc/src/math/copysignf.cpp |
 | libc/src/math/fabsf.cpp |
 | libc/src/signal/linux/sigaction.cpp |
 | libc/src/ctype/islower.cpp |
 | libc/src/math/llrintf.cpp |
 | libc/src/fenv/fegetround.cpp |
 | libc/src/math/logbl.cpp |
 | libc/src/stdlib/abs.cpp |
 | libc/src/math/round.cpp |
 | libc/src/math/ceilf.cpp |
 | libc/src/math/lroundl.cpp |
 | libc/src/math/ceil.cpp |
 | libc/src/string/strcmp.cpp |
 | libc/src/string/strtok_r.cpp |
 | libc/src/ctype/isprint.cpp |
 | libc/src/math/llroundl.cpp |
 | libc/src/math/ceill.cpp |
 | libc/src/math/copysignl.cpp |
 | libc/src/math/llround.cpp |
 | libc/src/math/fmaf.cpp |
 | libc/src/math/ilogbf.cpp |
 | libc/src/string/strrchr.cpp |
 | libc/src/math/remquol.cpp |
 | libc/src/string/strlen.cpp |
 | libc/src/ctype/isalpha.cpp |
 | libc/src/signal/linux/sigdelset.cpp |
 | libc/src/ctype/tolower.cpp |
 | libc/src/fenv/feclearexcept.cpp |
 | libc/src/math/frexpl.cpp |
 | libc/src/fenv/fesetround.cpp |
 | libc/src/threads/linux/mtx_init.cpp |
 | libc/src/math/sqrt.cpp |
 | libc/src/string/strpbrk.cpp |
 | libc/src/threads/linux/thrd_join.cpp |
 | libc/cmake/modules/LLVMLibCObjectRules.cmake |
 | libc/src/math/ilogb.cpp |
 | libc/src/ctype/isalnum.cpp |
 | libc/src/string/strcspn.cpp |
 | libc/src/math/trunc.cpp |
 | libc/src/ctype/toupper.cpp |
 | libc/src/stdlib/llabs.cpp |
 | libc/src/math/ldexpf.cpp |
 | libc/src/threads/linux/call_once.cpp |
 | libc/src/sys/mman/linux/munmap.cpp |
 | libc/src/math/cosf.cpp |
 | libc/src/signal/linux/signal.cpp |
 | libc/src/ctype/iscntrl.cpp |
 | libc/src/math/lroundf.cpp |
 | libc/src/math/nextafterf.cpp |
 | libc/src/ctype/ispunct.cpp |
 | libc/src/math/fdiml.cpp |
 | libc/src/math/lrintf.cpp |
 | libc/src/math/lround.cpp |
 | libc/src/fenv/feraiseexcept.cpp |
 | libc/src/math/truncl.cpp |
 | libc/src/math/nextafter.cpp |
 | libc/src/ctype/isxdigit.cpp |
 | libc/src/math/ilogbl.cpp |
 | libc/src/math/expf.cpp |
 | libc/src/math/fabs.cpp |
 | libc/src/math/fminf.cpp |
 | libc/src/ctype/isdigit.cpp |
 | libc/src/math/truncf.cpp |
 | libc/src/math/nearbyintf.cpp |
 | libc/src/string/strcat.cpp |
 | libc/src/string/strspn.cpp |
 | libc/src/fenv/fetestexcept.cpp |
 | libc/src/string/strnlen.cpp |
 | libc/src/math/logb.cpp |
 | libc/src/math/frexp.cpp |
 | libc/src/string/strchr.cpp |
 | libc/src/signal/linux/sigfillset.cpp |
 | libc/src/signal/linux/sigprocmask.cpp |
 | libc/src/string/memcmp.cpp |
Commit
b02ca0969ea3f8147ae74d08e131f1bfe4f203d2
by michaelrj[libc][NFC] add includes for internal headers to all libc functions
this will make sure that all of the functions are using the correct prototypes. Explained much better in the comments of this diff: https://reviews.llvm.org/D94195
|
 | libc/src/math/sqrtf.cpp |
 | libc/src/math/rintl.cpp |
 | libc/src/math/cosf.cpp |
 | libc/src/math/floorl.cpp |
 | libc/src/math/frexp.cpp |
 | libc/src/math/hypotf.cpp |
 | libc/src/math/fabs.cpp |
 | libc/src/math/llrintf.cpp |
 | libc/src/math/roundf.cpp |
 | libc/src/math/llroundl.cpp |
 | libc/src/math/nearbyint.cpp |
 | libc/src/math/lrint.cpp |
 | libc/src/math/exp2f.cpp |
 | libc/src/math/remquo.cpp |
 | libc/src/math/ilogbl.cpp |
 | libc/src/__support/common.h.def |
 | libc/src/fenv/feclearexcept.cpp |
 | libc/src/math/copysignf.cpp |
 | libc/src/math/lroundf.cpp |
 | libc/src/math/nextafter.cpp |
 | libc/src/math/sqrt.cpp |
 | libc/src/fenv/fesetround.cpp |
 | libc/src/math/hypot.cpp |
 | libc/src/threads/linux/thrd_join.cpp |
 | libc/src/math/llrint.cpp |
 | libc/src/math/llroundf.cpp |
 | libc/src/math/logbf.cpp |
 | libc/src/threads/linux/call_once.cpp |
 | libc/src/math/modfl.cpp |
 | libc/src/math/fdiml.cpp |
 | libc/src/math/fabsf.cpp |
 | libc/src/math/remainder.cpp |
 | libc/src/math/lrintf.cpp |
 | libc/src/math/roundl.cpp |
 | libc/src/math/fmaf.cpp |
 | libc/src/math/fdimf.cpp |
 | libc/src/math/nearbyintl.cpp |
 | libc/src/math/logbl.cpp |
 | libc/src/math/math_utils.cpp |
 | libc/src/threads/linux/thrd_create.cpp |
 | libc/src/fenv/fegetround.cpp |
 | libc/src/math/copysignl.cpp |
 | libc/src/math/nextafterl.cpp |
 | libc/src/math/trunc.cpp |
 | libc/src/math/sincosf.cpp |
 | libc/src/math/fmaxl.cpp |
 | libc/src/fenv/feraiseexcept.cpp |
 | libc/src/math/floor.cpp |
 | libc/src/math/frexpf.cpp |
 | libc/src/math/remquof.cpp |
 | libc/src/math/ldexpf.cpp |
 | libc/src/fenv/fetestexcept.cpp |
 | libc/src/math/exp_utils.cpp |
 | libc/src/math/floorf.cpp |
 | libc/src/math/rint.cpp |
 | libc/src/math/sinf.cpp |
 | libc/src/math/fdim.cpp |
 | libc/src/math/ilogb.cpp |
 | libc/src/math/frexpl.cpp |
 | libc/src/math/lround.cpp |
 | libc/src/math/sqrtl.cpp |
 | libc/src/math/truncl.cpp |
 | libc/src/math/modf.cpp |
 | libc/src/math/ilogbf.cpp |
 | libc/src/math/logb.cpp |
 | libc/src/math/remquol.cpp |
 | libc/src/threads/linux/mtx_lock.cpp |
 | libc/src/math/remainderf.cpp |
 | libc/src/math/ceilf.cpp |
 | libc/src/math/ceill.cpp |
 | libc/src/math/fmin.cpp |
 | libc/src/math/truncf.cpp |
 | libc/src/math/ldexpl.cpp |
 | libc/src/math/modff.cpp |
 | libc/src/math/fmax.cpp |
 | libc/src/math/lroundl.cpp |
 | libc/src/math/rintf.cpp |
 | libc/src/math/ceil.cpp |
 | libc/src/math/ldexp.cpp |
 | libc/src/threads/linux/mtx_unlock.cpp |
 | libc/src/math/fminf.cpp |
 | libc/src/math/remainderl.cpp |
 | libc/src/math/llround.cpp |
 | libc/src/math/expf.cpp |
 | libc/src/math/fabsl.cpp |
 | libc/src/math/fminl.cpp |
 | libc/src/math/copysign.cpp |
 | libc/src/threads/linux/mtx_init.cpp |
 | libc/src/math/lrintl.cpp |
 | libc/src/math/nextafterf.cpp |
 | libc/src/math/fmaxf.cpp |
 | libc/src/math/nearbyintf.cpp |
 | libc/src/math/llrintl.cpp |
 | libc/src/math/round.cpp |
Commit
aab25fa7d853d6da960607310e2cd3e3a843d5a9
by richardNever call a destroying operator delete when cleaning up from an exception thrown during construction in a new-expression.
Instead, when performing deallocation function lookup for a new-expression, ignore all destroying operator delete candidates, and fall back to global operator delete if there is no member operator delete other than a destroying operator delete.
Use of destroying operator delete only makes sense when there is an object to destroy, which there isn't in this case. The language wording doesn't cover this case; this oversight has been reported to WG21, with the approach in this patch as the proposed fix.
|
 | clang/lib/Sema/SemaExprCXX.cpp |
 | clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp |
 | clang/test/SemaCXX/cxx2a-destroying-delete.cpp |
Commit
2f499b9affb6797253937eb60760a7d1b60716d7
by Tony.Tye[AMDGPU] Add volatile support to SIMemoryLegalizer
Treat a non-atomic volatile load and store as a relaxed atomic at system scope for the address spaces accessed. This will ensure all relevant caches will be bypassed.
A volatile atomic is not changed and still only bypasses caches upto the level specified by the SyncScope operand.
Differential Revision: https://reviews.llvm.org/D94214
|
 | llvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll |
 | llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll |
 | llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll |
 | llvm/test/CodeGen/AMDGPU/fneg-combines.ll |
 | llvm/test/CodeGen/AMDGPU/non-entry-alloca.ll |
 | llvm/test/CodeGen/AMDGPU/si-annotate-cf.ll |
 | llvm/test/CodeGen/AMDGPU/memory-legalizer-global-volatile.ll |
 | llvm/test/CodeGen/AMDGPU/call-argument-types.ll |
 | llvm/test/CodeGen/AMDGPU/mad-combine.ll |
 | llvm/test/CodeGen/AMDGPU/store-hi16.ll |
 | llvm/test/CodeGen/AMDGPU/amdgcn-ieee.ll |
 | llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll |
 | llvm/test/CodeGen/AMDGPU/v_madak_f16.ll |
 | llvm/test/CodeGen/AMDGPU/stack-realign.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll |
 | llvm/test/CodeGen/AMDGPU/flat-address-space.ll |
 | llvm/test/CodeGen/AMDGPU/multilevel-break.ll |
 | llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll |
 | llvm/test/CodeGen/AMDGPU/byval-frame-setup.ll |
 | llvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll |
 | llvm/test/CodeGen/AMDGPU/memory-legalizer-private-volatile.ll |
 | llvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll |
 | llvm/test/CodeGen/AMDGPU/extload-private.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll |
 | llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.maxnum.f16.ll |
 | llvm/test/CodeGen/AMDGPU/ds_write2st64.ll |
 | llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-volatile.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.private.ll |
 | llvm/test/CodeGen/AMDGPU/v_mac.ll |
 | llvm/docs/AMDGPUUsage.rst |
 | llvm/test/CodeGen/AMDGPU/shl.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i32.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.pkrtz.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.is.shared.ll |
 | llvm/test/CodeGen/AMDGPU/rsq.ll |
 | llvm/test/CodeGen/AMDGPU/flat-scratch.ll |
 | llvm/test/CodeGen/AMDGPU/function-args.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll |
 | llvm/test/CodeGen/AMDGPU/sub.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/mad-mix-hi.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i64.ll |
 | llvm/test/CodeGen/AMDGPU/vector-extract-insert.ll |
 | llvm/test/CodeGen/AMDGPU/inline-asm.ll |
 | llvm/test/CodeGen/AMDGPU/callee-frame-setup.ll |
 | llvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll |
 | llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-gfx908.ll |
 | llvm/test/CodeGen/AMDGPU/load-lo16.ll |
 | llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/divergent-control-flow.ll |
 | llvm/test/CodeGen/AMDGPU/extractelt-to-trunc.ll |
 | llvm/test/CodeGen/AMDGPU/private-access-no-objects.ll |
 | llvm/test/CodeGen/AMDGPU/branch-relaxation.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/bool-legalization.ll |
 | llvm/test/CodeGen/AMDGPU/cc-update.ll |
 | llvm/test/CodeGen/AMDGPU/fmax3.f64.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.trig.preop.ll |
 | llvm/test/CodeGen/AMDGPU/commute_modifiers.ll |
 | llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.if.break.i32.ll |
 | llvm/test/CodeGen/AMDGPU/image-load-d16-tfe.ll |
 | llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll |
 | llvm/test/CodeGen/AMDGPU/fma-combine.ll |
 | llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll |
 | llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll |
 | llvm/test/CodeGen/AMDGPU/sign_extend.ll |
 | llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll |
 | llvm/test/CodeGen/AMDGPU/load-hi16.ll |
 | llvm/test/CodeGen/AMDGPU/select.f16.ll |
 | llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.end.cf.i64.ll |
 | llvm/test/CodeGen/AMDGPU/ds_write2.ll |
 | llvm/test/CodeGen/AMDGPU/branch-relaxation-gfx10-branch-offset-bug.ll |
 | llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll |
 | llvm/test/CodeGen/AMDGPU/infinite-loop.ll |
 | llvm/test/CodeGen/AMDGPU/use-sgpr-multiple-times.ll |
 | llvm/test/CodeGen/AMDGPU/madak.ll |
 | llvm/test/CodeGen/AMDGPU/imm16.ll |
 | llvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.fmas.ll |
 | llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll |
 | llvm/test/CodeGen/AMDGPU/fadd-fma-fmul-combine.ll |
 | llvm/test/CodeGen/AMDGPU/madmk.ll |
Commit
7d78875f93a95815640606fa86a9972386cc5d10
by craig.topper[X86] Remove IntrArgMemOnly from ldmxcsr intrinsic.
Since we're leaving this as ReadWrite with the "write" reflecting the update to MXCSR, we shouldn't say it only writes arg memory.
Hopefully this fixes the issue reported in post-commit in D93571.
|
 | llvm/include/llvm/IR/IntrinsicsX86.td |