platform/upstream/llvm.git
3 years agoAST: Create __va_list in the std namespace even in C.
Peter Collingbourne [Fri, 5 Feb 2021 00:14:04 +0000 (16:14 -0800)]
AST: Create __va_list in the std namespace even in C.

This ensures that the mangled type names match between C and C++,
which is significant when using -fsanitize=cfi-icall. Ideally we
wouldn't have created this namespace at all, but it's now part of
the ABI (e.g. in mangled names), so we can't change it.

Differential Revision: https://reviews.llvm.org/D104830

3 years ago[hwasan] Respect llvm.asan.globals.
Evgenii Stepanov [Tue, 22 Jun 2021 23:27:11 +0000 (16:27 -0700)]
[hwasan] Respect llvm.asan.globals.

This enable no_sanitize C++ attribute to exclude globals from hwasan
testing, and automatically excludes other sanitizers' globals (such as
ubsan location descriptors).

Differential Revision: https://reviews.llvm.org/D104825

3 years agoRevert "[AMDGPU] [IndirectCalls] Don't propagate attributes to address taken function...
Jon Chesterfield [Thu, 24 Jun 2021 01:33:50 +0000 (02:33 +0100)]
Revert "[AMDGPU] [IndirectCalls] Don't propagate attributes to address taken functions and their callees"

This reverts commit 6a3beb1f68d6791a4cd0190f68b48510f754a00a.
Test case that triggers an infinite loop before the revert is at
the review for D103138.

3 years agoImplement an scf.for range folding optimization pass.
Anthony Canino [Thu, 24 Jun 2021 01:00:46 +0000 (01:00 +0000)]
Implement an scf.for range folding optimization pass.

In cases where arithmetic (addi/muli) ops are performed on an scf.for loops induction variable with a single use, we can fold those ops directly into the scf.for loop.

For example, in the following code:

```
scf.for %i = %c0 to %arg1 step %c1 {
  %0 = addi %arg2, %i : index
  %1 = muli %0, %c4 : index
  %2 = memref.load %arg0[%1] : memref<?xi32>
  %3 = muli %2, %2 : i32
  memref.store %3, %arg0[%1] : memref<?xi32>
}
```

we can lift `%0` up into the scf.for loop range, as it is the only user of %i:

```
%lb = addi %arg2, %c0 : index
%ub = addi %arg2, %i : index
scf.for %i = %lb to %ub step %c1 {
  %1 = muli %0, %c4 : index
  %2 = memref.load %arg0[%1] : memref<?xi32>
  %3 = muli %2, %2 : i32
  memref.store %3, %arg0[%1] : memref<?xi32>
}
```

Reviewed By: mehdi_amini, ftynse, Anthony

Differential Revision: https://reviews.llvm.org/D104289

3 years ago[LVI] Remove recursion from getValueForCondition (NFCI)
Carl Ritson [Thu, 24 Jun 2021 00:36:58 +0000 (09:36 +0900)]
[LVI] Remove recursion from getValueForCondition (NFCI)

Convert getValueForCondition to a worklist model instead of using
recursion.

In pathological cases getValueForCondition recurses heavily.
Stack frames are quite expensive on x86-64, and some operating
systems (e.g. Windows) have relatively low stack size limits.
Using a worklist avoids potential failures from stack overflow.

Differential Revision: https://reviews.llvm.org/D104191

3 years ago[AIX] Emitting diagnostics error for profile options
Whitney Tsang [Thu, 24 Jun 2021 00:22:06 +0000 (00:22 +0000)]
[AIX] Emitting diagnostics error for profile options

Only LLVM-based instrumentation profile is supported on AIX.
And it currently must be used with full LTO.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D104803

3 years ago[Clang] Check for returns_nonnull when deciding to add allocation null checks
modimo [Thu, 24 Jun 2021 00:15:12 +0000 (17:15 -0700)]
[Clang] Check for returns_nonnull when deciding to add allocation null checks

Non-throwing allocators currently will always get null-check code. However, if the non-throwing allocator is explicitly annotated with returns_nonnull the null check should be elided.

Testing:
ninja check-all
added test case correctly elides

Reviewed By: bruno

Differential Revision: https://reviews.llvm.org/D102820

3 years ago[NFC] [DwarfEHPrepare] Add additional stats for EH
modimo [Thu, 24 Jun 2021 00:08:59 +0000 (17:08 -0700)]
[NFC] [DwarfEHPrepare] Add additional stats for EH

Stats added:

1. NumCleanupLandingPadsUnreachable: how many cleanup landing pads were optimized as unreachable
1. NumCleanupLandingPadsRemaining: how many cleanup landing pads remain
1. NumNoUnwind: Number of functions with nounwind attribute
1. NumUnwind: Number of functions with unwind attribute

DwarfEHPrepare is always run a single time as part of `TargetPassConfig::addISelPasses()` which makes it an ideal place near the end of the pipeline to record this information.

Example output from clang built with exceptions cumulative during thinLTO backend (NumCleanupLandingPadsUnreachable was not incremented):

"dwarfehprepare.NumCleanupLandingPadsRemaining": 123660,
"dwarfehprepare.NumNoUnwind": 323836,
"dwarfehprepare.NumUnwind": 472893,

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D104161

3 years ago[LangRef] add note to warn-frame-size about ODR
Nick Desaulniers [Wed, 23 Jun 2021 23:28:36 +0000 (16:28 -0700)]
[LangRef] add note to warn-frame-size about ODR

As sugguested by @dblaikie in D104342.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D104736

3 years ago[llvm-diff] Explicitly check ConstantStructs for differences
Bill Wendling [Tue, 22 Jun 2021 18:40:03 +0000 (11:40 -0700)]
[llvm-diff] Explicitly check ConstantStructs for differences

A ConstantStruct is renamed when the LLVM context sees a new one. This
makes global variable initializers appear different when they aren't.
Instead, check the ConstantStruct for equivalence.

Differential Revision: https://reviews.llvm.org/D104734

3 years ago[CGP][RISCV] Teach CodeGenPrepare::optimizeSwitchInst to honor isSExtCheaperThanZExt.
Craig Topper [Wed, 23 Jun 2021 22:38:03 +0000 (15:38 -0700)]
[CGP][RISCV] Teach CodeGenPrepare::optimizeSwitchInst to honor isSExtCheaperThanZExt.

