- Jul 02, 2020
-
-
Roman Lebedev authored
It surprizingly appears to be affected by the last SCEV patch
-
Roman Lebedev authored
Summary: While InstCombine trivially converts that `srem` into a `urem`, it might happen later than wanted, in particular i'd like for that to happen on https://godbolt.org/z/bwuEmJ test case early in pipeline, before first instcombine run, just before `-mem2reg`. SCEV should recognize this case natively. Reviewers: mkazantsev, efriedma, nikic, reames Reviewed By: efriedma Subscribers: clementval, hiraditya, javed.absar, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82721
-
David Green authored
-
LLVM GN Syncbot authored
-
Kazushi (Jam) Marukawa authored
Summary: Rename VE.cpp and VE.h to VEToolchain.cpp and VEToolchain.h respectively in order to avoid link warning message. Linker warns that VE.cpp.o and Arch/VE.cpp.o have the same name. Reviewers: simoll, k-ishizaka Reviewed By: simoll Subscribers: mgorny, cfe-commits Tags: #llvm, #ve, #clang Differential Revision: https://reviews.llvm.org/D82968
-
David Sherwood authored
I have added CHECK lines to the following tests: llvm/test/CodeGen/AArch64/sve-breakdown-scalable-vectortype.ll llvm/test/CodeGen/AArch64/sve-calling-convention-tuple-types.ll llvm/test/CodeGen/AArch64/sve-intrinsics-create-tuple.ll llvm/test/CodeGen/AArch64/sve-intrinsics-loads.ll since they are now free of warnings related to invalid use of EVT::getVectorNumElements() and VectorType::getNumElements(). Differential Revision: https://reviews.llvm.org/D82957
-
Ben Dunbobbin authored
Differential Revision: https://reviews.llvm.org/D82542
-
Nuno Lopes authored
-
Jay Foad authored
-
Sander de Smalen authored
There was a rogue 'assert' in AArch64ISelLowering for the tuple.get intrinsics, that shouldn't really have been there (I suspect this was a remnant from when we expected the wider vector always to have come from a vector CONCAT). When I tried to create a more minimal reproducer, I found a bug in DAGCombiner where it drops the scalable flag when trying to fold: extract_subv (bitcast X), Index --> bitcast (extract_subv X, Index') This patch fixes both issues. Reviewers: david-arm, efriedma, spatel Reviewed By: efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D82910 -
Sander de Smalen authored
Reviewers: kmclaughlin, c-rhodes, efriedma Reviewed By: efriedma Tags: #llvm Differential Revision: https://reviews.llvm.org/D82909
-
Sander de Smalen authored
bfloat16 variants of svdup_lane were missing, and svcvtnt_bf16_x was implemented incorrectly (it takes an operand for the inactive lanes) Reviewers: fpetrogalli, efriedma Reviewed By: fpetrogalli Tags: #clang Differential Revision: https://reviews.llvm.org/D82908
-
Raphael Isemann authored
The passthrough DiagnosticConsumer is an implementation detail of ClangDiagnosticManagerAdapter and we can just hide it behind the normal DiagnosticConsumer interface that ClangDiagnosticManagerAdapter is supposed to implement.
-
Qiu Chaofan authored
-
Nicholas Guy authored
Move the Thumb2SizeReduce pass to before IfConversion when optimising for minimal code size. Running the Thumb2SizeReduction pass before IfConversionallows T1 instructions to propagate to the final output, rather than the ifConverter modifying T2 instructions and preventing them from being reduced later. This change does introduce a regression regarding execution time, so it's only applied when optimising for size. Running the LLVM Test Suite with this change produces a geomean difference of -0.1% for the size..text metric. Differential Revision: https://reviews.llvm.org/D82439
-
Simon Tatham authored
Summary: `include/llvm/Frontend/OpenMP/CMakeLists.txt` creates a new target called `omp_gen` which builds the generated include file `OMP.h.inc`. This target must therefore be a dependency of every compilation step whose transitive #include dependencies contain `OMP.h.inc`, or else it's possible for builds to fail if Ninja (or make or whatever) schedules that compilation step before building `OMP.h.inc` at all. A few of those dependencies are currently missing, which leads to intermittent build failures, depending on the order that Ninja (or whatever) happens to schedule its commands. As far as I can see, compiles in `clang/lib/CodeGen`, `clang/lib/Frontend`, and `clang/examples` all depend transitivily on `OMP.h.inc` (usually via `clang/AST/AST.h`), but don't have the formal dependency in the ninja graph. Adding `omp_gen` to the dependencies of `clang-tablegen-targets` seems to be the way to get the missing dependency into the `clang/examples` subdirectory. This...
-
David Sherwood authored
Whilst trying to assemble the following test: clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_set2.c I discovered we were hitting some warnings about possible invalid calls to getVectorNumElements() in getCopyToPartsVector(). I've tried to fix these by using ElementCount types where possible and I've made the assumption that we don't support using a fixed width vector to copy parts of a scalable vector, and vice versa. Looking at how the copy is implemented I think that's the right thing for now. Differential Revision: https://reviews.llvm.org/D82744
-
Nathan James authored
This reverts commit 068fa357. Based on a regression reported in https://bugs.llvm.org/show_bug.cgi?id=46536
-
Raphael Isemann authored
-
Craig Topper authored
The default CPU used by llvm-mc doesn't have the NOPL feature, but if we know we're compiling in 64-bit mode we should be able to use nopl.
-
Alexander Belyaev authored
-
Krzysztof Pszeniczny authored
This patch uses ranges for debug information when a function contains basic block sections rather than using [lowpc, highpc]. This is also the first in a series of patches for debug info and does not contain the support for linker relaxation. That will be done as a follow up patch. Differential Revision: https://reviews.llvm.org/D78851
-
Eduardo Caldas authored
Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D82960
-
River Riddle authored
This enables better support for traits such as SameOperandsAndResultType, and other situations in which a variadic operand may be resolved from a non-variadic. Differential Revision: https://reviews.llvm.org/D83011
-
Nico Weber authored
With this, a simple hello world links against libSystem.tbd and the old ld64.lld linker kind of works again with newer SDKs. The motivation here is to have an arm64 cross linker that's good enough to be able to run simple configure link checks on non-mac systems for generating config.h files. Once -flavor darwinnew can link arm64, we'll switch to that.
-
Nico Weber authored
-
Fred Riss authored
On macOS 11, system libraries which are part of the shared cache are not present on the filesystem anymore. This causes issues with build.py, because it fails to link binaries with libSystem or libc++. The real issue is that build.py was not passing an SDK to the compiler. The script accepts an argument for the SDK, but it is currently unused. This patch just threads the SDK through to the compile and link steps and this fixes a bunch of Shell test failures on very recent macOS builds.
-
Fred Riss authored
On macOS 11 (and other aligned OSs), the shared cache method lists get an additional optimization which removes one level of indirection to get to the selector. This patch supports this new optimization. Both codepaths are covered byt the existing Objective-C tests.
-
Fred Riss authored
On macOS 11 (and other aligned Apple OSs), the Objective-C runtime has a new optimization which saves memory by making the method lists smaller. This patch adds support for this new method list encoding (while also keeping backward compatibility). This is implicitely covered by some existing Objective-C tests.
-
Pushpinder Singh authored
Summary: If amdgpu-flat-work-group-size is not specified in LLVM IR, the backend uses default value of 1024. For this, minimum waves per EU should be 4. However, backend is still setting minimum value to 1 instead of calculated value. This is not observed normally as frontend always provide amdgpu-flat-work-group-size attribute. Reviewers: rampitec, b-sumner, sameerds, msearles Reviewed By: rampitec Subscribers: qcolombet, arsenm, kzhuravl, jvesely, wdng, nhaehnle, yaxunl, dstuttard, tpr, t-tye, hiraditya, kerbowa, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81991
-
Jez Ng authored
Summary: ld64 does this, and references an internal rdar:// number as an explanation. No idea what that rdar issue is, but in practice, it seems that not putting a BSS section at the end can cause subsequent sections in the same segment to be overwritten with zeroes. Reviewers: #lld-macho Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D81888
-
Biplob Mishra authored
Implement Vector Shift Double Bit Immediate Builtins in LLVM/Clang. * vec_sldb (); * vec_srdb (); Differential Revision: https://reviews.llvm.org/D82440
-
Valentin Clement authored
Summary: This patch is removing the custom enumeration for OpenMP Directives and Clauses and replace them with the newly tablegen generated one from llvm/Frontend. This is a first patch and some will follow to share the same infrastructure where possible. The next patch should use the clauses allowance defined in the tablegen file. Reviewers: jdoerfert, DavidTruby, sscalpone, kiranchandramohan, ichoyjx Reviewed By: DavidTruby, ichoyjx Subscribers: jholewinski, cfe-commits, dblaikie, MaskRay, ymandel, ichoyjx, mgorny, yaxunl, guansong, jfb, sstefan1, aaron.ballman, llvm-commits Tags: #llvm, #flang, #clang Differential Revision: https://reviews.llvm.org/D82906
-
Xiang1 Zhang authored
Summary: INTEL ADVANCED MATRIX EXTENSIONS (AMX). AMX is a new programming paradigm, it has a set of 2-dimensional registers (TILES) representing sub-arrays from a larger 2-dimensional memory image and operate on TILES. Spec can be found in Chapter 3 here https://software.intel.com/content/www/us/en/develop/download/intel-architecture-instruction-set-extensions-programming-reference.html Reviewers: LuoYuanke, annita.zhang, pengfei, RKSimon, xiangzhangllvm Reviewed By: xiangzhangllvm Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D82705
-
Lei Huang authored
-
Tim Keith authored
Add `hasAlternateReturns` to `evaluate::ProcedureRef`. Add `HasAlternateReturns` to test subprogram symbols. Fix `label01.F90` test: It was checking that "error: " didn't appear in the output. But that was erroneously matching a warning that ends "would be in error:". So change it to check for ": error: " instead. Differential Revision: https://reviews.llvm.org/D83007
-
Anil Mahmud authored
Exploits the VSX Vector Splat Immediate Word and VSX Vector Splat Immediate Double Precision instructions: xxspltiw XT,IMM32 xxspltidp XT,IMM32 Differential Revision: https://reviews.llvm.org/D82911
-
Thomas Raoux authored
This allow lowering to support scf.for and scf.if with results. As right now spv region operations don't have return value the results are demoted to Function memory. We create one allocation per result right before the region and store the yield values in it. Then we can load back the value from allocation to be able to use the results. Differential Revision: https://reviews.llvm.org/D82246
-
Thomas Raoux authored
Move patterns for scf to spir-v ops in their own file/folder. Differential Revision: https://reviews.llvm.org/D82914
-
Tim Keith authored
flang/module only contains Fortran files and one is a .h so disable formatting on that directory. Differential Revision: https://reviews.llvm.org/D82989
-