- Sep 13, 2021
-
-
Simon Camphausen authored
Previously negative integers were printed as large unsigned values. Reviewed By: marbre Differential Revision: https://reviews.llvm.org/D109690
-
Simon Pilgrim authored
APInt is used to describe a bit mask in a variety of value tracking and demanded bits/elts functions. When traversing through dst/src operands, we have a number of places where these masks need to widened/narrowed to translate through bitcasts, reductions etc. to a different type. This patch add a APIntOps::ScaleBitMask common helper, adds unit test coverage, and updates a number of cases to use the the helper instead of their own implementation. This came up on D109065 where we currently have to add yet another implementation of the same code. Differential Revision: https://reviews.llvm.org/D109683
-
vnalamot authored
Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D109674
-
Jonas Paulsson authored
mlir-cpu-runner/math_polynomial_approx.mlir This test case is currently failing on SystemZ, but it does not appear to necessarily be a target specific problem. See discussion at https://bugs.llvm.org/show_bug.cgi?id=51204.
-
Guillaume Chatelet authored
This reverts commit b659b789.
-
dpalermo authored
Patch by @dpalermo The corrupt bitcode reported in https://bugs.llvm.org/show_bug.cgi?id=51647 seems to be a result of a later pass changing the workfn variable to addrspace(5) (thread private, on the stack). That seems reasonable for an alloca without an address space so it's an open question why that can crash the bitcode reader. This change puts it in the thread private address space to begin with which means whatever misfired further down the pipeline does not break it. That matches the codegen from clang where stack variables are always annotated (5) and then addrspace cast prior to following use. This therefore patches around whatever unsuccessfully moved the alloca variable to addrspace(5). That solves the problem of openmp opt producing code that crashes the bitcode reader. It should be possible to create a minimal repro for the underlying bug based on some handwritten IR that uses an alloca in a generic address space. Reviewed By: ronlieb, jdoerfert, dpalermo-phab Differential Revision: https://reviews.llvm.org/D109500
-
Nico Weber authored
-
Michał Górny authored
Remove the parent output checks, as they make the test flaky while serving no real purpose. If the parent crashed/hanged, it will never resume the child and the test would fail anyway.
-
Muiez Ahmed authored
The aim is to add the missing z/OS specific implementations for mbsnrtowcs and wcsnrtombs, as part of libc++. Differential Revision: https://reviews.llvm.org/D98207
-
Matthias Springer authored
Do not copy InitTensorOps or casts thereof. Differential Revision: https://reviews.llvm.org/D109656
-
Florian Hahn authored
-
Pavel Labath authored
-
Anna Thomas authored
Moved out the checks for profitability of TryToSinkInstructions into a lambda function. This will also allow us to easily add checks for bailing out if the transform is not profitable. Tests-Run: instCombine tests.
-
Kristóf Umann authored
[analyzer] MallocChecker: Add notes from NoOwnershipChangeVisitor only when a function "intents", but doesn't change ownership, enable by default D105819 Added NoOwnershipChangeVisitor, but it is only registered when an off-by-default, hidden checker option was enabled. The reason behind this was that it grossly overestimated the set of functions that really needed a note: std::string getTrainName(const Train *T) { return T->name; } // note: Retuning without changing the ownership of or deallocating memory // Umm... I mean duh? Nor would I expect this function to do anything like that... void foo() { Train *T = new Train("Land Plane"); print(getTrainName(T)); // note: calling getTrainName / returning from getTrainName } // warn: Memory leak This patch adds a heuristic that guesses that any function that has an explicit operator delete call could have be responsible for deallocating the memory that ended up leaking. This is waaaay too conservative (see the TODOs in the new function), but it safer ... -
Stefan Gränitz authored
[JITLink] Factor out forEachRelocation() function from addRelocations() in ELF Aarch64 backend (NFC) First step in reducing redundancy in `addRelocations()` implementations across ELF JITLink backends. The patch factors out common logic for ELF relocation traversal into the new helper function `forEachRelocation()` in the `ELFLinkGraphBuilder` base class. For now, this is applied to the Aarch64 implementation. Others may follow soon. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D109516
-
Nico Weber authored
When nonexistent linker inputs are passed to the driver, the linker now errors out, instead of the compiler. If the linker does not run, clang now emits a "warning: linker input unused" instead of an error for nonexistent files. The motivation for this change is that I noticed that `clang-cl /winsysroot sysroot main.cc ole32.lib` emitted a "ole32.lib not found" error, even though the linker finds it just fine when I run `clang-cl /winsysroot sysroot main.cc /link ole32.lib`. The same problem occurs if running `clang-cl main.cc ole32.lib` in a non-MSVC shell. The problem is that DiagnoseInputExistence() only looked for libs in %LIB%, but MSVCToolChain uses much more involved techniques. For this particular problem, we could make DiagnoseInputExistence() ask the toolchain to see if it can find a .lib file, but in general the driver can't know what the linker will do to find files, so it shouldn't try. For example, if we implement P...
-
Tim Northover authored
When back-deploying Swift async code we can't always toggle the flag showing an extended frame is present because it will confuse unwinders on systems released before this feature. So in cases where the code might run there, we `or` in a mask provided by the runtime (as an absolute symbol) telling us whether the unwinders can cope. When deploying only for newer OSs, we can still hard-code the bit-set for greater efficiency.
-
Andrew Savonichev authored
This reverts commit ec6c8471. Fails on check-openmp: /b/1/openmp-clang-x86_64-linux-debian/llvm.build/projects/openmp/runtime/test/lock/Output/omp_init_lock.c.tmp -- Exit Code: -11
-
LLVM GN Syncbot authored
-
Andrew Savonichev authored
The patch adds missing diagnostics for cases like: float F3 = ((__float128)F1 * (__float128)F2) / 2.0f; Sema::checkDeviceDecl (renamed to checkTypeSupport) is changed to work with a type without the corresponding ValueDecl. It is also refactored so that host diagnostics for unsupported types can be added here as well. Differential Revision: https://reviews.llvm.org/D109315
-
Ole Strohm authored
This patch fixes initializing temporaries, which are currently initialized without an address space, meaning that no constructor can ever be applicable. Now they will be constructed in the private addrspace. Fixes the second issue in PR43296. Reviewed By: Anastasia Differential Revision: https://reviews.llvm.org/D107553
-
Nicolas Vasilache authored
Previously, we would insert a DimOp and rely on later canonicalizations. Unfortunately, reifyShape kind of rewrites are not canonicalizations anymore. This introduces undesirable pass dependencies. Instead, immediately reify the result shape and avoid the DimOp altogether. This is akin to a local folding, which avoids introducing more reliance on `-resolve-shaped-type-result-dims` (similar to compositions of `affine.apply` by construction to avoid chains of size > 1). It does not completely get rid of the reliance on the pass as the process is merely local: calling the pass may still be necessary for global effects. Indeed, one of the tests still requires the pass. Differential Revision: https://reviews.llvm.org/D109571
-
Kristóf Umann authored
[analyzer][NFCI] Allow clients of NoStateChangeFuncVisitor to check entire function calls, rather than each ExplodedNode in it Fix a compilation error due to a missing 'template' keyword. Differential Revision: https://reviews.llvm.org/D108695
-
Sven van Haastregt authored
See https://github.com/KhronosGroup/OpenCL-Docs/pull/552 for initial specification. Patch by Haonan Yang. Differential Revision: https://reviews.llvm.org/D106343
-
Michał Górny authored
Remove redundant register alt_names that correspond to their respective generic names. D108554 makes it possible to query registers through their generic names directly, therefore making repeating them via alt_name unnecessary. While at it, also remove alt_names that are equal to register names on PPC. This patch does not alter register definitions where the generic names are listed as primary names, and other names are provided as alt_name (e.g. ARM). Differential Revision: https://reviews.llvm.org/D109626
-
Michał Górny authored
Update GetRegisterInfoByName() methods to support getting registers by a generic name independently of alt_name entries in the register context. This makes it possible to use generic names when interacting with gdbserver (that does not supply alt_names). It also makes it possible to remove some of the duplicated information from register context declarations and/or use alt_names for another purpose. Differential Revision: https://reviews.llvm.org/D108554
-
Cullen Rhodes authored
Identified in D109359. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D109491
-
David Green authored
This regenerates some of the tests that had very-close-to-updated check line already, in order to make them more maintainable.
-
Florian Hahn authored
38b098be limited scalarization to indices that are known non-poison. For certain patterns that restrict the range of an index, we can insert a freeze of the original value, to prevent propagation of poison. Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D107580
-
David Truby authored
This extends the custom lowering for extending loads on fixed length vectors in SVE to support masked extending loads. The existing tests for correct behaviour of masked extending loads exhibit bad code generation due to the legalistaion of i1 vectors. They have been left as-is and new tests have been added that do not exhibit this behaviour. Differential Revision: https://reviews.llvm.org/D108200
-
Florian Hahn authored
-
Cullen Rhodes authored
Identified in D109359. Reviewed By: paulwalker-arm, dmgreen Differential Revision: https://reviews.llvm.org/D109589
-
Cullen Rhodes authored
Identified in D109359. Reviewed By: kparzysz Differential Revision: https://reviews.llvm.org/D109604
-
Cullen Rhodes authored
Identified in D109359. Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D109606
-
Cullen Rhodes authored
Identified in D109359. Reviewed By: tra Differential Revision: https://reviews.llvm.org/D109602
-
Xiang1 Zhang authored
Reviewed By: Topper Craig Differential Revision: https://reviews.llvm.org/D109488
-
Xiang1 Zhang authored
This reverts commit 3731de6b.
-
Xiang1 Zhang authored
Reviewed By: Topper Craig Differential Revision: https://reviews.llvm.org/D109354
-
Valentin Clement authored
One of the createInlinerPass does not have the mlir:: namespace Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D109580
-
Luís Marques authored
This test fails for many architectures. Also XFAIL for RISC-V.
-