1. [lldb] Revert ddf044290ede for (details)
  2. [LegalizeIntegerTypes][X86] Add support for expanding input of (details)
  3. [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid (details)
  4. Implement VectorType conditional operator GNU extension. (details)
  5. [InstCombine] add FMF to tests for more coverage; NFC (details)
  6. [ItaniumCXXABI] Make tls wrappers properly comdat (details)
  7. [ThinLTO/WPD] Fix index-based WPD for alias vtables (details)
Commit 577efd09e3b7b3a1ec7fcf0597397f137da99843 by Raphael Isemann
[lldb] Revert ddf044290ede for
It seems ddf044290ede7d7fd47f4f673e3e628f551a8aac caused the test to
time out on the Windows bot, but it's unclear to me why.
The file was modifiedlldb/packages/Python/lldbsuite/test/python_api/process/ (diff)
Commit 26c7a4ed101fae85d2041ee1c8e8483b96e4460e by craig.topper
[LegalizeIntegerTypes][X86] Add support for expanding input of
Needed to support i128->fp128 on 32-bit X86.
Add full set of strict sint_to_fp/uint_to_fp conversion tests for fp128.
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)
The file was modifiedllvm/test/CodeGen/X86/fp128-cast-strict.ll (diff)
Commit 4268e4f4b84b85266426e99050d31ec63f3ce8aa by riverriddle
[mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid
conflicts with function types.
Summary: The current syntax for AffineMapAttr and IntegerSetAttr
conflict with function types, making it currently impossible to
round-trip function types(and e.g. FuncOp) in the IR. This revision
changes the syntax for the attributes by wrapping them in a keyword.
AffineMapAttr is wrapped with `affine_map<>` and IntegerSetAttr is
wrapped with `affine_set<>`.
Reviewed By: nicolasvasilache, ftynse
Differential Revision:
The file was modifiedmlir/test/AffineOps/ops.mlir (diff)
The file was modifiedmlir/test/Transforms/Vectorize/normalize_maps.mlir (diff)
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_transpose_2d.mlir (diff)
The file was modifiedmlir/test/Transforms/dma-generate.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile_conv.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile.mlir (diff)
The file was modifiedmlir/test/Transforms/simplify-affine-structures.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir (diff)
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir (diff)
The file was modifiedmlir/test/Dialect/VectorOps/ops.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir (diff)
The file was modifiedmlir/test/Transforms/loop-invariant-code-motion.mlir (diff)
The file was modifiedmlir/include/mlir/IR/OpImplementation.h (diff)
The file was modifiedmlir/test/Transforms/memref-dataflow-opt.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/affine.mlir (diff)
The file was modifiedmlir/test/IR/print-op-local-scope.mlir (diff)
The file was modifiedmlir/test/Transforms/memref-normalize.mlir (diff)
The file was modifiedmlir/test/Transforms/memref-bound-check.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/tile_indexed_generic.mlir (diff)
The file was modifiedmlir/test/IR/invalid.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/llvm.mlir (diff)
The file was modifiedmlir/test/IR/opaque_locations.mlir (diff)
The file was modifiedmlir/docs/Dialects/ (diff)
The file was modifiedmlir/test/Transforms/constant-fold.mlir (diff)
The file was modifiedmlir/test/AffineOps/invalid.mlir (diff)
The file was modifiedmlir/test/Conversion/VectorToLoops/vector-to-loops.mlir (diff)
The file was modifiedmlir/test/IR/parser.mlir (diff)
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp (diff)
The file was modifiedmlir/test/Transforms/canonicalize.mlir (diff)
The file was modifiedmlir/test/Transforms/Vectorize/compose_maps.mlir (diff)
The file was modifiedmlir/include/mlir/IR/DialectImplementation.h (diff)
The file was modifiedmlir/lib/Parser/Parser.cpp (diff)
The file was modifiedmlir/test/Dialect/VectorOps/invalid.mlir (diff)
The file was modifiedmlir/test/Transforms/strip-debuginfo.mlir (diff)
The file was modifiedmlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir (diff)
The file was modifiedmlir/test/AffineOps/load-store-invalid.mlir (diff)
The file was modifiedmlir/lib/IR/AsmPrinter.cpp (diff)
The file was modifiedmlir/test/Transforms/unroll.mlir (diff)
The file was modifiedmlir/test/AffineOps/dma.mlir (diff)
The file was modifiedmlir/test/Dialect/SPIRV/composite-ops.mlir (diff)
The file was modifiedmlir/test/Dialect/VectorOps/vector-transforms.mlir (diff)
The file was modifiedmlir/test/Transforms/pipeline-data-transfer.mlir (diff)
The file was modifiedmlir/test/Transforms/cse.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/promote.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir (diff)
The file was modifiedmlir/test/Transforms/loop-fusion.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns.mlir (diff)
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_outer_loop_transpose_2d.mlir (diff)
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_outer_loop_2d.mlir (diff)
The file was modifiedmlir/test/Transforms/lower-affine.mlir (diff)
The file was modifiedmlir/test/IR/core-ops.mlir (diff)
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-memref-ops.mlir (diff)
The file was modifiedmlir/test/IR/pretty-locations.mlir (diff)
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_2d.mlir (diff)
The file was modifiedmlir/test/mlir-cpu-runner/linalg_integration_test.mlir (diff)
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_3d.mlir (diff)
The file was modifiedmlir/test/Transforms/unroll-jam.mlir (diff)
The file was modifiedmlir/docs/ (diff)
The file was modifiedmlir/test/Transforms/affine-data-copy.mlir (diff)
The file was modifiedmlir/test/Transforms/affine-loop-invariant-code-motion.mlir (diff)
The file was modifiedmlir/test/AffineOps/inlining.mlir (diff)
The file was modifiedmlir/test/IR/memory-ops.mlir (diff)
The file was modifiedmlir/test/Transforms/slicing-utils.mlir (diff)
The file was modifiedmlir/test/IR/affine-map.mlir (diff)
The file was modifiedmlir/test/IR/invalid-affinemap.mlir (diff)
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir (diff)
The file was modifiedmlir/test/IR/locations.mlir (diff)
The file was modifiedmlir/docs/Dialects/ (diff)
The file was modifiedmlir/test/Transforms/loop-tiling.mlir (diff)
The file was modifiedmlir/test/EDSC/builder-api-test.cpp (diff)
The file was modifiedmlir/test/Transforms/loop-fusion-slice-computation.mlir (diff)
The file was modifiedmlir/lib/Parser/TokenKinds.def (diff)
The file was modifiedmlir/test/AffineOps/memref-stride-calculation.mlir (diff)
The file was modifiedmlir/test/Dialect/Linalg/fusion.mlir (diff)
The file was modifiedmlir/test/AffineOps/load-store.mlir (diff)
The file was modifiedmlir/test/IR/invalid-ops.mlir (diff)
The file was modifiedmlir/test/AffineOps/canonicalize.mlir (diff)
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_1d.mlir (diff)
Commit 349636d2bfc39a5c81a835a95d203a42d9f9301a by erich.keane
Implement VectorType conditional operator GNU extension.
GCC supports the conditional operator on VectorTypes that acts as a
'select' in C++ mode. This patch implements the support. Types are
converted as closely to GCC's behavior as possible, though in a few
places consistency with our existing vector type support was preferred.
Note that this implementation is different from the OpenCL version in a
number of ways, so it unfortunately required a different implementation.
First, the SEMA rules and promotion rules are significantly different.
Secondly, GCC implements COND[i] != 0 ? LHS[i] : RHS[i] (where i is in
the range 0- VectorSize, for each element).  In OpenCL, the condition is
COND[i] < 0 ? LHS[i]: RHS[i].
In the process of implementing this, it was also required to make the
expression COND ? LHS : RHS type dependent if COND is type dependent,
since the type is now dependent on the condition.  For example:
    T ? 1 : 2;
Is not typically type dependent, since the result can be deduced from
the operands.  HOWEVER, if T is a VectorType now, it could change this
to a 'select' (basically a swizzle with a non-constant mask) with the 1
and 2 being promoted to vectors themselves.
While this is a change, it is NOT a standards incompatible change. Based
on my (and D. Gregor's, at the time of writing the code) reading of the
standard, the expression is supposed to be type dependent if ANY
sub-expression is type dependent.
Differential Revision:
The file was modifiedclang/include/clang/Sema/Sema.h (diff)
The file was modifiedclang/lib/AST/ExprConstant.cpp (diff)
The file was modifiedclang/test/Sema/vector-gcc-compat.cpp (diff)
The file was modifiedclang/include/clang/AST/Expr.h (diff)
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp (diff)
The file was addedclang/test/CodeGenCXX/vector-conditional.cpp
The file was addedclang/test/SemaCXX/vector-conditional.cpp
The file was modifiedclang/docs/LanguageExtensions.rst (diff)
The file was modifiedclang/include/clang/Basic/ (diff)
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp (diff)
Commit 80a094e1348ae850cd996e947d70e34abf331685 by spatel
[InstCombine] add FMF to tests for more coverage; NFC
The file was modifiedllvm/test/Transforms/InstCombine/select.ll (diff)
Commit 810b28edb3f64569054d49d6ddf18a4d802d9b11 by martin
[ItaniumCXXABI] Make tls wrappers properly comdat
Just marking a symbol as weak_odr/linkonce_odr isn't enough for actually
tolerating multiple copies of it at linking on windows, it has to be
made a proper comdat; make it comdat for all platforms for consistency.
This should hopefully fix
Differential Revision:
The file was modifiedclang/test/CodeGenCXX/cxx11-thread-local-reference.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/tls-init-funcs.cpp (diff)
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp (diff)
The file was modifiedclang/test/CodeGenCXX/cxx11-thread-local.cpp (diff)
The file was modifiedclang/test/OpenMP/threadprivate_codegen.cpp (diff)
Commit 31441a3e007833a180b0112550eddb78547771f2 by tejohnson
[ThinLTO/WPD] Fix index-based WPD for alias vtables
Summary: A recent fix in D69452 fixed index based WPD in the presence of
available_externally vtables. It added a cast of the vtable def summary
to a GlobalVarSummary. However, in some cases one def may be an alias,
in which case we need to get the base object before casting, otherwise
we will crash.
Reviewers: evgeny777, steven_wu, aganea
Subscribers: mehdi_amini, inglorion, hiraditya, dexonsmith, arphaman,
Tags: #llvm
Differential Revision:
The file was addedllvm/test/ThinLTO/X86/Inputs/devirt_alias.ll
The file was modifiedllvm/lib/Transforms/IPO/WholeProgramDevirt.cpp (diff)
The file was addedllvm/test/ThinLTO/X86/devirt_alias.ll