This optimization pre-promotes the input and constants for a
switch instruction to a legal type so that all the generated compares
share the same extend. Since RISCV prefers sext for i32 to i64
extends, we should honor that to use sext.w instead of a pair
of shifts.

Reviewed By: jrtc27

Differential Revision: https://reviews.llvm.org/D104612

3 years ago[SjLj] Insert UnregisterFn before musttail call
Xun Li [Wed, 23 Jun 2021 22:33:55 +0000 (15:33 -0700)]
[SjLj] Insert UnregisterFn before musttail call

When inserting UnregisterFn, if there is a musttail call, we must insert before the call so that we don't break the musttail call contract.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D104807

3 years agoRevert "[SjLj] Insert UnregisterFn before musttail call"
Xun Li [Wed, 23 Jun 2021 22:31:35 +0000 (15:31 -0700)]
Revert "[SjLj] Insert UnregisterFn before musttail call"

This reverts commit f36703ada3dc18388ef5cdcbb8f39f74c27ad8e9.
Test failure: https://lab.llvm.org/buildbot#builders/104/builds/3450

3 years agomailmap: add mappings for myself
Saleem Abdulrasool [Sun, 13 Jun 2021 18:07:34 +0000 (11:07 -0700)]
mailmap: add mappings for myself

Add aliases for various alternative email addresses.

3 years ago[MCA][TimelineView] Fixed a bug that was causing instructions outside of the timeline...
Patrick Holland [Wed, 23 Jun 2021 20:03:16 +0000 (13:03 -0700)]
[MCA][TimelineView] Fixed a bug that was causing instructions outside of the timeline-max-cycles to still be printed.

Differential Revision: https://reviews.llvm.org/D104815

3 years ago[libc++abi][AIX] Enable calculating addresses with DW_EH_PE_datarel
Xing Xue [Wed, 23 Jun 2021 21:54:10 +0000 (17:54 -0400)]
[libc++abi][AIX] Enable calculating addresses with DW_EH_PE_datarel

Summary:
This patch enables calculating relative addresses with the DW_EH_PE_datarel encoding using a 'base' for AIX. After setting registers for jumping to the user code in gxx_personality_v0(), 'base' is cached in exception_header member catchTemp for use in __cxa_call_unexpected if ttypeIndex is less than 0 (exception spec).

Reviewed by: MaskRay, sfertile, compnerd, libc++abi

Differential Revision: https://reviews.llvm.org/D101298

3 years ago[SjLj] Insert UnregisterFn before musttail call
Xun Li [Wed, 23 Jun 2021 21:29:46 +0000 (14:29 -0700)]
[SjLj] Insert UnregisterFn before musttail call

When inserting UnregisterFn, if there is a musttail call, we must insert before the call so that we don't break the musttail call contract.

Differential Revision: https://reviews.llvm.org/D104807

3 years agoReplace python3 with %python in ML inlining tests.
Jacob Hegna [Wed, 23 Jun 2021 21:06:23 +0000 (21:06 +0000)]
Replace python3 with %python in ML inlining tests.

Differential Revision: https://reviews.llvm.org/D104818

3 years ago[PatternMatch] Make m_VScale compatible with opaque pointers
Nikita Popov [Wed, 23 Jun 2021 20:56:57 +0000 (22:56 +0200)]
[PatternMatch] Make m_VScale compatible with opaque pointers

Use GEP source type instead of pointer element type.

3 years ago[NFC][AArch64] Autogenerate assembly checklines in arm64-instruction-mix-remarks.ll
Roman Lebedev [Wed, 23 Jun 2021 20:52:49 +0000 (23:52 +0300)]
[NFC][AArch64] Autogenerate assembly checklines in arm64-instruction-mix-remarks.ll

3 years ago[lldb] Decouple ObjCLanguage from Symtab
Alex Langford [Thu, 10 Jun 2021 21:55:25 +0000 (14:55 -0700)]
[lldb] Decouple ObjCLanguage from Symtab

We can extend/modify `GetMethodNameVariants` to suit our purposes here.
What symtab is looking for is alternate names we may want to use to
search for a specific symbol, and asking for variants of a name makes
the most sense here.

Differential Revision: https://reviews.llvm.org/D104067

3 years ago[NFC][compiler-rt] Remove iOS xfail for unpoison-alternate-stack
Emily Shi [Wed, 23 Jun 2021 20:47:53 +0000 (13:47 -0700)]
[NFC][compiler-rt] Remove iOS xfail for unpoison-alternate-stack

This test was originally xfailed because of a bug on iOS. This has since been fixed, so reenabling the test.

3 years ago[libc] Calculate ulp error after rounding MPFR result to the result type.
Siva Chandra Reddy [Sat, 19 Jun 2021 07:56:45 +0000 (07:56 +0000)]
[libc] Calculate ulp error after rounding MPFR result to the result type.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D104615

3 years ago[lld/mac] Delete incorrect FIXME
Nico Weber [Wed, 23 Jun 2021 20:24:41 +0000 (16:24 -0400)]
[lld/mac] Delete incorrect FIXME

"""Bitcode symbols only exist before LTO runs, and only serve the purpose of
resolving visibility so LTO can better optimize. Running LTO creates ObjFiles
from BitcodeFiles, and those ObjFiles contain regular Defined symbols (with
isec set and all) that will replace the bitcode symbols. So things should
(hopefully) work as-is :)"""

  -- https://reviews.llvm.org/rGdbbc8d8333f29cf4ad6f4793da1adf71bbfdac69#inline-6081

3 years ago[flang] Tweak the conditions for the GCC 7/libstdc++ workaround
Martin Storsjö [Wed, 23 Jun 2021 11:37:01 +0000 (14:37 +0300)]
[flang] Tweak the conditions for the GCC 7/libstdc++ workaround

This adjusts the workaround from D104731.

The issue lies in libstdc++'s classes, not GCC itself, and manifests
itself in the same way if building e.g. with clang while using
libstdc++ headers from GCC 7 (e.g. if building with Clang on Ubuntu 18.04,
while using the system default C++ library).

Therefore, change the condition to look for the version of libstdc++
instead of the compiler.

Differential Revision: https://reviews.llvm.org/D104779

