- Jun 06, 2020
-
-
Simon Pilgrim authored
Move implicit include dependencies down to source files.
-
Sanjay Patel authored
D80801 suggests some readability improvements before mocing this block.
-
Simon Pilgrim authored
MSVC doesn't care that this isn't declared for default template args but gcc (sometimes) does.
-
Simon Pilgrim authored
Remove unnecessary includes from CFG.cpp. Fix implicit include dependency in X86WinEHState.cpp.
-
Matt Arsenault authored
The current set is an incomprehensible mess riddled with ordering hacks for various limitations in the legalizer at the time of writing, many of which have been fixed. This takes a very small step in correcting this. The core first change is to start checking for fully legal cases first, rather than trying to figure out all of the actions that could need to be performed. It's recommended to check the legal cases first for faster legality checks in the common case. This still has a table listing some common cases, but it needs measuring whether this really helps or not. More significantly, stop trying to allow any arbitrary type with a legal bitwidth as a legal memory type, and start using the bitcast legalize action for them. Allowing loads of these weird vector types produced new burdens we don't need for handling all of the legalization artifacts. Unlike the SelectionDAG handling, this is still not casting 64 or 16-bit element vectors to 32-bit vectors. These cases should still be handled by increasing/decreasing the number of 16-bit elements. This is primarily to fix 8-bit element vectors. Another change is to stop trying to handle the load-widening based on a higher alignment. We should still do this, but the way it was handled wasn't really correct. We really need to modify the MMO's size at the same time, and not just increase the result type. The LegalizerHelper does not do this, and I think this would really require a separate WidenMemory action (or to add a memory action payload to the LegalizeMutation). These will now fail to legalize. The structure of the legalizer rules makes writing concise rules here difficult. It would be easier if the same function could answer the query the query, and report the action to perform at the same time. Instead these two are split into distinct predicate and action functions. This is mostly tolerable for other cases, but the load/store rules get pretty complicated so it's difficult to keep two versions of these functions in sync.
-
dfukalov authored
Summary: In some cases inner loops may not get boosts so try to analyze them deeper. Reviewers: rampitec, mzolotukhin Reviewed By: rampitec Subscribers: arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, zzheng, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81204
-
Simon Pilgrim authored
Fix buildbot failure due to rG5006e551d310 - oddly I can't reproduce this locally on my msvc expensive checks build.
-
Simon Pilgrim authored
Move implicit include dependencies down to header/source files.
-
Paul Walker authored
Subscribers: tschuett, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81252
-
Simon Pilgrim authored
Move implicit include dependencies down to source file.
-
Simon Pilgrim authored
-
Roman Lebedev authored
Summary: That's just really wrong. While sure, if LHS is AddRec, and we could propagate it's no-wrap flags, that doesn't make, because as long as the operands of `or` had no common bits set, then the `add` of these operands will never overflow: http://volta.cs.utah.edu:8080/z/gmt7Sy IOW we need no propagation/detection, we are free to just set NUW+NSW. But as rG39e3683534c83573da5c8b70c8adfb43948f601f shows, even when the old code failed to "deduce" flags, we'd eventually re-deduce them somewhere, later. So let's just set them. Reviewers: mkazantsev, reames, sanjoy, efriedma Reviewed By: efriedma Subscribers: efriedma, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81246
-
Roman Lebedev authored
Summary: There was this comment here previously: ``` - // It is currently not resolved how to interpret NSW for left - // shift by BitWidth - 1, so we avoid applying flags in that - // case. Remove this check (or this comment) once the situation - // is resolved. See - // http://lists.llvm.org/pipermail/llvm-dev/2015-April/084195.html - // and http://reviews.llvm.org/D8890 . ``` But langref was fixed in rL286785, and the behavior is pretty obvious: http://volta.cs.utah.edu:8080/z/MM4WZP ^ nuw can always be propagated. nsw can be propagated if either nuw is specified, or the shift is by *less* than bitwidth-1. This mimics similar D81189 Reassociate change, alive2 is happy about that one. I'm not sure `NUW` isn't being printed, but that seems unrelated. Reviewers: mkazantsev, reames, sanjoy, nlopes, craig.topper, efriedma Reviewed By: efriedma Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81243
-
Nikita Popov authored
The alignment is not actually used.
-
Nikita Popov authored
Alloca align is required now.
-
Marco Elver authored
Buildbot reports failures on e.g. armv7 and thumbv7. Fix the test by expecting either i32 or i64 for the size-argument.
-
Tres Popp authored
Summary: This is to be consistent with most other assemblyFormat examles in MLIR. Differential Revision: https://reviews.llvm.org/D81245
-
Lang Hames authored
JITLink supports all code and relocation models, so there's no reason to conditionalize using JITLink on the code or relocation model settings. Clients wanting to use RTDyldObjectLinkingLayer/RuntimeDyld will now need to use a custom object linking layer creator.
-
Wen-Heng (Jack) Chung authored
Summary: Prior to ROCm / HIP 3.5, HSA code object V2 is the default binary format. Starting from ROCm 3.5, HSA code object V3 becomes default. Also invoke `rocm_agent_enumerator` to detect proper AMD ISA version on the system. Use `gfx900` as the fallback value. Reviewers: jerryyin yaxunl Subscribers: mgorny, yaxunl, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, stephenneuendorffer, Joonsoo, grosul1, frgossen, Kayjukh, jurahul, msifontes Tags: #mlir Differential Revision: https://reviews.llvm.org/D81309
-
LLVM GN Syncbot authored
-
Nico Weber authored
This reverts commit 1fa43e0b. Still breaks tests on several bots, see https://reviews.llvm.org/D81176
-
Nico Weber authored
This reverts commit b5289656. __attribute__((optnone)) doesn't build with msvc, see http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/16326
-
LLVM GN Syncbot authored
-
Jessica Paquette authored
Since all of the other G_SHUFFLE_VECTOR transforms are going there, let's do this with dup as well. This is nice, because it lets us split up the original code into matching, register bank selection, and instruction selection. - Create G_DUP, make it equivalent to AArch64dup - Add a post-legalizer combine which is 90% a copy-and-paste from tryOptVectorDup, except with shuffle matching closer to what SelectionDAG does in `ShuffleVectorSDNode::isSplatMask`. - Teach RegBankSelect about G_DUP. Since dup selection relies on the correct register bank for FP/GPR dup selection, this is necessary. - Kill `tryOptVectorDup`, since it's now entirely handled by G_DUP. - Add testcases for the combine, RegBankSelect, and selection. The selection test gives the same selection results as the old test. Differential Revision: https://reviews.llvm.org/D81221
-
Diego Caballero authored
This patch is a follow-up on https://reviews.llvm.org/D81127 BF16 constants were represented as 64-bit floating point values due to the lack of support for BF16 in APFloat. APFloat was recently extended to support BF16 so this patch is fixing the BF16 constant representation to be 16-bit. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D81218
-
Yaxun (Sam) Liu authored
recommit 11d06b95 with fix for lit tests.
-
Diego Caballero authored
Bfloat type has an 8-bit exponent so the exponent of NaN/Inf numbers must be 0xff instead of 0x1f. This is probably a copy-paste mistake from the half float type. Reviewed By: lattner Differential Revision: https://reviews.llvm.org/D81302
-
Richard Smith authored
Summary: This transformation is correct for a builtin call to 'free(p)', but not for 'operator delete(p)'. There is no guarantee that a user replacement 'operator delete' has no effect when called on a null pointer. However, the principle behind the transformation *is* correct, and can be applied more broadly: a 'delete p' expression is permitted to unconditionally call 'operator delete(p)'. So do that in Clang under -Oz where possible. We do this whether or not 'p' has trivial destruction, since the destruction might turn out to be trivial after inlining, and even for a class-specific (but non-virtual, non-destroying, non-array) 'operator delete'. Reviewers: davide, dnsampaio, rjmccall Reviewed By: dnsampaio Subscribers: hiraditya, cfe-commits, llvm-commits Tags: #clang, #llvm Differential Revision: https://reviews.llvm.org/D79378
-
stevewan authored
Summary: This patch removes the special handling for Darwin on PowerPC in the default target cpu handling, because Darwin is no longer supported on the PowerPC platform. Reviewers: hubert.reinterpretcast, daltenty Reviewed By: hubert.reinterpretcast Subscribers: wuzish, nemanjai, shchenz, steven.zhang, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D81115
-
Philip Reames authored
-
Reid Kleckner authored
-
Reid Kleckner authored
This reverts commit 38f3ba59. Fix the XCOFF error handling. Unlike std::error_code, Error must be consumed or handled.
-
Fangrui Song authored
Fix -Wunused-variable in -DLLVM_ENABLE_ASSERTIONS=off builds after ebcbd5ba
-
Richard Smith authored
trivial. We previously took a shortcut by assuming that if a subobject had a trivial copy assignment operator (with a few side-conditions), we would always invoke it, and could avoid going through overload resolution. That turns out to not be correct in the presenve of ref-qualifiers (and also won't be the case for copy-assignments with requires-clauses either). Use the same logic for lazy declaration of copy-assignments that we use for all other special member functions. Previously committed as c57f8a3a. This now also includes an extension of LLDB's workaround for handling special members without the help of Sema to cover copy assignments.
-
Richard Smith authored
before marking it complete. No functionality change intended. Previously committed as c13dd74e.
-
Fangrui Song authored
Fixes PR46184 Report line 1 of the last memory buffer.
-
Alex Lorenz authored
Similar to ceb80161. Darwin doesn't always use compiler-rt, and so we can't assume that these functions are available on arm.
-
- Jun 05, 2020
-
-
Davide Italiano authored
-