- Nov 10, 2020
-
-
David Green authored
This was accidentally using the same name for two different variables in the same line. Whilst it seems to work for some compilers, others have trouble and it is probably not a fantastic idea.
-
Craig Topper authored
Add additional isel patterns for ctzw/clzw instructions. Differential Revision: https://reviews.llvm.org/D91040
-
Craig Topper authored
Differential Revision: https://reviews.llvm.org/D91024
-
Craig Topper authored
This produces better code for sign extend to i64 on RV32 target. Differential Revision: https://reviews.llvm.org/D91023
-
Fangrui Song authored
I don't have a Windows machine. Hope someone can test why its InputSection is still larger.
-
Craig Topper authored
This uses the shiftop PatFrags to handle the masked shift amount and unmasked shift amount cases. That also checks XLen as part of the masked amount check so we don't need separate RV32 and RV64 patterns. Differential Revision: https://reviews.llvm.org/D91016
-
Fangrui Song authored
On LP64/Windows platforms, this decreases sizeof(InputSection) from 208 (larger on Windows) to 184. For a large executable (7.6GiB, inputSections.size()=5105122, make<InputSection> called 4835760 times), this decreases cgroup memory.max_usage_in_bytes by 0.6% Reviewed By: grimar Differential Revision: https://reviews.llvm.org/D91018
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Just use default CHECK
-
Paul Robinson authored
FastISel generates instructions to materialize "local values" at the top of a block, in the hope that these values could be reused within the block. To reduce spills and restores, FastISel treats calls as sub-block boundaries, flushing the "local value map" at each call. This patch treats the mem* intrinsics as if they were calls, because at O0 generally they are calls. Eliminating these spills/restores is actually better for debugging (especially a "continue at this line" command), code size, stack frame size, and maybe even performance. Differential Revision: https://reviews.llvm.org/D90877
-
Rahul Joshi authored
- When a block is not empty and does not end with a terminator, flag the error on the last operation of the block instead of the start of the block. Differential Revision: https://reviews.llvm.org/D90988
-
Fangrui Song authored
Reviewed By: tmsriram Differential Revision: https://reviews.llvm.org/D90815
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Just use default CHECK
-
António Afonso authored
This reverts commit df30bc01.
-
Nicolas Vasilache authored
This revision adds support for bufferization by using a mix of `tensor_load`, `subview`, `linalg.copy` and `tensor_to_memref`.
-
Jonas Devlieghere authored
During active replay, the ::Initialize call is replayed like any other SB API call and the return value is ignored. Since we can't intercept this, we terminate here before the uninitialized debugger inevitably crashes. Differential revision: https://reviews.llvm.org/D90987
-
Atmn Patel authored
D86841 had an error where for statements with no conditional were required to make progress. This is not true, this patch removes that line, and adds regression tests. Differential Revision: https://reviews.llvm.org/D91075
-
Mircea Trofin authored
Differential Revision: https://reviews.llvm.org/D90795
-
jasonliu authored
Implement mechanism to allow explicit sections to be generated on AIX. Reviewed By: DiggerLin Differential Revision: https://reviews.llvm.org/D88615
-
António Afonso authored
This is a similar patch to https://reviews.llvm.org/D87172. Greg said we should also do it for functions. Reviewed By: clayborg, labath Differential Revision: https://reviews.llvm.org/D87173
-
António Afonso authored
I found a few cases where entries in the debug_line for a specific line of code have invalid entries (the address is outside of a code section or no section at all) and also valid entries. When this happens lldb might not set the breakpoint because the first line entry it will find in the line table might be the invalid one and since it's range is "invalid" no location is resolved. To get around this I changed the way we parse the line sequences to ignore those starting at an address under the first code segment. Greg suggested to implement it this way so we don't need to check all sections for every line sequence. Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D87172
-
Stanislav Mekhanoshin authored
Differential Revision: https://reviews.llvm.org/D90979
-
- Nov 09, 2020
-
-
Paul C. Anagnostopoulos authored
Add a test. Update the Programmer's Reference. Use it in some TableGen files. Differential Revision: https://reviews.llvm.org/D91008
-
David Zarzycki authored
This was requested during the code review of D89952.
-
Sebastian Neubauer authored
Add a calling convention called amdgpu_gfx for real function calls within graphics shaders. For the moment, this uses the same calling convention as other calls in amdgpu, with registers excluded for return address, stack pointer and stack buffer descriptor. Differential Revision: https://reviews.llvm.org/D88540
-
Tyker authored
this simplifies using annotation attributes when using clang as library
-
David Zarzycki authored
This to help review the impact of https://reviews.llvm.org/D89952 which allows targets to fine tune what SelectionDAG does when vector CTPOP is not legal.
-
Momchil Velikov authored
This patch make the outliner emit CFI instructions in a few more places: * after LR is restored, but before the return in an outlined function * around save/restore of LR to/from a register at calls to outlined functions * around save/restore of LR to/from the stack at calls to outlined functions The latter two only when the function does NOT spill LR. If the function spills LR, then outliner generated saves/restores around calls are not considered interesting for unwinding the frame. Differential Revision: https://reviews.llvm.org/D89483
-
Simon Pilgrim authored
-
Simon Pilgrim authored
We try to use X32 for gnux32 triple tests
-
Sam Tebbs authored
There were cases where a VCMP and a VPST were merged even if the VCMP didn't have the same defs of its operands as the VPST. This is fixed by adding RDA checks for the defs. This however gave rise to cases where the new VPST created would precede the un-merged VCMP and so would fail a predicate mask assertion since the VCMP wasn't predicated. This was solved by converting the VCMP to a VPT instead of inserting the new VPST. Differential Revision: https://reviews.llvm.org/D90461
-
Tres Popp authored
The legalization did not forward the listener which prevents dynamic legalization and prevents rollbacks. This handled that and then changed the associated pass to support all other std ops to support partial conversion. Previously, this lowering was failing, but due to the initial bug, the op's modifications were not reverted, and thus the pattern matching succeeded. Differential Revision: https://reviews.llvm.org/D91079
-
Sjoerd Meijer authored
Introduce struct FlattenInfo to group some of the bookkeeping. Besides this being a bit of a clean-up, it is a prep step for next additions (D90640). I could take things a bit further, but thought this was a good first step also not to make this change too large. Differential Revision: https://reviews.llvm.org/D90408
-
LLVM GN Syncbot authored
-
Krasimir Georgiev authored
In C++ with -Werror=comment, multiline comments are not allowed. clang-format could accidentally introduce multiline comments when reflowing. This adapts clang-format to not introduce multiline comments by not allowing a break after `\`. Note that this does not apply to comment lines that already are multiline comments, such as comments in macros. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D90949
-
Frank Derry Wanye authored
The altera kernel name restriction check finds kernel files and include directives whose filename is "kernel.cl", "Verilog.cl", or "VHDL.cl". Such kernel file names cause the Altera Offline Compiler to generate intermediate design files that have the same names as certain internal files, which leads to a compilation error. As per the "Guidelines for Naming the Kernel" section in the "Intel FPGA SDK for OpenCL Pro Edition: Programming Guide." This reverts the reversion from 43a38a65.
-
Alex Zinenko authored
Enumerating elements in these classes is necessary to enable custom operand accessors for variadic operands. Depends On D90919 Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D90923
-
Florian Hahn authored
For loads, print the result value.
-