- Sep 16, 2021
-
-
Hansang Bae authored
Call to remove() was passing invalid address for the file name. Differential Revision: https://reviews.llvm.org/D109846
-
Saleem Abdulrasool authored
This reverts commit 626586fc. Tweak the test for Windows. Windows defaults to delayed template parsing, which resulted in the main template definition not registering the test on Windows. Process the file with the additional `-fno-delayed-template-parsing` flag to change the default beahviour. Additionally, add an extra check for the fix it and use a more robust test to ensure that the value is always evaluated. Differential Revision: https://reviews.llvm.org/D108893
-
David Blaikie authored
Follow-on from 2bd84938 based on postcommit feedback from Richard Smith. The VariableArray case I couldn't figure out how to test/provoke - you can't write/form a variable array in any context other than a local variable that I know of, and in that case `const int x[n]` is the normalized form already (array-of-const) and you can't use typedefs (since you can't typedef int[n] with variable 'n') to force the const-array AST that would produce the undesirable type printing "int const [n]".
-
Anna Thomas authored
This patch allows sinking an instruction which can have multiple uses in a single user. We were previously over-restrictive by looking for exactly one use, rather than one user. Also, the API for retrieving undroppable user has been updated accordingly since in both usecases (Attributor and InstCombine), we seem to care about the user, rather than the use. Reviewed-By: nikic Differential Revision: https://reviews.llvm.org/D109700
-
Philip Reames authored
-
Matt Morehouse authored
Our interceptor needs to change retval to 1 when 0 is passed. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D109788
-
Kazu Hirata authored
-
Sanjay Patel authored
I was wondering how instcombine does on the examples in D109236, and we're missing a basic transform: inselt (ext X), (ext Y), Index --> ext (inselt X, Y, Index) https://alive2.llvm.org/ce/z/z2aBu9 Note that there are several possible extensions of this fold (see TODO comments). Differential Revision: https://reviews.llvm.org/D109537
-
Philip Reames authored
Motivated by the removal done in D109782. This implements the correct flag part generically. Differential Revision: https://reviews.llvm.org/D109786
-
Simon Camphausen authored
Attributes and types were not escaped when printing. Reviewed By: jpienaar, marbre Differential Revision: https://reviews.llvm.org/D109143
-
Nicolas Vasilache authored
This revision fixes a corner case that could appear due to incorrect insertion point behavior in comprehensive bufferization. Differential Revision: https://reviews.llvm.org/D109830
-
Philip Reames authored
-
Philip Reames authored
-
Alina Sbirlea authored
Add two levels of verification for MemorySSA: Fast and Full. The defaults are kept the same. Full verification always occurs under EXPENSIVE_CHECKS, but now it can also be requested in a specific pass for debugging purposes.
-
Mehdi Amini authored
This fixes a compiler warning for some version of GCC.
-
Peyton, Jonathan L authored
GOMP depobjs are represented as a two intptr_t array. The first element is the base address of the dependency and the second element is the flag indicating the type the depobj represents. Differential Revision: https://reviews.llvm.org/D108790
-
Uday Bondhugula authored
Tighten the def of memref.global op to use the right kind of TypeAttr (of MemRefType). Differential Revision: https://reviews.llvm.org/D109822
-
Yaxun (Sam) Liu authored
Diagnose -fopenmp-targets for HIP programs since dual HIP and OpenMP offloading in the same compilation is currently not supported by HIP toolchain. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D109718
-
Fangrui Song authored
This makes the default build closer to a -DLLVM_ENABLE_RUNTIMES=all build. The layout is arguably superior because different libraries of target triples are in different directories, similar to GCC/Debian multiarch. When LLVM_DEFAULT_TARGET_TRIPLE is x86_64-unknown-linux-gnu, `lib/clang/14.0.0/lib/libclang_rt.asan-x86_64.a` is moved to `lib/clang/14.0.0/lib/x86_64-unknown-linux-gnu/libclang_rt.asan.a`. In addition, if the host compiler supports -m32 (multilib), `lib/clang/14.0.0/lib/libclang_rt.asan-i386.a` is moved to `lib/clang/14.0.0/lib/i386-unknown-linux-gnu/libclang_rt.asan.a`. Clang has been detecting both paths for lib/Driver/ToolChains/Gnu.cpp since 2018 (D50547). --- Note: Darwin needs to be disabled. The hierarchy needs to be sorted out. The current -DLLVM_DEFAULT_TARGET_TRIPLE=off state is like: ``` lib/clang/14.0.0/lib/darwin/libclang_rt.profile_ios.a lib/clang/14.0.0/lib/darwin/libclang_rt.profile_iossim.a lib/clang/14.0.0/lib/darwin/libclang_rt.profile_osx.a ``` Windows needs to be disabled: https://reviews.llvm.org/D107799?id=368557#2963311 Differential Revision: https://reviews.llvm.org/D107799
-
Michał Górny authored
9ee64c37 has started using COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG inside scudo. However, the relevant CMake check was performed in builtin-config-ix.cmake, so the definition was missing when builtins were not built. Move the check to config-ix.cmake, so that it runs unconditionally of the components being built. Fixes PR#51847 Differential Revision: https://reviews.llvm.org/D109812
-
Anna Thomas authored
Updated check lines. Tests precommitted from D109700.
-
Fangrui Song authored
On x86_64-unknown-linux-gnu, `-m32` tests set LD_LIBRARY_PATH to `config.compiler_rt_libdir` (`$build/lib/clang/14.0.0/lib/x86_64-unknown-linux-gnu`) instead of i386-unknown-linux-gnu, so `-shared-libsan` executables cannot find their runtime (e.g. `TestCases/replaceable_new_delete.cpp`). Detect -m32 and -m64 in config.target_cflags, and adjust `config.compiler_rt_libdir`. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D108859
-
Matt Morehouse authored
-
- Sep 15, 2021
-
-
Max Kazantsev authored
-
Nicolas Vasilache authored
Summary: Reviewers: Subscribers: Differential revision: https://reviews.llvm.org/D109824
-
Alexey Bataev authored
same/alternate instructions.
-
Matt Morehouse authored
Some setjmp calls within libc cannot be intercepted while their matching longjmp calls can be. This causes problems if our setjmp/longjmp interceptors don't use the exact same format as libc for populating and reading the jmp_buf. We add a magic field to our jmp_buf and populate it in setjmp. This allows our longjmp interceptor to notice when a libc jmp_buf is passed to it. See discussion on https://reviews.llvm.org/D109699 and https://reviews.llvm.org/D69045. Fixes https://github.com/google/sanitizers/issues/1244. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D109787
-
David Tenty authored
This change adds the system libc++ header location to the driver. As well we define the `__LIBC_NO_CPP_MATH_OVERLOADS__` macro when using those headers, in order to suppress conflicting C++ overloads in the system libc headers that were used by XL C++. Reviewed By: ZarkoCA Differential Revision: https://reviews.llvm.org/D109078
-
Jessica Clarke authored
This was presumably copied from the RV32 implementation and not updated like the rest.
-
Corentin Jabot authored
\x{XXXX} \u{XXXX} and \o{OOOO} are accepted in all languages mode in characters and string literals. This is a feature proposed for both C++ (P2290R1) and C (N2785). The papers have been seen by both committees but are not yet adopted into either standard. However, they do have support from both committees. -
Jessica Clarke authored
This looks like it was copied from the RV32 version and not properly updated. This has no functional effect but is not good style.
-
Jessica Clarke authored
These got missed in D91717.
-
Filipp Zhinkin authored
Enabled mul folding optimization that was previously disabled by being incorrect. To preserve correctness, mul's operand that is not compared with zero in select's condition is now frozen. Related bug: https://bugs.llvm.org/show_bug.cgi?id=51286 Correctness: https://alive2.llvm.org/ce/z/bHef7J https://alive2.llvm.org/ce/z/QcR7sf https://alive2.llvm.org/ce/z/vvBLzt https://alive2.llvm.org/ce/z/jGDXgq https://alive2.llvm.org/ce/z/3Pe8Z4 https://alive2.llvm.org/ce/z/LGga8M https://alive2.llvm.org/ce/z/CTG5fs Differential Revision: https://reviews.llvm.org/D108408
-
Sanjay Patel authored
-
Simon Pilgrim authored
Based off the worse case numbers generated by D103695, the AVX2/512 bit reversing/counting costs were higher than necessary (based off instruction counts instead of actual throughput).
-
Martin Storsjö authored
This codepath hadn't been exercised in a build with asserts before. Differential Revision: https://reviews.llvm.org/D109778
-
Martin Storsjö authored
This was requested in D38253, but missed back then. Differential Revision: https://reviews.llvm.org/D109046
-
Nico Weber authored
-
Nicolas Vasilache authored
Summary: Making the late transformations opt-in results in less surprising behavior when composing multiple calls to the codegen strategy. Reviewers: Subscribers: Differential revision: https://reviews.llvm.org/D109820
-
Nicolas Vasilache authored
AliasInfo can now use union-find for a much more efficient implementation. This brings no functional changes but large performance gains on more complex examples. Differential Revision: https://reviews.llvm.org/D109819
-