- Jan 23, 2024
-
-
Dinar Temirbulatov authored
Add naive implementation of memcpy, memset, memmove, memchr for SME targets. Co-authored-by:David Sherwood <david.sherwood@arm.com>
-
Jeremy Morse authored
This flag (--try-experimental-debuginfo-iterators) only exists for testing purposes, to get some RUNlines running in new-debug-info mode before it's properly supported. The flag isn't something that's going to be useful to people using llvm 18, so hide it from the options list.
-
Tom Eccles authored
This is allowed by gfortran and ifort with `![GCC|DEC]$ ATTRIBUTES NO_ARG_CHECK`
-
Félix-Antoine Constantin authored
User-defined literals do not accept u?intXX(_t)? variables. So the check should not emit a warning. Fixes #54546 #25214
-
Tom Eccles authored
Intended to warn users of the 18.x release not to do this. A better solution should be found for the 19.x release. See discussion in https://github.com/llvm/llvm-project/pull/78152. Unfortunately there is no warning on Windows currently. I am rushing to get this landed before 18.x branches.
-
Jeremy Morse authored
With the soon-to-land new-debug-info storage model, it's going to be important to use iterators for instruction insertion rather than instruction pointers. This (single line in instcombine) is the last place that trips up our internal testing for debug-info, where we insert a PHI and it should be using an iterator.
-
Dimitry Andric authored
In 0784b1ee some code for re-execution was moved to `ReExecIfNeeded()`, but also extended with a few Linux-only features. This leads to compile errors on FreeBSD, or other non-Linux platforms: compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp:247:25: error: use of undeclared identifier 'personality' 247 | int old_personality = personality(0xffffffff); | ^ compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp:249:54: error: use of undeclared identifier 'ADDR_NO_RANDOMIZE' 249 | (old_personality != -1) && ((old_personality & ADDR_NO_RANDOMIZE) == 0); | ^ compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp:281:46: error: use of undeclared identifier 'ADDR_NO_RANDOMIZE' 281 | CHECK_NE(personality(old_personality | ADDR_NO_RANDOMIZE), -1); | ^ Surround the affected part with a `#if SANITIZER_LINUX` block for now.
-
Amir Ayupov authored
This reverts commit b83b8d3f. Breaks buildbots e.g. https://lab.llvm.org/buildbot/#/builders/225/builds/29950
-
Nick Desaulniers authored
Usage of uninitialized memory is a top memory safety issue in C++ codebases. Help mitigate this somewhat by default initialize stack allocations to a pattern (0xAA repeating). Clang has received optimizations to sink these into control flow paths that access such values to minimize the overhead of these added initializations. If there's a measurable slowdown, we can add -ftrivial-auto-var-init-max-size=<N> for some value N bytes if we have any large stack allocations, or add attribute uninitialized to any variable declarations. Unsupported until GCC 12.1 / Clang 8. Increases file size of libc.a from a full build by +8.79Ki (+0.2%).
-
Amir Ayupov authored
This reverts commit 6c474197. Default to CLANG_BOLT=OFF Test Plan: Build a regular Clang build.
-
Alan Phipps authored
This is a fix for MC/DC issue https://github.com/llvm/llvm-project/issues/78453 in which a ConditionalOperator that evaluates a complex condition was incorrectly updating its global bitmap after visiting its LHS and RHS children. This was wrong because if the LHS or RHS also evaluate a complex condition, the MCDC temporary bitmap value will get corrupted. The fix is to ensure that the bitmap is updated prior to visiting the LHS and RHS.
-
Stanislav Mekhanoshin authored
This instruction is not supported by GFX12.
-
Craig Topper authored
-
NAKAMURA Takumi authored
The life of `MCDCRecordProcessor`'s instance is short. It may accept `const` objects to process. On the other hand, the life of `MCDCBranches` is shorter than `Record`. It may be rewritten with reference, rather than copying.
-
Fangrui Song authored
-
Philip Reames authored
Test coverage for an upcoming transform.
-
Douglas Yung authored
-
Stefan Gränitz authored
Integrate in-memory debug-info dumps into the `--orc-lazy-debug` command-line option instead of exposing built-in functions to be called from JITed code. This reduces overall amount of code (removing `ExecutionUtils.cpp`) and seems cleaner anyway. All existing items of `OrcDumpKind` work on IR level and run in the IR-transform step of the JIT. The newly added `DumpDebugDescriptor` and `DumpDebugObjects` must run after debug-registration and thus are deferred to the Object-transform step of the JIT. This separation is the major side-effect of the patch. The original commit 263efb04 was reverted in #79055, because the gcc 7.5 bot had found a missing std::move().
-
Shilei Tian authored
-
Alan Phipps authored
-
Craig Topper authored
-
Jan Patrick Lehr authored
This should fix the AMDGPU buildbot breakage from #76571
-
Fangrui Song authored
PR #70014 fixes A32 to use GOT for dso_preemptable `__stack_chk_guard` with static relocation model (e.g. -fPIE/-fPIC LTO compiles with -no-pie linking). This patch fixes such `__stack_chk_guard` access for Thumb1 and Thumb2. Note: `t2LDRLIT_ga_pcrel` is only for ELF. mingw needs `.refptr.__stack_chk_guard` (https://reviews.llvm.org/D92738). Fix #64999
-
Craig Topper authored
I kept the AssemblerPredicate and diagnostic from HasStdExtZfhOrZfhmin that mentions both extensions, but replaced all uses with HasStdExtZfhmin. Same for the Zhinxmin equivalent.
-
Craig Topper authored
-
Jan Patrick Lehr authored
This flag forces the compiler to generate code for OpenMP target regions as if the user specified the #pragma omp requires unified_shared_memory in each source file. The option does not have a -fno-* friend since OpenMP requires the unified_shared_memory clause to be present in all source files. Since this flag does no harm if the clause is present, it can be used in conjunction. My understanding is that USM should not be turned off selectively, hence, no -fno- version. This adds a basic test to check the correct generation of double indirect access to declare target globals in USM mode vs non-USM mode. Which I think is the only difference observable in code generation. This runtime test checks for the (non-)occurence of data movement between host and device. It does one run without the flag and one with the flag to also see that both versions behave as expected. In the case w/o the new flag data movement between host and device is expected. In the case with the flag such data movement should not be present / reported.
-
Mehdi Amini authored
Reverts llvm/llvm-project#76822 This fails to build with gcc 7.5: ``` llvm/tools/lli/lli.cpp:1087:16: error: could not convert ‘Obj’ from ‘std::unique_ptr<llvm::MemoryBuffer>’ to ‘llvm::Expected<std::unique_ptr<llvm::MemoryBuffer> >’ return Obj; ^~~ ``` -
Julian Schmidt authored
The check no longer emits a diagnostic for non-parameter-pack variables in C++17 fold expressions. The operator used is type-dependent because of the parameter pack and can therefore not be guaranteed to not mutate the variable. Fixes: #70323
-
Zahira Ammarguellat authored
This patch fixes a bug in Smith's algorithm (thanks to @andykaylor who detected it) and makes sure that last option in command line rules.
-
gulfemsavrun authored
…#78606" This reverts commit 76160718 because it caused an assertion failure in emitDbgValue function in Codegen in Clang Linux toolchain builders for Fuchsia. https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8758181086086431185/+/u/clang/build/stdout
-
LLVM GN Syncbot authored
-
Stefan Gränitz authored
Integrate in-memory debug-info dumps into the `--orc-lazy-debug` command-line option instead of exposing built-in functions to be called from JITed code. This reduces overall amount of code (removing `ExecutionUtils.cpp`) and seems cleaner anyway. All existing items of `OrcDumpKind` work on IR level and run in the IR-transform step of the JIT. The newly added `DumpDebugDescriptor` and `DumpDebugObjects` must run after debug-registration and thus are deferred to the Object-transform step of the JIT. This separation is the major side-effect of the patch.
-
cor3ntin authored
* Set `__cpp_auto_cast`, as per https://github.com/cplusplus/CWG/issues/281 * Support `__has_extension(cxx_generalized_nttp)` in C++20 as the feature isn't stable enough for a feature test macro * Support `__has_extension(cxx_explicit_this_parameter)` in c++23 as the feature isn't stable enough for a feature test macro
-
LLVM GN Syncbot authored
-
Nico Weber authored
-
Andrzej Warzynski authored
Add missing "arm64" target to the list of unsupported targets ("arm64" is used on Darwin). -
Qiongsi Wu authored
https://github.com/llvm/llvm-project/pull/76471 caused buildbot failures on Windows. For more details, see https://github.com/llvm/llvm-project/issues/77546. This PR revises the test and relands https://github.com/llvm/llvm-project/pull/76471.
-
Jake Egan authored
This will prevent unnecessary symbols being exported in libclang, which could cause issues with non-unique objects.
-
Zahira Ammarguellat authored
[CLANG] Add warning when INF or NAN are used in a binary operation or as function argument in fast math mode. (#76873) Check for operations using INF or NaN when in ffast-math mode and generate a warning.
-
erichkeane authored
Both of the clauses 'vector' and 'worker' have an optional 'special' word followed by an int-expr. The arguments list is optional, as is the special word, but if the parens are included, an int-expr is required. This patch implements parsing for both.
-