- Nov 25, 2020
-
-
Luís Marques authored
This is a special calling convention to be used by the GHC compiler. Differential Revision: https://reviews.llvm.org/D89788
-
Sean Silva authored
SameOperandsAndResultShape and ElementwiseMappable have similar verification, but in general neither is strictly redundant with the other. Examples: - SameOperandsAndResultShape allows `"foo"(%0) : tensor<2xf32> -> tensor<?xf32> but ElementwiseMappable does not. - ElementwiseMappable allows `select %scalar_pred, %true_tensor, %false_tensor` but SameOperandsAndResultShape does not. SameOperandsAndResultShape is redundant with ElementwiseMappable when we can prove that the mixed scalar/non-scalar case cannot happen. In those situations, `ElementwiseMappable & SameOperandsAndResultShape == ElementwiseMappable`: - Ops with 1 operand: the case of mixed scalar and non-scalar operands cannot happen since there is only one operand. - When SameTypeOperands is also present, the mixed scalar/non-scalar operand case cannot happen. Differential Revision: https://reviews.llvm.org/D91396
-
Aart Bik authored
Generalizes invariant handling to anything defined outside the Linalg op (parameters and SSA computations). Fixes bug that was using parameter number as tensor number. Reviewed By: penpornk Differential Revision: https://reviews.llvm.org/D91985
-
Sean Fertile authored
When the operand to an (s/u)int_to_fp node is an illegally typed load we cannot reuse the load address since we can not build a proper dependancy chain. The legalized loads will use a different chain output then the illegal load. If we reuse the load address then we will build a conversion node that uses the chain of the illegal load and operations which modify the memory address in the other dependancy chain can be scheduled before the floating point load which feeds the conversion. Differential Revision: https://reviews.llvm.org/D91265
-
Alex Zinenko authored
Introduce a conversion pass from SCF parallel loops to OpenMP dialect constructs - parallel region and workshare loop. Loops with reductions are not supported because the OpenMP dialect cannot model them yet. The conversion currently targets only one level of parallelism, i.e. only one top-level `omp.parallel` operation is produced even if there are nested `scf.parallel` operations that could be mapped to `omp.wsloop`. Nested parallelism support is left for future work. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D91982
-
Marek Kurdej authored
Added: ATOMIC_CHAR8_T_LOCK_FREE, atomic<char8_t>, atomic_char8_t. http://wg21.link/P0482 Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D91706
-
Teresa Johnson authored
Add a Visited set to avoid repeatedly processing the same base classes in complex class hierarchies. This cut down the compile time of one source file from >12min to ~1min. Differential Revision: https://reviews.llvm.org/D91676
-
Nicolas Vasilache authored
Print part of an op of the form: ``` <optional-offset-prefix>`[` offset-list `]` <optional-size-prefix>`[` size-list `]` <optional-stride-prefix>[` stride-list `]` ``` Also address some leftover nits. Differential revision: https://reviews.llvm.org/D92031
-
Fangrui Song authored
And add ppc-cpus.cpp for -mcpu= specific tests.
-
Nicolas Vasilache authored
Parse trailing part of an op of the form: ``` <optional-offset-prefix>`[` offset-list `]` <optional-size-prefix>`[` size-list `]` <optional-stride-prefix>[` stride-list `]` ``` Each entry in the offset, size and stride list either resolves to an integer constant or an operand of index type. Constants are added to the `result` as named integer array attributes with name `OffsetSizeAndStrideOpInterface::getStaticOffsetsAttrName()` (resp. `getStaticSizesAttrName()`, `getStaticStridesAttrName()`). Append the number of offset, size and stride operands to `segmentSizes` before adding it to `result` as the named attribute: `OpTrait::AttrSizedOperandSegments<void>::getOperandSegmentSizeAttr()`. Offset, size and stride operands resolution occurs after `preResolutionFn` to give a chance to leading operands to resolve first, after parsing the types. ``` ParseResult parseOffsetsSizesAndStrides( OpAsmParser &parser, OperationState &result, ArrayRef<int> segmentSizes, llvm::function_ref<ParseResult(OpAsmParser &, OperationState &)> preResolutionFn = nullptr, llvm::function_ref<ParseResult(OpAsmParser &)> parseOptionalOffsetPrefix = nullptr, llvm::function_ref<ParseResult(OpAsmParser &)> parseOptionalSizePrefix = nullptr, llvm::function_ref<ParseResult(OpAsmParser &)> parseOptionalStridePrefix = nullptr); ``` Differential revision: https://reviews.llvm.org/D92030 -
zhanghb97 authored
MLIR C API use the `MlirStringRef` instead of `const char *` for the string type now. This patch sync the Python bindings with the C API modification. Differential Revision: https://reviews.llvm.org/D92007
-
Haojian Wu authored
-
Sanjay Patel authored
We need to preserve wrapping flags to allow better folds. The cases with geps may be non-intuitive, but that appears to agree with Alive2: https://alive2.llvm.org/ce/z/JQcqw7 We create 'nsw' ops independent from the original wrapping on the sub.
-
Sanjay Patel authored
-
Sanjay Patel authored
-
Philip Reames authored
-
Arthur Eubanks authored
This tests legacy PM-specific code.
-
Florian Hahn authored
-
Arthur Eubanks authored
-
Janek van Oirschot authored
Putting the +1 before the zero-extend will allow scalar evolution to fold the expression in some cases such as the one shown in PowerPC's `shrink-wrap.ll` test. Reviewed By: samparker Differential Revision: https://reviews.llvm.org/D91724
-
Adam Czachorowski authored
This improves the behavior related to type aliases, as well as cases of typo correction. Differential Revision: https://reviews.llvm.org/D91966
-
Stella Laurenzo authored
* Was causing auto-detect of pybind11 to fail on clean configure. Differential Revision: https://reviews.llvm.org/D92043
-
Fangrui Song authored
In GCC, `aarch64-*-linux` and `aarch64-*-freebsd` made the switch in 2018 (https://gcc.gnu.org/pipermail/gcc-patches/2018-March/495549.html). In Clang, FreeBSD/Fuchsia/NetBSD/MinGW aarch64 default to -fasynchronous-unwind-tables. This patch defaults Generic_GCC aarch64 (which affects Linux) to use -fasynchronous-unwind-tables. Reviewed By: nickdesaulniers Differential Revision: https://reviews.llvm.org/D91760
-
Jay Foad authored
This is used to mark transcendental instructions that execute on a separate pipeline from the normal VALU pipeline. Differential Revision: https://reviews.llvm.org/D92042
-
Tei Jeong authored
Reviewed By: liufengdb Differential Revision: https://reviews.llvm.org/D92034
-
Teresa Johnson authored
Previously this option could be used to skip devirtualizations of the given functions in regular LTO and in the ThinLTO indexing step. This change allows them to be skipped in the backend as well, which is useful when debugging WPD in a distributed ThinLTO backend. Differential Revision: https://reviews.llvm.org/D91812
-
Victor Huang authored
New pseudo instructions GETtlsADDRPCREL and GETtlsldADDRPCREL are added for properly setting REGMASK for tls_get_addr function when using PCRelative address. Differential Revisien: https://reviews.llvm.org/D91420 Reviewed by: bsaleil
-
Stella Laurenzo authored
* Was missed in the initial submission and is required for a ConstantLike op. * Also adds a materializeConstant hook to preserve it. * Tightens up the argument constraint on tosa.const to match what is actually legal. Differential Revision: https://reviews.llvm.org/D92040
-
Louis Dionne authored
-
Hubert Tong authored
After commit 2482648a, a GNU grep option is just passed unconditionally to `grep` in general. This patch fixes the test for platforms where `grep` is not GNU grep.
-
Yichao Yu authored
AFAICT all other set/map are correctly cleared in `runOnFunction`. With assertion enabled this causes a crash when the module is freed and potentially if a later pass delete the instruction (not observed in real world though). Without assertion this can potentially cause confusing result when running on a new Function/Module. Reviewed By: loladiro Differential Revision: https://reviews.llvm.org/D84031
-
Arthur Eubanks authored
These are identical except for the RUN lines. Also pin legacy RUN line to legacy PM.
-
Thomas Preud'homme authored
Add missing handling of STRICT_FSETCC promotion. This prevents assert failure in llvm::TargetLoweringBase::getTypeToPromoteTo(). Reviewed By: uweigand Differential Revision: https://reviews.llvm.org/D91962
-
Mark de Wever authored
Implements P1956: On the names of low-level bit manipulation functions. Users may use older versions of libc++ or other standard libraries with the old names. In order to keep compatibility the old functions are kept, but marked as deprecated. The patch also adds a new config macro `_LIBCPP_DEPRECATED_MSG`. Do you prefer a this is a separate patch? Reviewed By: ldionne, #libc Differential Revision: https://reviews.llvm.org/D90551
-
Nico Weber authored
Also use "unknown flag 'flag'" instead of "unknown flag: flag" for consistency with the other ports. Differential Revision: https://reviews.llvm.org/D91970
-
Masoud Ataei authored
It is possible that we have different constants in different slots of second vector double (float) of pow function. So, in this case Exp->getSplatValue() will return nullptr. Here, I handle it properly. Reviewed By: steven.zhang, PowerPC Differential Revision: https://reviews.llvm.org/D91729
-
Nico Weber authored
New MachO LLD doesn't implement the old -macos_version_min (etc) flags, but it understands the modern platform_version flag. So make the clang driver pass that when using new MachO LLD. Also, while here, don't pass -lto_library to LLD, since it links in LTO libraries statically (which it can because it's versioned alongside clang). Differential Revision: https://reviews.llvm.org/D92037
-
Sergey Dmitriev authored
Use a different container that preserves existing elements on modification for storing temporary file names. Current container can make StringRefs returned earlier invalid on reallocation. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D92010
-
Nico Weber authored
-
Arthur O'Dwyer authored
Zoe Carver says: "We decided that libc++ only supports C++20 constexpr algorithms when `is_constant_evaluated` is also supported. Here's a link to the discussion." https://reviews.llvm.org/D65721#inline-735682 Remove _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED from tests, too. See Louis's 5911e6a8 if needed to fix bots. I've applied `UNSUPPORTED: clang-8` preemptively to the altered tests; I don't know for sure that this was needed, because no clang-8 buildbots are triggered on pull requests.
-