3 years ago[Polly] Fix test after D104732.
Michael Kruse [Wed, 23 Jun 2021 19:52:59 +0000 (14:52 -0500)]
[Polly] Fix test after D104732.

The SCEV analysis has been improved to identify a write access as a MustWrite.

3 years ago[ScalarEvolution] Clarify implementation of getPointerBase().
Eli Friedman [Wed, 23 Jun 2021 19:46:57 +0000 (12:46 -0700)]
[ScalarEvolution] Clarify implementation of getPointerBase().

getPointerBase should only be looking through Add and AddRec
expressions; other expressions either aren't pointers, or can't be
looked through.

Technically, this is a functional change. For a multiply or min/max
expression, if they have exactly one pointer operand, and that operand
is the first operand, the behavior here changes. Similarly, if an AddRec
has a pointer-type step, the behavior changes. But that shouldn't be
happening in practice, and we plan to make such expressions illegal.

3 years ago[NFC][ScalarEvolution] Fix SCEVNAryExpr::getType().
Eli Friedman [Wed, 23 Jun 2021 19:42:47 +0000 (12:42 -0700)]
[NFC][ScalarEvolution] Fix SCEVNAryExpr::getType().

SCEVNAryExpr::getType() could return the wrong type for a SCEVAddExpr.
Remove it, and add getType() methods to the relevant subclasses.

NFC because nothing uses it directly, as far as I know; this is just
future-proofing.

3 years ago[IRSim] Adding basic implementation of llvm-sim.
Andrew Litteken [Mon, 7 Jun 2021 15:57:39 +0000 (10:57 -0500)]
[IRSim] Adding basic implementation of llvm-sim.

This is a similarity visualization tool that accepts a Module and
passes it to the IRSimilarityIdentifier.  The resulting SimilarityGroups
are output in a JSON file.

Tests are found in test/tools/llvm-sim and check for the file not found,
a bad module, and that the JSON is created correctly.

Reviewers: paquette, jroelofs, MaskRay

Recommit of: 15645d044bcfe2a0f63156048b302f997a717688 to fix linking
errors and GN build system.

Differential Revision: https://reviews.llvm.org/D86974

3 years ago[AMDGPU] Check for pointer operand while refining LDS align
Stanislav Mekhanoshin [Wed, 23 Jun 2021 17:21:40 +0000 (10:21 -0700)]
[AMDGPU] Check for pointer operand while refining LDS align

Also skips the propagation if alignment is 1.

Differential Revision: https://reviews.llvm.org/D104796

3 years ago[docs][GISel]Added GISel documentation link
pooja2299 [Sun, 13 Jun 2021 19:49:54 +0000 (01:19 +0530)]
[docs][GISel]Added GISel documentation link

Added the GISel docs link here - https://llvm.org/docs/CodeGenerator.html#instruction-selection-section

Differential Revision: https://reviews.llvm.org/D104204

3 years agoIR: Fix use-list-order round-tripping for call and invoke
Duncan P. N. Exon Smith [Wed, 23 Jun 2021 18:25:04 +0000 (11:25 -0700)]
IR: Fix use-list-order round-tripping for call and invoke

Fix the use-list-order for call and invoke instructions by setting the
operands in order of their index. This matches the use-list-order
prediction. Note that the verifier precludes sharing operands in callbr
(so there was no bug to fix), but that code was updated for consistency.

Bug was found during review of https://reviews.llvm.org/D104740.

Differential Revision: https://reviews.llvm.org/D104805

3 years agoReland "[AArch64] handle -Wa,-march="
Jian Cai [Wed, 23 Jun 2021 19:00:58 +0000 (12:00 -0700)]
Reland "[AArch64] handle -Wa,-march="

This reverts commit fd11a26d368c5a909fb88548fef2cee7a6c2c931, which was
reverted by 9145a3d4ab7eb05d9fb113b5392e8961df629b88 due to a test
failure on aarch64 backend, e.g.
https://lab.llvm.org/buildbot/#/builders/43/builds/7031. This patch
fixed the test failure.

Reviewed By: DavidSpickett, nickdesaulniers

Differential Revision: https://reviews.llvm.org/D103184

3 years agoMove dwarfdump-invalid.test into the tools/llvm-dwarfdump directory.
Adrian Prantl [Wed, 23 Jun 2021 18:59:58 +0000 (11:59 -0700)]
Move dwarfdump-invalid.test into the tools/llvm-dwarfdump directory.

3 years ago[Constants] Handle addrspacecast with opaque pointer type
Nikita Popov [Wed, 23 Jun 2021 18:56:55 +0000 (20:56 +0200)]
[Constants] Handle addrspacecast with opaque pointer type

This is the same change as D104668, but for constant expression
addrspacecasts.

3 years agoUpdate test after https://reviews.llvm.org/D104483
Adrian Prantl [Wed, 23 Jun 2021 18:50:26 +0000 (11:50 -0700)]
Update test after https://reviews.llvm.org/D104483

3 years ago[compiler-rt][hwasan] Add InitState options to thread initialization
Leonard Chan [Fri, 18 Jun 2021 18:10:38 +0000 (11:10 -0700)]
[compiler-rt][hwasan] Add InitState options to thread initialization

Similar to InitOptions in asan, we can use this optional struct for
initializing some members thread objects before they are created. On
linux, this is unused and can remain undefined. On fuchsia, this will
just be the stack bounds.

Differential Revision: https://reviews.llvm.org/D104553

3 years ago[llvm-tapi-diff] Wrap empty string around StringLiteral NFC
Cyndy Ishida [Wed, 23 Jun 2021 18:39:35 +0000 (11:39 -0700)]
[llvm-tapi-diff] Wrap empty string around StringLiteral NFC

This prevents invalid implicit conversation which caused buildbot
failure.

3 years ago[InstCombine] Use getFunctionType()
Nikita Popov [Tue, 22 Jun 2021 20:29:05 +0000 (22:29 +0200)]
[InstCombine] Use getFunctionType()

Avoid fetching pointer element type...

3 years ago[lld/mac] Don't crash on absolute symbols in unwind info generation
Nico Weber [Wed, 23 Jun 2021 18:25:08 +0000 (14:25 -0400)]
[lld/mac] Don't crash on absolute symbols in unwind info generation

Fixes a regression from d6565a2dbcbe and PR50820.

