- Nov 08, 2021
-
-
Kazu Hirata authored
The function body proper was removed on Feb 20, 2019 in commit 79b5c384.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Manoj Gupta authored
D98452 introduced a mismatch between clang expectations for builtin name for baremetal targets on arm. Fix it by adding a case for baremetal. This now matches the output of "clang -target armv7m-none-eabi -print-libgcc-file-name \ -rtlib=compiler-rt" Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D113357
-
- Nov 07, 2021
-
-
Benjamin Kramer authored
-
Mark de Wever authored
-
Nikolas Klauser authored
Make test_allocator etc. constexpr-friendly so they can be used to test constexpr string and possibly constexpr vector Reviewed By: Quuxplusone, #libc, ldionne Differential Revision: https://reviews.llvm.org/D110994
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Be more consistent in the naming convention for the various RET instructions to specify in terms of bitwidth. Helps prevent future scheduler model mismatches like those that were only addressed in D44687. Differential Revision: https://reviews.llvm.org/D113302
-
Benjamin Kramer authored
-
Benjamin Kramer authored
-
Simon Pilgrim authored
D109434 addressed the v2f64 -> v4f64 case, an internal test has found an equivalent crash for the v4f32 -> v8f32 case.
-
Simon Pilgrim authored
Noticed on D113212
-
Simon Pilgrim authored
Currently FoldConstantArithmetic only handles binops, so replacing other uses of FoldConstantVectorArithmetic (in particular for SETCC nodes), still require more work.
-
Mats Larsen authored
The LLVM-C API is relatively small so we've previously added doxygen tags so it's easier to navigate the LLVM-C web docs. Over the years, more headers were added without proper doxygen tags, effectively hiding them from the main LLVM-C doxygen page. This patch adds comments to headers which did not have them. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D112474
-
Fangrui Song authored
https://sourceware.org/bugzilla/show_bug.cgi?id=22742 uc_mcontext.__reserved probably should not be considered user visible API but unfortunate it is: it is the only way to access cpu states of some Linux asm/sigcontext.h extensions. That said, the declaration may be long double __reserved[256]; (used by musl) instead of unsigned char __reserved[4096] __attribute__((__aligned__(16))); (glibc) to avoid dependency on a GNU variable attribute.
-
Fangrui Song authored
GCC introduced `__attribute__((mode(unwind_word)))` to work around Cell Broadband Engine SPU (which was removed from GCC in 2019-09), which is irrelevant to hwasan. _Unwind_GetGR/_Unwind_GetCFA from llvm-project/libunwind don't use unwind_word. Using _Unwind_Word can lead to build failures if libunwind's unwind.h is preferred over unwind.h in the Clang resource directory (e.g. built with GCC).
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Yonghong Song authored
Nathan Chancellor reported a crash due to commit 3466e007 (Reland "[Attr] support btf_type_tag attribute"). The following test can reproduce the crash: $ cat efi.i typedef unsigned long efi_query_variable_info_t(int); typedef struct { struct { efi_query_variable_info_t __attribute__((regparm(0))) * query_variable_info; }; } efi_runtime_services_t; efi_runtime_services_t efi_0; $ clang -m32 -O2 -g -c -o /dev/null efi.i The reason is that FunctionTypeLoc.getParam(Idx) may return a nullptr which should be checked before dereferencing the result pointer. This patch fixed this issue.
-
Fangrui Song authored
This makes it easy to write tests where the irrelevant fields are not needed.
-
Luke Benes authored
Fix a dangling else that gcc-11 warned about. The EXPECT_EQ macro expands to an if-else, so the whole construction contains a hidden dangling else. Differential Revision: https://reviews.llvm.org/D113346
-
Nikita Popov authored
Add a variant of getEquivalentICmp() that produces an optional offset. This allows us to create an equivalent icmp for all ranges. Use this in the with.overflow folding code, which was doing this adjustment separately -- this clarifies that the fold will indeed always apply.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Nikita Popov authored
As described in https://bugs.llvm.org/show_bug.cgi?id=52429 this fold is incorrect, because inbounds only guarantees that the pointers don't wrap in the unsigned space: It is possible that the sign boundary is crossed by an object. I'm dropping the fold entirely rather than adjusting it, because computePointerICmp() fully subsumes it (just with correct predicate handling). Differential Revision: https://reviews.llvm.org/D113343
-
Fangrui Song authored
-
Nikita Popov authored
The public API for this functionality is forgetValue(). There was only one call from LoopVectorize, which was directly next to a forgetValue() call and as such redundant.
-
- Nov 06, 2021
-
-
Roman Lebedev authored
While this isn't what we eventually need (i8 or i1), approaching from this end is more straight-forward.
-
Anton Afanasyev authored
-
Shraiysh Vaishay authored
Added omp.sections and omp.section operation according to the section 2.8.1 of OpenMP Standard 5.0. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D110844
-
Roman Lebedev authored
This finally creates proper test coverage for replication shuffles, that are used by LV for conditional loads, and will allow to add proper costmodel at least for AVX512. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D113324
-
Roman Lebedev authored
Hiding it in `getInterleavedMemoryOpCost()` is problematic for a number of reasons, including testability and reuse, let's do better. In a followup `getUserCost()` will be taught to use to to estimate the mask costs, which will allow for better cost model tests for it. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D113313
-
Sanjay Patel authored
This diff snuck into the unrelated: 025a2f73 It's a suggested follow-up for D113212, but I need to add test coverage first.
-
Sanjay Patel authored
umax(X, Op1) - Op1 --> usub.sat(X, Op1) https://alive2.llvm.org/ce/z/HpcGiJ This happens in 2 or more steps with an icmp-select idiom instead of an intrinsic. This is another step towards canonicalization of the min/max intrinsics. See: D98152
-
Sanjay Patel authored
-
hyeongyu kim authored
-
hyeongyukim authored
Turning on `enable_noundef_analysis` flag allows better codegen by removing freeze instructions. I modified clang by renaming `enable_noundef_analysis` flag to `disable-noundef-analysis` and turning it off by default. Test updates are made as a separate patch: D108453 Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D105169 [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default (2) This patch updates test files after D105169. Autogenerated test codes are changed by `utils/update_cc_test_checks.py,` and non-autogenerated test codes are changed as follows: (1) I wrote a python script that (partially) updates the tests using regex: {F18594904} The script is not perfect, but I believe it gives hints about which patterns are updated to have `noundef` attached. (2) The remaining tests are updated manually. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D108453 Resolve lit failures in clang after 8ca4b3ef's land Fix lit test failures in clang-ppc* and clang-x64-windows-msvc Fix missing failures in clang-ppc64be* and retry fixing clang-x64-windows-msvc Fix internal_clone(aarch64) inline assembly
-