Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. [InstCombine] add tests for select --> copysign; NFC (details)
  2. Fix a test case by adding -fno-delayed-template-parsing. (details)
  3. [NFC][clang][IFS] Adding braces to if-statement as prep for D71301. (details)
  4. [clang][IFS] Prevent Clang-IFS from Leaking symbols from inside a block. (details)
  5. [lldb] Revert ddf044290ede for (details)
  6. [LegalizeIntegerTypes][X86] Add support for expanding input of (details)
  7. [mlir] Change the syntax of AffineMapAttr and IntegerSetAttr to avoid (details)
  8. Implement VectorType conditional operator GNU extension. (details)
  9. [InstCombine] add FMF to tests for more coverage; NFC (details)
  10. [ItaniumCXXABI] Make tls wrappers properly comdat (details)
  11. [ThinLTO/WPD] Fix index-based WPD for alias vtables (details)
  12. PR44514: Fix recovery from noexcept with non-convertible expressions (details)
  13. [mlir] Remove unnecessary assert for single region. (details)
  14. Revert "[DWARF5][DebugInfo]: Added support for DebugInfo generation for (details)
  15. [clang][IFS][test] Fixing mangled name of a test for Darwin. (details)
Commit 69f4cea413991a2a96635c58272bd4205f3e0c36 by spatel
[InstCombine] add tests for select --> copysign; NFC
This is testing for another (possibly final) transform suggested in:
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
Commit c1b13a1b17719aebace1b3be7a6ac7f90b1901a6 by aaron
Fix a test case by adding -fno-delayed-template-parsing.
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/readability-identifier-naming-member-decl-usage.cpp
Commit b7526cc21ce55c8b53250df3d659fbdae3f894a7 by puyan
[NFC][clang][IFS] Adding braces to if-statement as prep for D71301.
Just trying to make look cleaner.
The file was modifiedclang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
Commit bd8c8827d96f09be502f0da6897c1aef89e45c30 by puyan
[clang][IFS] Prevent Clang-IFS from Leaking symbols from inside a block.
Built libdispatch with clang interface stubs. Ran into some block
related issues. Basically VarDecl symbols can leak out because I wasn't
checking the case where a VarDecl is contained inside a BlockDecl
(versus a method or function).
This patch checks that a VarDecl is not a child decl of a BlockDecl.
This patch also does something very similar for c++ lambdas as well.
Differential Revision:
The file was modifiedclang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp
The file was addedclang/test/InterfaceStubs/blocks.c
The file was addedclang/test/InterfaceStubs/lambda.cpp
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/
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
The file was modifiedllvm/test/CodeGen/X86/fp128-cast-strict.ll
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/IR/invalid-affinemap.mlir
The file was modifiedmlir/test/Transforms/memref-bound-check.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile_conv.mlir
The file was modifiedmlir/test/Transforms/cse.mlir
The file was modifiedmlir/test/Transforms/lower-affine.mlir
The file was modifiedmlir/test/IR/opaque_locations.mlir
The file was modifiedmlir/test/AffineOps/load-store-invalid.mlir
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/test/Dialect/Linalg/loops.mlir
The file was modifiedmlir/test/AffineOps/invalid.mlir
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/lib/Parser/TokenKinds.def
The file was modifiedmlir/test/AffineOps/ops.mlir
The file was modifiedmlir/test/IR/pretty-locations.mlir
The file was modifiedmlir/test/Transforms/affine-data-copy.mlir
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir
The file was modifiedmlir/docs/Dialects/
The file was modifiedmlir/test/Transforms/Vectorize/normalize_maps.mlir
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_outer_loop_2d.mlir
The file was modifiedmlir/test/AffineOps/load-store.mlir
The file was modifiedmlir/docs/
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-to-llvmir.mlir
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_outer_loop_transpose_2d.mlir
The file was modifiedmlir/test/Dialect/Linalg/llvm.mlir
The file was modifiedmlir/test/Transforms/unroll.mlir
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_3d.mlir
The file was modifiedmlir/test/Transforms/loop-fusion-slice-computation.mlir
The file was modifiedmlir/test/Transforms/loop-tiling.mlir
The file was modifiedmlir/test/Dialect/Linalg/promote.mlir
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_1d.mlir
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_transpose_2d.mlir
The file was modifiedmlir/docs/Dialects/
The file was modifiedmlir/test/IR/memory-ops.mlir
The file was modifiedmlir/test/Conversion/VectorToLoops/vector-to-loops.mlir
The file was modifiedmlir/test/AffineOps/memref-stride-calculation.mlir
The file was modifiedmlir/test/Transforms/Vectorize/vectorize_2d.mlir
The file was modifiedmlir/test/Transforms/memref-normalize.mlir
The file was modifiedmlir/test/Transforms/pipeline-data-transfer.mlir
The file was modifiedmlir/test/Dialect/VectorOps/ops.mlir
The file was modifiedmlir/test/Transforms/canonicalize.mlir
The file was modifiedmlir/test/mlir-cpu-runner/linalg_integration_test.mlir
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/test/IR/print-op-local-scope.mlir
The file was modifiedmlir/test/AffineOps/dma.mlir
The file was modifiedmlir/test/Transforms/dma-generate.mlir
The file was modifiedmlir/test/IR/affine-map.mlir
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/test/Transforms/simplify-affine-structures.mlir
The file was modifiedmlir/test/Transforms/affine-loop-invariant-code-motion.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/convert-memref-ops.mlir
The file was modifiedmlir/test/AffineOps/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Linalg/transform-patterns.mlir
The file was modifiedmlir/test/Dialect/Linalg/affine.mlir
The file was modifiedmlir/test/Transforms/constant-fold.mlir
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/test/Dialect/VectorOps/invalid.mlir
The file was modifiedmlir/include/mlir/IR/DialectImplementation.h
The file was modifiedmlir/test/Transforms/unroll-jam.mlir
The file was modifiedmlir/test/Transforms/memref-dataflow-opt.mlir
The file was modifiedmlir/test/Conversion/StandardToLLVM/standard-to-llvm.mlir
The file was modifiedmlir/test/Transforms/loop-invariant-code-motion.mlir
The file was modifiedmlir/test/Transforms/slicing-utils.mlir
The file was modifiedmlir/test/Dialect/Linalg/tile.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion.mlir
The file was modifiedmlir/test/IR/locations.mlir
The file was modifiedmlir/test/Transforms/strip-debuginfo.mlir
The file was modifiedmlir/test/Dialect/SPIRV/composite-ops.mlir
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/test/Dialect/Linalg/tile_indexed_generic.mlir
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/AffineOps/inlining.mlir
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/test/Dialect/VectorOps/vector-transforms.mlir
The file was modifiedmlir/test/Transforms/Vectorize/compose_maps.mlir
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
The file was modifiedclang/include/clang/Basic/
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was addedclang/test/CodeGenCXX/vector-conditional.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/Sema/vector-gcc-compat.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was addedclang/test/SemaCXX/vector-conditional.cpp
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/include/clang/AST/Expr.h
Commit 80a094e1348ae850cd996e947d70e34abf331685 by spatel
[InstCombine] add FMF to tests for more coverage; NFC
The file was modifiedllvm/test/Transforms/InstCombine/select.ll
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/tls-init-funcs.cpp
The file was modifiedclang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
The file was modifiedclang/lib/CodeGen/ItaniumCXXABI.cpp
The file was modifiedclang/test/OpenMP/threadprivate_codegen.cpp
The file was modifiedclang/test/CodeGenCXX/cxx11-thread-local.cpp
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
The file was addedllvm/test/ThinLTO/X86/devirt_alias.ll
Commit f0719bf2196c807351137ff30e39fd12aa5aa884 by erich.keane
PR44514: Fix recovery from noexcept with non-convertible expressions
We currently treat noexcept(not-convertible-to-bool) as 'none', which
results in the typeloc info being a different size, and causing an
assert later on in the process.  In order to make recovery less
destructive, replace this with noexcept(false) and a constructed 'false'
Bug Report:
Differential Revision:
The file was modifiedclang/lib/Sema/SemaExceptionSpec.cpp
The file was modifiedclang/test/SemaCXX/cxx0x-noexcept-expression.cpp
Commit cb89c7e3f744c1fede60f7d1c43528654de676bd by riverriddle
[mlir] Remove unnecessary assert for single region.
This was left over debugging.
The file was modifiedmlir/lib/Transforms/Utils/RegionUtils.cpp
Commit 328e0f3dcac52171b8cdedeaba22c98e7fbb75ea by akhuang
Revert "[DWARF5][DebugInfo]: Added support for DebugInfo generation for
auto return type for C++ member functions."
This reverts commit c958639098a8702b831952b1a1a677ae19190a55, which
causes a crash. See for details.
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
The file was removedllvm/test/DebugInfo/X86/debug-info-auto-return.ll
Commit a506f7f9105eec4baac296d21c922457d6f4b52a by puyan
[clang][IFS][test] Fixing mangled name of a test for Darwin.
Darwin adds an extra '_' before every C/global function mangled name and
because of this, this test was breaking on Darwin.
This is a fix for commit:
The file was modifiedclang/test/InterfaceStubs/lambda.cpp