3 years ago[OpaquePtr] Support invoke instruction
Nikita Popov [Tue, 22 Jun 2021 20:10:51 +0000 (22:10 +0200)]
[OpaquePtr] Support invoke instruction

With call support in place, this is only a matter of relaxing a
bitcode reader assertion.

3 years ago[TextAPI] add symbol name prefixes to central location, NFC
Cyndy Ishida [Wed, 23 Jun 2021 15:55:39 +0000 (08:55 -0700)]
[TextAPI] add symbol name prefixes to central location, NFC

These prefixes are used for printing the symbols coming from tbd files
and they were redundant across locations

3 years agoFix flang build after D104167
River Riddle [Wed, 23 Jun 2021 18:18:38 +0000 (18:18 +0000)]
Fix flang build after D104167

3 years ago[OpaquePtr] Support call instruction
Nikita Popov [Tue, 22 Jun 2021 20:00:40 +0000 (22:00 +0200)]
[OpaquePtr] Support call instruction

Add support for call of opaque pointer, currently only possible for
indirect calls.

This requires a bit of special casing in LLParser, as calls do not
specify the callee operand type explicitly.

Differential Revision: https://reviews.llvm.org/D104740

3 years agoThinLTO: Fix inline assembly references to static functions with CFI
Sami Tolvanen [Wed, 23 Jun 2021 17:09:21 +0000 (10:09 -0700)]
ThinLTO: Fix inline assembly references to static functions with CFI

Create an internal alias with the original name for static functions
that are renamed in promoteInternals to avoid breaking inline
assembly references to them.

This relands commit 4474958d3a97dede2caa0920f7c4a4dc7aac57d3
with a fix to a use-of-uninitialized-value error that tripped
MemorySanitizer.

Link: https://github.com/ClangBuiltLinux/linux/issues/1354
Reviewed By: nickdesaulniers, pcc

Differential Revision: https://reviews.llvm.org/D104058

3 years ago[OpaquePtr] Mangle intrinsics with opaque pointers arguments
Zequan Wu [Tue, 15 Jun 2021 21:59:51 +0000 (14:59 -0700)]
[OpaquePtr] Mangle intrinsics with opaque pointers arguments

Mangling intrinsics with opaque pointer arguments using "op"+{address space}.

Differential Revision: https://reviews.llvm.org/D104272

3 years agoclang-format llvm-dwarfdump.cpp
Adrian Prantl [Wed, 23 Jun 2021 17:43:55 +0000 (10:43 -0700)]
clang-format llvm-dwarfdump.cpp

3 years agoImprove error handling in llvm-dwarfdump.
Adrian Prantl [Wed, 23 Jun 2021 17:43:38 +0000 (10:43 -0700)]
Improve error handling in llvm-dwarfdump.

Without this patch we're only showing a generic error message derived
from the error code to the end user.

rdar://79378794

Differential Revision: https://reviews.llvm.org/D104483

3 years ago[Attributor] Derive AAFunctionReachability attribute.
Kuter Dinel [Sat, 19 Jun 2021 20:50:11 +0000 (23:50 +0300)]
[Attributor] Derive AAFunctionReachability attribute.

This attribute uses Attributor's internal 'optimistic' call graph
information to answer queries about function call reachability.

Functions can become reachable over time as new call edges are
discovered.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D104599

3 years agoRevert "[MLIR][LLVM] Expose type translator from LLVM to MLIR Type"
William S. Moses [Wed, 23 Jun 2021 17:27:13 +0000 (13:27 -0400)]
Revert "[MLIR][LLVM] Expose type translator from LLVM to MLIR Type"

This reverts commit 5616a79398c7f10d92daf7d6387b195e95f2ac7e.

3 years ago[MLIR][LLVM] Expose type translator from LLVM to MLIR Type
William S. Moses [Tue, 22 Jun 2021 17:57:04 +0000 (13:57 -0400)]
[MLIR][LLVM] Expose type translator from LLVM to MLIR Type

This commit moves the type translator from LLVM to MLIR to a public header for use by external projects or other code

Differential Revision: https://reviews.llvm.org/D104726

3 years ago[gn build] Port 560170fa2de5
LLVM GN Syncbot [Wed, 23 Jun 2021 17:11:10 +0000 (17:11 +0000)]
[gn build] Port 560170fa2de5

3 years ago[libcxx][views] Add drop_view.
zoecarver [Fri, 7 May 2021 00:39:53 +0000 (17:39 -0700)]
[libcxx][views] Add drop_view.

The first view in the libc++ ranges library 🚀

Differential Revision: https://reviews.llvm.org/D102037

3 years ago[ConstantFold] Allow propagation of poison for and/or i1
Juneyoung Lee [Wed, 23 Jun 2021 17:03:07 +0000 (02:03 +0900)]
[ConstantFold] Allow propagation of poison for and/or i1

They were disallowed due to its bad interaction with select i1 -> and/or i1.
The transformation is now disabled by D101191, so let's revive this.

3 years ago[LAA] Make getPointersDiff() API compatible with opaque pointers
Nikita Popov [Wed, 23 Jun 2021 13:57:38 +0000 (15:57 +0200)]
[LAA] Make getPointersDiff() API compatible with opaque pointers

Make getPointersDiff() and sortPtrAccesses() compatible with opaque
pointers by explicitly passing in the element type instead of
determining it from the pointer element type.

The SLPVectorizer result is slightly non-optimal in that unnecessary
pointer bitcasts are added.

Differential Revision: https://reviews.llvm.org/D104784

3 years ago[Demangle][Rust] Hide implementation details NFC
Tomasz Miąsko [Wed, 23 Jun 2021 13:59:24 +0000 (15:59 +0200)]
[Demangle][Rust] Hide implementation details NFC

Move content of the "public" header into the implementation file.

This also renames two enumerations that were previously used through
`rust_demangle::` scope, to avoid breaking a build bot with older
version of GCC that rejects uses of enumerator through `E::A` if there
is a variable with the same name as enumeration `E` in the scope.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D104362

3 years agoUpdate Bazel BUILD files up to be9a87fe9b
Geoffrey Martin-Noble [Wed, 23 Jun 2021 16:25:36 +0000 (09:25 -0700)]
Update Bazel BUILD files up to be9a87fe9b

Differential Revision: https://reviews.llvm.org/D104791

