- Mar 05, 2020
-
-
Alexey Bataev authored
If the destroy clause is appplied, the previously allocated memory for the dependency object must be destroyed.
-
Richard Smith authored
TreeTransform if the 'dependent' flag would change.
-
Frank Laub authored
Summary: Looks like a refactor that was never completed. This change removes some unused and ambiguous definitions. Reviewed By: bondhugula, nicolasvasilache, rriddle Differential Revision: https://reviews.llvm.org/D75586
-
Louis Dionne authored
Explained in https://reviews.llvm.org/D70117#inline-688897.
-
Raphael Isemann authored
-
Zola Bridges authored
SLH had two functions named isDataInvariant and isDataInvariantLoad that checked whether the passed instruction was data invariant. For some instructions, if the EFLAGS were dead then they were considered data invariant, otherwise they were not considered data invariant. In this patch, I extracted that EFLAGS liveness check and made it explicit at every call to isDataInvariant and isDataInvariantLoad. This makes the isDataInvariant function behave more generally and preserves the liveness check behavior that SLH would like to have. Tested via llvm-lit llvm/test/CodeGen/X86/speculative-load-hardening* This is the first step in making these two data invariance checks available for non-SLH passes. The second step is to move the passes from SLH to X86InstrInfo.cpp. I'll follow up with a patch that does that. Differential Revision: https://reviews.llvm.org/D70283
-
Eric Fiselier authored
-
Lang Hames authored
This output can be useful in tracking down initialization failures in the JIT.
-
Fangrui Song authored
https://bugs.llvm.org/show_bug.cgi?id=43403 The new order makes it easy to compare the two tools' --all. Reviewed By: grimar, rupprecht Differential Revision: https://reviews.llvm.org/D75592
-
Lei Zhang authored
This commit updates SPIR-V dialect to support integer signedness by relaxing various checks for signless to just normal integers. The hack for spv.Bitcast can now be removed. Differential Revision: https://reviews.llvm.org/D75611
-
Fangrui Song authored
This is GNU objdump's behavior and it is reasonable to match. Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D75588
-
Lei Zhang authored
A previous commit added support for integer signedness in C++ IntegerType. This change introduces ODS definitions for integer types and integer (element) attributes w.r.t. signedness. This commit also updates various existing definitions' descriptions to mention signless where suitable to make it more clear. Positive and non-negative integer attributes are removed to avoid the explosion of subclasses. Instead, one should use more atmoic constraints together with Confined to model that. For example, `Confined<..., [IntPositive]>`. Differential Revision: https://reviews.llvm.org/D75610
-
Alexey Bataev authored
Added codegen for 'depend' clause in depobj directive. The depend clause is emitted as kmp_depend_info <deps>[<number_of_items_in_clause> + 1]. The first element in this array is reserved for storing the number of elements in this array: <deps>[0].base_addr = <number_of_items_in_clause>; This extra element is required to implement 'update' and 'destroy' clauses. It is required to know the size of array to destroy it correctly and to update depency kind.
-
Martijn Vels authored
This reverts commit 8cf76e91. We are investigating why this causes compilation issues under -O3
-
Sam Clegg authored
This also changes to default style to match the host. Reviewed By: ruiu Differential Revision: https://reviews.llvm.org/D75577
-
Louis Dionne authored
-
Wei Mi authored
https://reviews.llvm.org/D42848 only handled CFA related cfi directives but didn't handle CSR related cfi. The patch adds the CSR part. Basically it reuses the framework created in D42848. For each basicblock, the patch tracks which CSR set have been saved at its CFG predecessors's exits, and compare the CSR set with the set at its previous basicblock's exit (The previous block is the block laid before the current block). If the saved CSR set at its previous basicblock's exit is larger, .cfi_restore will be inserted. The patch also generates proper .cfi_restore in epilogue to make sure the saved CSR set is consistent for the incoming edges of each block. Differential Revision: https://reviews.llvm.org/D74303
-
Guozhi Wei authored
As the test case shows if there is an ExtractValueInst in the Ret block, function dupRetToEnableTailCallOpts can't duplicate it into the block containing call. So later no tail call is generated in CodeGen. This patch adds the ExtractValueInst handling code in function dupRetToEnableTailCallOpts and FoldReturnIntoUncondBranch, and later tail call can be generated for this case. Differential Revision: https://reviews.llvm.org/D74242 -
Raphael Isemann authored
-
Lei Zhang authored
Also make the getResourceLimits() method more explicit about its return type. Differential Revision: https://reviews.llvm.org/D75484
-
Eric Fiselier authored
They need to appear before any member functions are ODR used, because they change the visibility of many of these functions and otherwise they could end up with hidden visibility in the DSO.
-
Louis Dionne authored
The new implementation introduced in 5b1e5b43 broke the bot running GCC 5.
-
Fangrui Song authored
In many cases, llvm-nm or llvm-readelf is more suitable.
-
David Green authored
This teaches Loop Strength Reduction the details about masked load and store address operands, so that it can have a better time optimising them as it would for normal loads and stores. Differential Revision: https://reviews.llvm.org/D75371
-
Raphael Isemann authored
-
Mitch Phillips authored
This reverts commit 8d41f1a0. This change broke the MSan buildbots - see comments in https://reviews.llvm.org/D75390 for more information.
-
Jonathan Coe authored
Summary: Consider `? identifier =` and `? identifier;` to be nullable within function bodies. Reviewers: krasimir Reviewed By: krasimir Subscribers: cfe-commits, MyDeveloperDay Tags: #clang-format, #clang Differential Revision: https://reviews.llvm.org/D75606
-
Jon Chesterfield authored
Summary: [libomptarget] Implement hip atomic functions in terms of intrinsics All but atomicInc can be implemented using type generic clang intrinsics. There is not yet a corresponding intrinsic for atomicInc in clang, only one in LLVM. This patch leaves atomicInc as an unresolved symbol. Reviewers: jdoerfert, ABataev, hfinkel, grokos, arsenm Reviewed By: arsenm Subscribers: sri, saiislam, wdng, jvesely, mgorny, jfb, openmp-commits Tags: #openmp Differential Revision: https://reviews.llvm.org/D73076
-
River Riddle authored
Summary: The order of the operations has fallen out of sync as operations have been renamed and new ones have been added. Differential Revision: https://reviews.llvm.org/D75540
-
Nikita Popov authored
InstCombine uses an IRBuilder that automatically performs target-dependent constant folding, so explicitly invoking it here is not necessary.
-
Nikita Popov authored
This makes sure that the constant expression bitcast goes through target-dependent constant folding, and thus avoids an additional iteration of InstCombine.
-
Nikita Popov authored
-
Nikita Popov authored
-
Nikita Popov authored
-
Nikita Popov authored
Spin-off from D75407. As described there, ConstantFoldConstant() currently returns null for non-ConstantExpr/ConstantVector inputs, but otherwise always returns non-null, independently of whether any folding has happened or not. This is confusing and makes consumer code more complicated. I would expect either that ConstantFoldConstant() returns only if it actually folded something, or that it always returns non-null. I'm going to the latter possibility here, which appears to be more useful considering existing usage. Differential Revision: https://reviews.llvm.org/D75543
-
Jeremy Morse authored
The output of subprocess.check_output is decode()'d through the rest of this python program, but one appears to have been missed for the output of the call to "clang -print-file-name=include". On Windows, with Python 3.6, this leads to the 'args' array being a mix of bytes and strings, which causes exceptions later down the line. I can't easily test with python2 on Windows, but python2 on Ubuntu 18.04 was happy with this change.
-
Craig Topper authored
If we would emit a VBROADCAST node, we can instead directly emit a VBROADCAST_LOAD. This allows us to get rid of the special case to use an f64 load on 32-bit targets for vXi64. I believe there is more cleanup we can do later in this function, but I'll do that in follow ups.
-
Simon Pilgrim authored
Similar to some of the regressions seen in D75114
-
Simon Pilgrim authored
Similar to some of the regressions seen in D75114
-
Michael Park authored
Differential Revision: https://reviews.llvm.org/D70117
-