- Mar 13, 2020
-
-
Pankaj Gode authored
Resolution for below fixme: (ii) Check whether the value is captured in the scope using AANoCapture. FIXME: This is conservative though, it is better to look at CFG and check only uses possibly executed before this callsite. Propagates caller argument's noalias attribute to callee. Reviewed by: jdoerfert, uenoku Reviewers: jdoerfert, sstefan1, uenoku Subscribers: uenoku, sstefan1, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D71617 -
Simon Pilgrim authored
-
Simon Pilgrim authored
Also, cleanup LowerEXTRACT_VECTOR_ELT_SSE4 comments which had references to non-constant extraction indices.
-
Fangrui Song authored
GCC when configured with --enable-gnu-unique (default on glibc>=2.11) emits STB_GNU_UNIQUE for certain objects which are otherwise emitted as STT_OBJECT, such as an inline function's static local variable or its guard variable, and a static data member of a template. Clang does not implement -fgnu-unique. Implementing it as a binding is strange and the feature itself is considered by some as a misfeature. Reviewed By: grimar, jhenderson Differential Revision: https://reviews.llvm.org/D75797
-
Fangrui Song authored
Reviewed By: grimar, Higuoxing, jhenderson Differential Revision: https://reviews.llvm.org/D75793
-
Fangrui Song authored
Merge symbol-table-elf.test and common-symbol-elf.test, and add some more tests (invalid st_type, STT_COMMON, STT_GNU_IFUNC, STT_HIOS, STT_LOPROC, SHN_UNDEF, SHN_ABS, SHN_COMMON, STB_GNU_UNIQUE, invalid binding, etc) to test/llvm-objdump/ELF/symbol-table.test The naming follows test/llvm-{readobj,objcopy}/ELF . Some discrepancy from GNU objdump: * STT_COMMON: can be produced with `ld.bfd -r -z common`, but it almost never exists in practice * STT_GNU_IFUNC: will be fixed by D75793 * STB_GNU_UNIQUE: will be fixed by D75797 * STT_TLS: GNU objdump does not print 'O' * unknown binding: GNU objdump does not print 'g'. This probably does not matter. * A reserved symbol index is displayed as *ABS* in GNU objdump. It is not clear what we should print. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D75796 -
Sergej Jaskiewicz authored
Summary: D69169, which was necessary for running libc++ tests on remote host, got reverted. I couldn't think of a less invasive way to achieve this behavior but specify libc++abi paths in our cache file. Reviewers: vvereschaka, aorlov, andreil99, EricWF Reviewed By: vvereschaka Subscribers: mgorny, kristof.beyls, ldionne, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D74347
-
Alexey Bataev authored
Try to reduce the number of global vars captured in the OpenMP regions by capturing them only the regions, which mark them as not-shared.
-
Matt Arsenault authored
-
Sanjay Patel authored
Fix formatting of related function names while changing the code.
-
Nico Weber authored
This reverts commit 1f5b471b. Causes asserts when building code with arc. See https://bugs.chromium.org/p/chromium/issues/detail?id=1061289#c2 for a full repro. Will post a creduced repro once creduce is done running.
-
LLVM GN Syncbot authored
-
Clement Courbet authored
-
Kim Viggedal authored
Cpp Core Guideline I.2, a.k.a "Avoid non-const global variables" For detailed documentation, see: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#i2-avoid-non-const-global-variables
-
Ehud Katz authored
Calculating SCEVs can be cumbersome, and may take very long time (even hours, for very long expressions). To prevent recalculating expressions over and over again, we cache them. This change add cache queries to key positions, to prevent recalculation of the expressions. Fix PR43571. Differential Revision: https://reviews.llvm.org/D70097
-
Andrzej Warzynski authored
Summary: This intrinsic implements the unpredicated duplication of scalar values and is mapped to (through ISD::SPLAT_VECTOR): * DUP <Zd>.<T>, #<imm> * DUP <Zd>.<T>, <R><n|SP> Reviewed by: sdesmalen Differential Revision: https://reviews.llvm.org/D75900
-
Alexandre Ganea authored
After a crash catched by the CrashRecoveryContext, this patch prevents from accessing dangling pointers in TimerGroup structures before the clang tool exits. Previously, the default TimerGroup had internal linked lists which were still pointing to old Timer or TimerGroup instances, which lived in stack frames released by the CrashRecoveryContext. Fixes PR45164. Differential Revision: https://reviews.llvm.org/D76099
-
Yaxun (Sam) Liu authored
Differential Revision: https://reviews.llvm.org/D76076
-
Dmitri Gribenko authored
-
David Green authored
The ASRL/LSRL long shifts are generated from 64bit shifts. Once we have them, it might turn out that enough of the 64bit result was not required that we can use a smaller shift to perform the same result. As the smaller shift can in general be folded in more way, such as into add instructions in one of the test cases here, we can use the demand bit analysis to prefer the smaller shifts where we can. Differential Revision: https://reviews.llvm.org/D75371
-
Nico Weber authored
-
Georgii Rymar authored
We had no test for `Addend` field of a relocation. Though the current behavior is not ideal and might need to be fixed. This patch adds 2 test cases to document the current behavior and add a few FIXMEs. These FIXME are fixed in the follow-up: https://reviews.llvm.org/D75527 Differential revision: https://reviews.llvm.org/D75528
-
Marcel Hlopko authored
Summary: Only for the readability reasons. Reviewers: gribozavr Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D76120
-
Marcel Hlopko authored
Summary: Copy of https://reviews.llvm.org/D72073?id=235842, submitting with ilya-biryukov's permission. Reviewers: gribozavr, gribozavr2 Reviewed By: gribozavr2 Subscribers: mgorny, gribozavr2, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D76061
-
Marcel Hlopko authored
Summary: This patch removes a call to the old ASTUnit::findFileRegionDecls and replaces it with ast matchers. Reviewers: gribozavr, gribozavr2 Reviewed By: gribozavr2 Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D76121
-
David Green authored
This changes the way that asrl and lsrl intrinsics are lowered, going via a the ISEL ASRL and LSLL nodes instead of straight to machine nodes. On top of that, it adds some constant folds for long shifts, in case it turns out that the shift amount was either constant or 0. Differential Revision: https://reviews.llvm.org/D75553
-
Kadir Cetinkaya authored
Reviewers: sammccall Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D75996
-
Juneyoung Lee authored
Summary: This is a simple patch that expands https://reviews.llvm.org/D75859 to pointer comparison and fcmp Checked with Alive2 Reviewers: reames, jdoerfert Reviewed By: jdoerfert Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D76048
-
Mikael Holmen authored
The warnings started showing up for me with c53c2058 which builds Registers.hpp.
-
Juneyoung Lee authored
-
QingShan Zhang authored
The PPCISD::SExtVElems was added by commit https://reviews.llvm.org/D34009. However, we have another ISD node ISD::SIGN_EXTEND_INREG that perfectly match the semantics of SExtVElems. And the DAGCombiner has some combine rules for SIGN_EXTEND_INREG that produce better code. Differential Revision: https://reviews.llvm.org/D70771
-
Craig Topper authored
We can form vpbroadcastw with a folded load. We had patterns for i16->i32 zextload/extload, but nothing prevents i64 from occuring. I'd like to move this all to DAG combine to fix more cases, but this is trivial fix to minimize test diffs when moving to a combine.
-
Craig Topper authored
[X86] Add test cases for failures to form vbroadcastw due to isTypeDesirableForOp preventing load shrinking to i16. These are based on existing test cases but use i64 instead of i32. Some of these end up with i64 zextload/extloads from i16 that we don't have isel patterns for. Some of the other cases fail because isTypeDesirableForOp prevents shrinking the (trunc (i64 (srl (load)))) directly. So we try to shrink based on the (i64 (srl (load))) but we need 64 - shift_amount to be a power of 2 to do that shrink.
-
Johannes Doerfert authored
Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D75590
-
Johannes Doerfert authored
This reverts commit 13def55b. This broke a buildbot, will investigate.
-
Shoaib Meenai authored
Any OUTPUT_FORMAT in a linker script overrides the emulation passed on the command line, so record the passed bfdname and use that in the error message about incompatible input files. This prevents confusing error messages. For example, if you explicitly pass `-m elf_x86_64` to LLD but accidentally include a linker script which sets `OUTPUT_FORMAT(elf32-i386)`, LLD would previously complain about your input files being compatible with elf_x86_64, which isn't the actual issue, and is confusing because the input files are in fact x86-64 ELF files. Interestingly enough, this also prevents a segfault! When we don't pass `-m` and we have an object file which is incompatible with the `OUTPUT_FORMAT` set by a linker script, the object file is checked for compatibility before it's added to the objectFiles vector. config->emulation, objectFiles, and sharedFiles will all be empty, so we'll attempt to access bitcodeFiles[0], but bitcodeFiles is also empty, so we'll segfault. This commit prevents the segfault by adding OUTPUT_FORMAT as a possible source of machine configuration, and it also adds an llvm_unreachable to diagnose similar issues in the future. Differential Revision: https://reviews.llvm.org/D76109
-
Amy Kwan authored
This patch renames some of the instruction formats within PPCInstrPrefix.td to adopt a more uniform naming convention. It also adds the naming convention extension, `_MEM` to indicate instruction formats for memory ops. Differential Revision: https://reviews.llvm.org/D75819
-
Chris Lattner authored
-
Chris Lattner authored
Reviewers: rriddle! Subscribers: mehdi_amini, rriddle, jpienaar, burmako, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, liufengdb, Joonsoo, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D75919
-
Johannes Doerfert authored
This test somehow did not make it in before.
-