3 years ago[clang-format] Add IfMacros option
Vitali Lovich [Tue, 18 May 2021 20:57:07 +0000 (13:57 -0700)]
[clang-format] Add IfMacros option

https://bugs.llvm.org/show_bug.cgi?id=49354

Differential Revision: https://reviews.llvm.org/D102730

3 years ago[ValueTracking] look through bitcast of vector in computeKnownBits
Sanjay Patel [Wed, 23 Jun 2021 15:31:22 +0000 (11:31 -0400)]
[ValueTracking] look through bitcast of vector in computeKnownBits

This borrows as much as possible from the SDAG version of the code
(originally added with D27129 and since updated with big endian support).

In IR, we can test more easily for correctness than we did in the
original patch. I'm using the simplest cases that I could find for
InstSimplify: we computeKnownBits on variable shift amounts to see if
they are zero or in range. So shuffle constant elements into a vector,
cast it, and shift it.

The motivating x86 example from https://llvm.org/PR50123 is also here.
We computeKnownBits in the caller code, but we only check if the shift
amount is in range. That could be enhanced to catch the 2nd x86 test -
if the shift amount is known too big, the result is 0.

Alive2 understands the datalayout and agrees that the tests here are
correct - example:
https://alive2.llvm.org/ce/z/KZJFMZ

Differential Revision: https://reviews.llvm.org/D104472

3 years ago[ARM] Limit v6m unrolling with multiple live outs
David Green [Wed, 23 Jun 2021 15:36:37 +0000 (16:36 +0100)]
[ARM] Limit v6m unrolling with multiple live outs

v6m cores only have a limited number of registers available. Unrolling
can mean we spend more on stack spills and reloads than we save from the
unrolling. This patch adds an extra heuristic to put a limit on the
unroll count for loops with multiple live out values, as measured from
the LCSSA phi nodes.

Differential Revision: https://reviews.llvm.org/D104659

3 years ago[InstCombine] Eliminate casts to optimize ctlz operation
Datta Nagraj [Wed, 23 Jun 2021 15:18:25 +0000 (11:18 -0400)]
[InstCombine] Eliminate casts to optimize ctlz operation

If a ctlz operation is performed on higher datatype and then
downcasted, then this can be optimized by doing a ctlz operation
on a lower datatype and adding the difference bitsize to the result
of ctlz to provide the same output:

https://alive2.llvm.org/ce/z/8uup9M

The original problem is shown in
https://llvm.org/PR50173

Differential Revision: https://reviews.llvm.org/D103788

3 years ago[UpdateCCTestChecks][NFC] Permit other comments in common.py
Joel E. Denny [Wed, 23 Jun 2021 15:07:46 +0000 (11:07 -0400)]
[UpdateCCTestChecks][NFC] Permit other comments in common.py

Some parts of common.py already permit comment styles besides `;`.
Handle the remaining cases.  Specifically, a future patch will extend
update_cc_test_checks.py to call add_global_checks.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D104713

3 years ago[RISCV] Add explicit copy to V0 in the masked vmsge(u).vx intrinsic handling.
Craig Topper [Wed, 23 Jun 2021 15:04:42 +0000 (08:04 -0700)]
[RISCV] Add explicit copy to V0 in the masked vmsge(u).vx intrinsic handling.

This is consistent with our other masked vector instructions.
Previously we found cases where not doing this broke fast reg
alloc.

3 years ago[InstCombine] convert FP min/max with negated op to fabs
Sanjay Patel [Wed, 23 Jun 2021 14:11:13 +0000 (10:11 -0400)]
[InstCombine] convert FP min/max with negated op to fabs

This is part of improving floating-point patterns seen in:
https://llvm.org/PR39480

We don't require any FMF because the 2 potential corner cases
(-0.0 and NaN) are correctly handled without FMF:
1. -0.0 is treated as strictly less than +0.0 with
   maximum/minimum, so fabs/fneg work as expected.
2. +/- 0.0 with maxnum/minnum is indeterminate, so
   transforming to fabs/fneg is more defined.
3. The sign of a NaN may be altered by this transform,
   but that is allowed in the default FP environment.

If there are FMF, they are propagated from the min/max call to
one or both new operands which seems to agree with Alive2:
https://alive2.llvm.org/ce/z/bem_xC

3 years ago[OpenMP][AMDGCN] Apply fix for isnan, isinf and isfinite for amdgcn.
Ethan Stewart [Wed, 23 Jun 2021 14:25:00 +0000 (15:25 +0100)]
[OpenMP][AMDGCN] Apply fix for isnan, isinf and isfinite for amdgcn.

This fixes issues with various return types(bool/int) and was already
in place for nvptx headers, adjusted to work for amdgcn. This does
not affect hip as the change is guarded with OPENMP_AMDGCN.
Similar to D85879.

Reviewed By: jdoerfert, JonChesterfield, yaxunl

Differential Revision: https://reviews.llvm.org/D104677

3 years ago[libc] add benchmarks for memcmp and bzero
Guillaume Chatelet [Wed, 23 Jun 2021 14:19:40 +0000 (14:19 +0000)]
[libc] add benchmarks for memcmp and bzero

Differential Revision: https://reviews.llvm.org/D104511

3 years ago[DAGCombine] Check reassoc flags in aggressive fsub fusion
Jinsong Ji [Wed, 23 Jun 2021 13:38:38 +0000 (13:38 +0000)]
[DAGCombine] Check reassoc flags in aggressive fsub fusion

The is from discussion in https://reviews.llvm.org/D104247#inline-993387

The contract and reassoc flags shouldn't imply each other .

All the aggressive fsub fusion reassociate operations,
we should guard them with reassoc flag check.

Reviewed By: mcberg2017

Differential Revision: https://reviews.llvm.org/D104723

3 years ago[OpenMP] Fix delete map type in ref count debug messages
Joel E. Denny [Wed, 23 Jun 2021 13:39:04 +0000 (09:39 -0400)]
[OpenMP] Fix delete map type in ref count debug messages

For example, without this patch:

```
$ cat test.c
int main() {
  int x;
  #pragma omp target enter data map(alloc: x)
  #pragma omp target enter data map(alloc: x)
  #pragma omp target enter data map(alloc: x)
  #pragma omp target exit data map(delete: x)
  ;
  return 0;
}
$ clang -fopenmp -fopenmp-targets=nvptx64-nvidia-cuda test.c
$ LIBOMPTARGET_DEBUG=1 ./a.out |& grep 'Creating\|Mapping exists\|last'
Libomptarget --> Creating new map entry with HstPtrBegin=0x00007ffddf1eaea8, TgtPtrBegin=0x00000000013bb040, Size=4, RefCount=1, Name=unknown
Libomptarget --> Mapping exists with HstPtrBegin=0x00007ffddf1eaea8, TgtPtrBegin=0x00000000013bb040, Size=4, RefCount=2 (incremented), Name=unknown
Libomptarget --> Mapping exists with HstPtrBegin=0x00007ffddf1eaea8, TgtPtrBegin=0x00000000013bb040, Size=4, RefCount=3 (incremented), Name=unknown
Libomptarget --> Mapping exists with HstPtrBegin=0x00007ffddf1eaea8, TgtPtrBegin=0x00000000013bb040, Size=4, RefCount=2 (decremented)
Libomptarget --> There are 4 bytes allocated at target address 0x00000000013bb040 - is not last
```

`RefCount` is reported as decremented to 2, but it ought to be reset
because of the `delete` map type, and `is not last` is incorrect.

This patch migrates the reset of reference counts from
`DeviceTy::deallocTgtPtr` to `DeviceTy::getTgtPtrBegin`, which then
correctly reports the reset.  Based on the `IsLast` result from
`DeviceTy::getTgtPtrBegin`, `targetDataEnd` then correctly reports `is
last` for any deletion.  `DeviceTy::deallocTgtPtr` is responsible only
for the final reference count decrement and mapping removal.

An obscure side effect of this patch is that a `delete` map type when
the reference count is infinite yields `DelEntry=IsLast=false` in
`targetDataEnd` and so no longer results in a
`DeviceTy::deallocTgtPtr` call.  Without this patch, that call is a
no-op anyway besides some unnecessary locking and mapping table
lookups.

Reviewed By: grokos

Differential Revision: https://reviews.llvm.org/D104560

3 years ago[OpenMP] Improve ref count debug messages
Joel E. Denny [Wed, 23 Jun 2021 13:37:54 +0000 (09:37 -0400)]
[OpenMP] Improve ref count debug messages

For example, without this patch:

```
$ cat test.c
int main() {
  int x;
  #pragma omp target enter data map(alloc: x)
  #pragma omp target exit data map(release: x)
  ;
  return 0;
}
$ clang -fopenmp -fopenmp-targets=nvptx64-nvidia-cuda test.c
$ LIBOMPTARGET_DEBUG=1 ./a.out |& grep 'Creating\|Mapping exists'
Libomptarget --> Creating new map entry with HstPtrBegin=0x00007ffcace8e448, TgtPtrBegin=0x00007f12ef600000, Size=4, Name=unknown
Libomptarget --> Mapping exists with HstPtrBegin=0x00007ffcace8e448, TgtPtrBegin=0x00007f12ef600000, Size=4, updated RefCount=1
```

There are two problems in this example:

* `RefCount` is not reported when a mapping is created, but it might
  be 1 or infinite.  In this case, because it's created by `omp target
  enter data`, it's 1.  Seeing that would make later `RefCount`
  messages easier to understand.
* `RefCount` is still 1 at the `omp target exit data`, but it's
  reported as `updated`.  The reason it's still 1 is that, upon
  deletions, the reference count is generally not updated in
  `DeviceTy::getTgtPtrBegin`, where the report is produced.  Instead,
  it's zeroed later in `DeviceTy::deallocTgtPtr`, where it's actually
  removed from the mapping table.

This patch makes the following changes:

* Report the reference count when creating a mapping.
* Where an existing mapping is reported, always report a reference
  count action:
    * `update suppressed` when `UpdateRefCount=false`
    * `incremented`
    * `decremented`
    * `deferred final decrement`, which replaces the misleading
      `updated` in the above example
* Add comments to `DeviceTy::getTgtPtrBegin` to explain why it does
  not zero the reference count.  (Please advise if these comments miss
  the point.)
* For unified shared memory, don't report confusing messages like
  `RefCount=` or `RefCount= updated` given that reference counts are
  irrelevant in this case.  Instead, just report `for unified shared
  memory`.
* Use `INFO` not `DP` consistently for `Mapping exists` messages.
* Fix device table dumps to print `INF` instead of `-1` for an
  infinite reference count.

Reviewed By: jhuber6, grokos

Differential Revision: https://reviews.llvm.org/D104559

3 years ago[libc++] Remove ad-hoc modules tests that are now unnecessary
Louis Dionne [Tue, 22 Jun 2021 20:54:27 +0000 (16:54 -0400)]
[libc++] Remove ad-hoc modules tests that are now unnecessary

Since we now have modules-enabled CI, it is now redundant to have ad-hoc
tests that check arbitrary things about our modules support. Instead,
the whole test suite should pass with modules enabled, period.

This patch also removes the module cache path workaround: one would
expect that modules work properly without that workaround. If that
isn't the case and we do run into flaky test failures, we can re-enable
the workaround temporarily (but that would be very vexing and we should
fix Clang ASAP if that's the case).

Differential Revision: https://reviews.llvm.org/D104746

3 years ago[NFC] Update arm_function_name.ll after 4de0c400317e5a92d57f2c76545061a9e7de22f8
Roman Lebedev [Wed, 23 Jun 2021 13:41:16 +0000 (16:41 +0300)]
[NFC] Update arm_function_name.ll after 4de0c400317e5a92d57f2c76545061a9e7de22f8

3 years agoHandle interactions between reserved identifier and user-defined suffixes
serge-sans-paille [Tue, 15 Jun 2021 14:58:55 +0000 (16:58 +0200)]
Handle interactions between reserved identifier and user-defined suffixes

According to https://eel.is/c++draft/over.literal

> double operator""_Bq(long double);  // OK: does not use the reserved identifier _­Bq ([lex.name])
> double operator"" _Bq(long double); // ill-formed, no diagnostic required: uses the reserved identifier _­Bq ([lex.name])

Obey that rule by keeping track of the operator literal name status wrt. leading whitespace.

Fix: https://bugs.llvm.org/show_bug.cgi?id=50644

Differential Revision: https://reviews.llvm.org/D104299

3 years ago[AMDGPU] Remove unused multiclass MUBUF_Real_gfx10_with_name
Jay Foad [Wed, 23 Jun 2021 13:37:20 +0000 (14:37 +0100)]
[AMDGPU] Remove unused multiclass MUBUF_Real_gfx10_with_name

3 years ago[NFC][ARM] Fix update_llc_test_checks for thumbv7-apple-darwin, autogenerate thumb2...
Roman Lebedev [Wed, 23 Jun 2021 13:19:28 +0000 (16:19 +0300)]
[NFC][ARM] Fix update_llc_test_checks for thumbv7-apple-darwin, autogenerate thumb2-ifcvt1.ll

3 years ago[NFC][AArch64] Autogenerate a few more tests
Roman Lebedev [Wed, 23 Jun 2021 13:09:38 +0000 (16:09 +0300)]
[NFC][AArch64] Autogenerate a few more tests

3 years ago[NFC][ARM] Fix update_llc_test_checks for aarch64-apple-ios/thumbv7s-apple-darwin...
Roman Lebedev [Wed, 23 Jun 2021 12:34:29 +0000 (15:34 +0300)]
[NFC][ARM] Fix update_llc_test_checks for aarch64-apple-ios/thumbv7s-apple-darwin, autogenerate a few tests

3 years ago[NFC][ARM] Fix update_llc_test_checks for thumbv7-apple-ios, autogenerate switch...
Roman Lebedev [Wed, 23 Jun 2021 12:28:37 +0000 (15:28 +0300)]
[NFC][ARM] Fix update_llc_test_checks for thumbv7-apple-ios, autogenerate switch-minsize.ll

3 years ago[NFC][ARM] Fix update_llc_test_checks for armv7-apple-ios, autogenerate ifcvt5.ll...
Roman Lebedev [Wed, 23 Jun 2021 12:22:02 +0000 (15:22 +0300)]
[NFC][ARM] Fix update_llc_test_checks for armv7-apple-ios, autogenerate ifcvt5.ll/ifcvt6.ll

3 years ago[ARMParallelDSP] Remove unnecessary wrapper function (NFC)
Nikita Popov [Wed, 23 Jun 2021 13:26:54 +0000 (15:26 +0200)]
[ARMParallelDSP] Remove unnecessary wrapper function (NFC)

AreSequentialAccesses() forwards directly to isConsecutiveAccess()
and has an unnecessary template parameter to boot.

3 years ago[lldb] Remove asserts in CommandReturnObject SetError and AppendError
David Spickett [Wed, 23 Jun 2021 11:28:16 +0000 (11:28 +0000)]
[lldb] Remove asserts in CommandReturnObject SetError and AppendError

I added asserts to these in https://reviews.llvm.org/D104525.
They are available (directly or otherwise) via the API so we
should not assert.

Restore the previous behaviour. If the message
is empty, we return early before printing anything.
For SetError don't assert that the error is a failure.

The remaining assert is in AppendRawError which
is not part of the API.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D104778

3 years ago[lldb][NFC] Remove some redundant semicolons on HostInfoMacOSX
Raphael Isemann [Wed, 23 Jun 2021 13:06:12 +0000 (15:06 +0200)]
[lldb][NFC] Remove some redundant semicolons on HostInfoMacOSX

3 years ago[AArch64] Add CodeGen tests for vector reduction intrinsics. NFC
Rosie Sumpter [Tue, 22 Jun 2021 16:31:56 +0000 (17:31 +0100)]
[AArch64] Add CodeGen tests for vector reduction intrinsics. NFC

Tests are added for vector reduce OR, AND and XOR.

Differential Revision: https://reviews.llvm.org/D104771

3 years ago[clang-format] Fix a bug that indents else-comment-if incorrectly
owenca [Wed, 23 Jun 2021 09:40:29 +0000 (02:40 -0700)]
[clang-format] Fix a bug that indents else-comment-if incorrectly

PR50809

Differential Revision: https://reviews.llvm.org/D104774

3 years ago[AIX][PowerPC] Remove error when specifying mabi=vec-default on AIX
Zarko Todorovski [Wed, 23 Jun 2021 11:14:24 +0000 (07:14 -0400)]
[AIX][PowerPC] Remove error when specifying mabi=vec-default on AIX

The default Altivec ABI was implemented but the clang error for specifying
its use still remains.  Users could get around this but not specifying the
type of Altivec ABI but we need to remove the error.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D102094

3 years ago[NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging
Roman Lebedev [Wed, 23 Jun 2021 11:28:51 +0000 (14:28 +0300)]
[NFCI-ish][SimplifyCFGPass] Rework and generalize `ret` block tail-merging

This changes the approach taken to tail-merge the blocks
to always create a new block instead of trying to reuse some block,
and generalizes it to support dealing not with just the `ret` in the future.

This effectively lifts the CallBr restriction, although this isn't really intentional.
That is the only non-NFC change here, i'm not sure if it's reasonable/feasible to temporarily retain it.

Other restrictions of the transform remain.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D104598

3 years agoAdd support for #pragma system_header with -fms-extensions
Hans Wennborg [Wed, 23 Jun 2021 08:35:55 +0000 (10:35 +0200)]
Add support for #pragma system_header with -fms-extensions

Clang already supports the pragma prefixed by "GCC" or "clang".

MSVC has more recently added support for the pragma, but without any prefix; see
https://devblogs.microsoft.com/cppblog/broken-warnings-theory/#external-headers

Differential revision: https://reviews.llvm.org/D104770

3 years ago[InstSimplify] Add more poison folding optimizations
Juneyoung Lee [Mon, 21 Jun 2021 18:49:37 +0000 (03:49 +0900)]
[InstSimplify] Add more poison folding optimizations

This adds more poison folding optimizations to InstSimplify.

Since all binary operators propagate poison, these are fine.

Also, the precondition of `select cond, undef, x` -> `x` is relaxed to allow the case when `x` is undef.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D104661

3 years ago[lldb] Remove CommandReturnObject's SetError(StringRef)
David Spickett [Tue, 22 Jun 2021 16:12:56 +0000 (16:12 +0000)]
[lldb] Remove CommandReturnObject's SetError(StringRef)

Replacing existing uses with AppendError.

SetError is also part of the SBI API. This remains
but instead of calling the underlying SetError it
will call AppendError.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D104768

3 years ago[Verifier] Fail on overrunning and invalid indices for {insert,extract} vector intrinsics
Joe Ellis [Fri, 18 Jun 2021 14:53:53 +0000 (14:53 +0000)]
[Verifier] Fail on overrunning and invalid indices for {insert,extract} vector intrinsics

With regards to overrunning, the langref (llvm/docs/LangRef.rst)
specifies:

   (llvm.experimental.vector.insert)
   Elements ``idx`` through (``idx`` + num_elements(``subvec``) - 1)
   must be valid ``vec`` indices. If this condition cannot be determined
   statically but is false at runtime, then the result vector is
   undefined.

   (llvm.experimental.vector.extract)
   Elements ``idx`` through (``idx`` + num_elements(result_type) - 1)
   must be valid vector indices. If this condition cannot be determined
   statically but is false at runtime, then the result vector is
   undefined.

For the non-mixed cases (e.g. inserting/extracting a scalable into/from
another scalable, or inserting/extracting a fixed into/from another
fixed), it is possible to statically check whether or not the above
conditions are met. This was previously missing from the verifier, and
if the conditions were found to be false, the result of the
insertion/extraction would be replaced with an undef.

With regards to invalid indices, the langref (llvm/docs/LangRef.rst)
specifies:

    (llvm.experimental.vector.insert)
    ``idx`` represents the starting element number at which ``subvec``
    will be inserted. ``idx`` must be a constant multiple of
    ``subvec``'s known minimum vector length.

    (llvm.experimental.vector.extract)
    The ``idx`` specifies the starting element number within ``vec``
    from which a subvector is extracted. ``idx`` must be a constant
    multiple of the known-minimum vector length of the result type.

Similarly, these conditions were not previously enforced in the
verifier. In some circumstances, invalid indices were permitted
silently, and in other circumstances, an undef was spawned where a
verifier error would have been preferred.

This commit adds verifier checks to enforce the constraints above.

Differential Revision: https://reviews.llvm.org/D104468

3 years ago[TTI] Make assertion compatible with opaque pointers
Nikita Popov [Wed, 23 Jun 2021 10:21:12 +0000 (12:21 +0200)]
[TTI] Make assertion compatible with opaque pointers

Dropping the TODO here because it applies to all uses of this method.

3 years ago[LLParser] Remove special handling for call address space
Nikita Popov [Tue, 22 Jun 2021 21:34:38 +0000 (23:34 +0200)]
[LLParser] Remove special handling for call address space

Spin-off from D104740: I don't think this special handling is needed
anymore. Calls in textual IR are annotated with addrspace(N) (which
defaults to the program address space from data layout) and specifies
the expected pointer address space of the callee. There is no need
to special-case the program address space on top of that, as it
already is the default expected address space, and we shouldn't
allow use of the program address space if the call was explicitly
annotated with some other address space.

The IsCall parameter is retained because it will be used again soon.

Differential Revision: https://reviews.llvm.org/D104752

3 years ago[mlir][LLVMIR] Fold ExtractValueOp coming from InsertValueOp
Nicolas Vasilache [Wed, 23 Jun 2021 09:03:08 +0000 (09:03 +0000)]
[mlir][LLVMIR] Fold ExtractValueOp coming from InsertValueOp

Differential Revision: https://reviews.llvm.org/D104769

3 years ago[AMDGPU] Stop using LegacyLegalizerInfo. NFCI.
Jay Foad [Fri, 4 Jun 2021 09:15:38 +0000 (10:15 +0100)]
[AMDGPU] Stop using LegacyLegalizerInfo. NFCI.

Differential Revision: https://reviews.llvm.org/D103684

3 years ago[IR] Simplify createReplacementInstr
Jay Foad [Fri, 11 Jun 2021 15:36:30 +0000 (16:36 +0100)]
[IR] Simplify createReplacementInstr

NFCI, although the test change shows that ConstantExpr::getAsInstruction
is better than the old implementation of createReplacementInstr because
it propagates things like the sdiv "exact" flag.

Differential Revision: https://reviews.llvm.org/D104124

3 years ago[mlir][linalg] Change the FillOp library call signature.
Tobias Gysi [Wed, 23 Jun 2021 09:06:04 +0000 (09:06 +0000)]
[mlir][linalg] Change the FillOp library call signature.

Adapt the FillOp library call signature to the updated operand order introduced in https://reviews.llvm.org/D10412. The patch reverts the special treatment of FillOp in LinalgToStandard.

Differential Revision: https://reviews.llvm.org/D104360

3 years ago[llvm] Update tests that got missed in adee485adf84ae8a.
Florian Hahn [Wed, 23 Jun 2021 09:29:58 +0000 (10:29 +0100)]
[llvm] Update tests that got missed in adee485adf84ae8a.

3 years ago[SCEV] Support signed predicates in applyLoopGuards.
Florian Hahn [Wed, 23 Jun 2021 08:42:45 +0000 (09:42 +0100)]
[SCEV] Support signed predicates in applyLoopGuards.

This adds handling for signed predicates, similar to how unsigned
predicates are already handled.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D104732

3 years ago[SCEV] Add tests with single-cond range check generated by InstComb.
Florian Hahn [Tue, 22 Jun 2021 19:29:04 +0000 (20:29 +0100)]
[SCEV] Add tests with single-cond range check generated by InstComb.

3 years ago[AMDGPU] Simplify collectReachableCallees. NFCI.
Jay Foad [Tue, 22 Jun 2021 12:20:18 +0000 (13:20 +0100)]
[AMDGPU] Simplify collectReachableCallees. NFCI.

Don't use SCC iterators when we're only interested in reachability.
Use df_begin/df_end inline to find reachable nodes.

Differential Revision: https://reviews.llvm.org/D104704

3 years ago[mlir][linalg] Adapt the FillOp builder signature.
Tobias Gysi [Wed, 23 Jun 2021 07:51:53 +0000 (07:51 +0000)]
[mlir][linalg] Adapt the FillOp builder signature.

Change the build operand order from output, value to value, output. The patch makes the argument order consistent with the pretty printed order updated by https://reviews.llvm.org/D104356.

Differential Revision: https://reviews.llvm.org/D104359