SuccessChanges

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

Summary

  1. [Hexagon] Add R_HEX_GD_PLT_B22/32_PCREL relocations (details)
  2. Don't assert about missing profile info in createProfileWeightsForLoop (details)
  3. [AMDGPU] Fix FoldImmediate for 16 bit operand (details)
  4. [libc++abi] NFC: Remove pragma mark in favor of normal comment (details)
  5. [ARM] CMSE code generation (details)
  6. [libc] Improve information printed on failure of a math test which uses MPFR. (details)
  7. [libc++] Rewrite the tests for cin, cout, clog, cerr and friends (details)
  8. [mlir] Add missing dependency to MLIRMlirOptMain (details)
  9. [AMDGPU] Introduce more scratch registers in the ABI. (details)
  10. Add a test to Support.NormalizePath. (details)
  11. [MLIR][LoopOps] Adds the loop unroll transformation for loop::ForOp. (details)
  12. Let normalize() for posix style convert backslash to slash unconditionally. (details)
  13. [lldb/Driver] Exit with a non-zero exit code in case of error in batch mode. (details)
  14. [Inlining] Teach shouldBeDeferred to take the total cost into account (details)
  15. Collapse variable into assert to remove non-assert unused variable (details)
  16. Revert "[ARM] CMSE code generation" (details)
  17. [flang] Fix bug in tests for standalone build (details)
  18. [mlir] Harden verifiers for DMA ops (details)
  19. [AMDGPU] Fixed the test by adding the triple. (details)
  20. [mlir] Specify CMAKE_CXX_STANDARD to standalone dialect (details)
  21. [SemaObjC] Add a warning for dictionary literals with duplicate keys (details)
  22. [AST] Print fixed enum type regardless of language mode (details)
  23. [clang][codegen] Refactor argument loading in function prolog. NFC. (details)
  24. [clang][codegen] Hoist parameter attribute setting in function prolog. (details)
  25. [MLIR] mlir-opt needs PUBLIC dependence (details)
  26. [mlir][DenseElementsAttr] Add support for ComplexType elements (details)
  27. [mlir][DenseElementsAttr] Add support for opaque APFloat/APInt complex values. (details)
  28. [mlir][DenseStringElementsAttr] Fix AttributeElementIterator in the case of a splat. (details)
  29. [ValueTracking] fix CannotBeNegativeZero() to disregard 'nsz' FMF (details)
  30. [TestIndirectSymbols] This now runs and works on iOS (arm64). (details)
  31. [TestIndirectSymbol] This tests an Apple-specific feature. (details)
  32. [libc] Add no_sanitize("address") attribute to the getMPFRMatcher function. (details)
  33. [MemorySSA] Make MemoryLocation unknown when phi translation cannot be performed. (details)
  34. [mlir][shape] Extract ShapeBase.td (details)
  35. [AMDGPU] Added 'a' constraint documentation. NFC. (details)
  36. [VFS][NFC] Fix typo in comment (details)
  37. [lldb/Test] Update expressions.test for non-zero exit code (details)
  38. Revert D77954 -- it breaks Eigen & Tensorflow. (details)
Commit 0e6536fd97f999096ec3cb29aebf89ea56d56193 by sidneym
[Hexagon] Add R_HEX_GD_PLT_B22/32_PCREL relocations

Extended versions of GD_PLT_B22_PCREL. These surface when -mlong-calls
is used.

Differential Revision: https://reviews.llvm.org/D79191
The file was modifiedlld/test/ELF/hexagon-tls-gd-nonpreemptible.s
The file was modifiedlld/ELF/Arch/Hexagon.cpp
The file was modifiedlld/ELF/Relocations.cpp
Commit 55b9b11fea3e18b6826c39842bc43877d9eb57fd by hans
Don't assert about missing profile info in createProfileWeightsForLoop

The compiler shouldn't crash if the profile info is slightly off. We hit
this in Chromium.

Differential revision: https://reviews.llvm.org/D79417
The file was modifiedclang/lib/CodeGen/CodeGenPGO.cpp
Commit 9ef166e65748cdb3b8c7c74a51113a58f2a7753d by Stanislav.Mekhanoshin
[AMDGPU] Fix FoldImmediate for 16 bit operand

Differential Revision: https://reviews.llvm.org/D79362
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.h
The file was addedllvm/test/CodeGen/AMDGPU/fold_16bit_imm.mir
Commit e4512b5346203560d8e3122af03c0608c583f4d8 by Louis Dionne
[libc++abi] NFC: Remove pragma mark in favor of normal comment
The file was modifiedlibcxxabi/src/cxa_vector.cpp
Commit 7cbbf89d230d46c3de9a7affc29b23f08c4377a1 by momchil.velikov
[ARM] CMSE code generation

This patch implements the final bits of CMSE code generation:

* emit special linker symbols

* restrict parameter passing to not use memory

* emit BXNS and BLXNS instructions for returns from non-secure entry
  functions, and non-secure function calls, respectively

* emit code to save/restore secure floating-point state around calls
  to non-secure functions

* emit code to save/restore non-secure floating-pointy state upon
  entry to non-secure entry function, and return to non-secure state

* emit code to clobber registers not used for arguments and returns
  when switching to no-secure state

Patch by Momchil Velikov, Bradley Smith, Javed Absar, David Green,
possibly others.

Differential Revision: https://reviews.llvm.org/D76518
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was addedllvm/test/CodeGen/ARM/cmse-clear.ll
The file was modifiedllvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was addedllvm/test/CodeGen/ARM/cmse-clear-float.ll
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMAsmPrinter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMMachineFunctionInfo.h
The file was addedllvm/test/CodeGen/ARM/cmse-clear-float-hard.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb.td
The file was modifiedllvm/lib/Target/ARM/ARMFastISel.cpp
The file was addedllvm/test/CodeGen/ARM/cmse-clear-float-mve.ll
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was addedllvm/test/CodeGen/ARM/cmse.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was addedllvm/test/CodeGen/ARM/cmse-clear-float-hard2.ll
The file was modifiedllvm/lib/Target/ARM/ARMRegisterInfo.td
The file was addedllvm/test/CodeGen/ARM/cmse-expand-bxns-ret.mir
The file was addedllvm/test/CodeGen/ARM/cmse-clear-float-bigend.mir
The file was modifiedllvm/lib/Target/ARM/Thumb1FrameLowering.cpp
The file was addedllvm/test/CodeGen/ARM/cmse-clrm-it-block.ll
Commit d69cbd826a8f3f3860ce97e22ab17601038480d0 by sivachandra
[libc] Improve information printed on failure of a math test which uses MPFR.

A new test matcher class MPFRMatcher is added along with helper macros
EXPECT|ASSERT_MPFR_MATCH.

New type traits classes RemoveCV and IsFloatingPointType have been
added and used to implement the above class and its helpers.

Reviewers: abrachet, phosek

Differential Revision: https://reviews.llvm.org/D79256
The file was modifiedlibc/test/src/math/sincosf_test.cpp
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.h
The file was modifiedlibc/test/src/math/cosf_test.cpp
The file was modifiedlibc/test/src/math/sinf_test.cpp
The file was modifiedlibc/utils/CPP/TypeTraits.h
The file was modifiedlibc/utils/testutils/StreamWrapper.cpp
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.cpp
The file was modifiedlibc/utils/MPFRWrapper/CMakeLists.txt
Commit 50cd964e6111cfb5026b3948fd5361cd42462f5e by Louis Dionne
[libc++] Rewrite the tests for cin, cout, clog, cerr and friends

The tests were disabled with `#if 0`, most likely because there was no
way of writing shell tests when they were first written.
The file was addedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcerr.sh.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.sh.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wclog.sh.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcout.sh.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcin.sh.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.sh.cpp
The file was removedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wclog.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcin.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cout.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcerr.pass.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.sh.cpp
The file was removedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/clog.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.objects/wide.stream.objects/wcout.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.pass.cpp
The file was addedlibcxx/test/std/input.output/iostream.objects/narrow.stream.objects/cin.sh.cpp
Commit 6fb7e9a195b3a43bedfd1c7eebfe24bd5ae0d9fe by antiagainst
[mlir] Add missing dependency to MLIRMlirOptMain

Differential Revision: https://reviews.llvm.org/D79429
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
Commit 375cec4b6c85f463f891458867a84bed53eabd71 by Christudasan.Devadasan
[AMDGPU] Introduce more scratch registers in the ABI.

The AMDGPU target has a convention that defined all VGPRs
(execept the initial 32 argument registers) as callee-saved.
This convention is not efficient always, esp. when the callee
requiring more registers, ended up emitting a large number of
spills, even though its caller requires only a few.

This patch revises the ABI by introducing more scratch registers
that a callee can freely use.
The 256 vgpr registers now become:
  32 argument registers
  112 scratch registers and
  112 callee saved registers.
The scratch registers and the CSRs are intermixed at regular
intervals (a split boundary of 8) to obtain a better occupancy.

Reviewers: arsenm, t-tye, rampitec, b-sumner, mjbedy, tpr

Reviewed By: arsenm, t-tye

Differential Revision: https://reviews.llvm.org/D76356
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUCallingConv.td
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ipra-regmask.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-pointer-offset-relative-frameindex.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/nested-calls.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-waitcnt.ll
The file was addedllvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/regbank-reassign.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-csr-frame-ptr-reg-copy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sibling-call.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-sgprs-fixed-abi.ll
The file was modifiedllvm/docs/AMDGPUUsage.rst
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-sgprs.ll
Commit 6bb68fdd05914d1fa1687c1c33fbb9b2ea2611d1 by thakis
Add a test to Support.NormalizePath.
The file was modifiedllvm/unittests/Support/Path.cpp
Commit 93d1108801ddfe3d5e68296cdc62e44b3382e31e by andydavis
[MLIR][LoopOps] Adds the loop unroll transformation for loop::ForOp.

Summary:
Adds the loop unroll transformation for loop::ForOp.
Adds support for promoting the body of single-iteration loop::ForOps into its containing block.
Adds check tests for loop::ForOps with dynamic and static lower/upper bounds and step.
Care was taken to share code (where possible) with the AffineForOp unroll transformation to ease maintenance and potential future transition to a LoopLike construct on which loop transformations for different loop types can implemented.

Reviewers: ftynse, nicolasvasilache

Reviewed By: ftynse

Subscribers: bondhugula, mgorny, zzheng, mehdi_amini, rriddle, jpienaar, shauheen, antiagainst, nicolasvasilache, arpith-jacob, mgester, lucyrfox, aartbik, liufengdb, Joonsoo, grosul1, frgossen, Kayjukh, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79184
The file was addedmlir/test/Dialect/Loops/loop-unroll.mlir
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/test/lib/Transforms/CMakeLists.txt
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/include/mlir/Transforms/LoopUtils.h
The file was addedmlir/test/lib/Transforms/TestLoopUnrolling.cpp
Commit 8fc7a907b93a8e9eef96e872f8f926db3ebfe9b6 by thakis
Let normalize() for posix style convert backslash to slash unconditionally.

Currently, normalize() for posix replaces backslashes to slashes, except
that two backslashes in sequence are kept as-is.

clang calls normalize() to convert \ to / is microsoft compat mode. This
generally works well, but a path like "c:\\foo\\bar.h" with two
backslashes doesn't work due to the exception in normalize().

These paths happen naturally on Windows hosts with e.g.
`#include __FILE__`, and them not working on other hosts makes it
more difficult to write tests for this case.

The special case has been around without justification since this code
was added in r203611 (since then moved around in r215241 r215243).  No
integration tests fail if I remove it.

Try removing the special case.

Differential Revision: https://reviews.llvm.org/D79265
The file was modifiedclang/test/Lexer/case-insensitive-include-ms.c
The file was modifiedllvm/lib/Support/Path.cpp
The file was modifiedllvm/unittests/Support/Path.cpp
Commit 61d5b0e66394d61947d61861685b4223214f023e by Jonas Devlieghere
[lldb/Driver] Exit with a non-zero exit code in case of error in batch mode.

We have the option to stop running commands in batch mode when an error
occurs. When that happens we should exit the driver with a non-zero exit
code.

Differential revision: https://reviews.llvm.org/D78825
The file was modifiedlldb/test/Shell/Settings/TestSettingsSet.test
The file was modifiedlldb/test/Shell/Settings/TestStopCommandSourceOnError.test
The file was modifiedlldb/test/Shell/SymbolFile/DWARF/debug-types-missing-signature.test
The file was modifiedlldb/test/Shell/Quit/TestQuitExitCodeNonInt.test
The file was modifiedlldb/test/Shell/Commands/command-source.test
The file was modifiedlldb/test/Shell/Driver/TestProcessAttach.test
The file was modifiedlldb/test/Shell/Reproducer/TestDump.test
The file was modifiedlldb/test/Shell/Reproducer/TestDiscard.test
The file was modifiedlldb/test/Shell/Unwind/thread-step-out-ret-addr-check.test
The file was modifiedlldb/tools/driver/Driver.cpp
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was modifiedlldb/test/Shell/Quit/TestQuitExitCodeTooManyArgs.test
The file was modifiedlldb/test/Shell/Host/TestCustomShell.test
Commit e8984fe65b949c6e3fcb41053ed7e5bcd2fe11e1 by kazu
[Inlining] Teach shouldBeDeferred to take the total cost into account

Summary:
This patch teaches shouldBeDeferred to take into account the total
cost of inlining.

Suppose we have a call hierarchy {A1,A2,A3,...}->B->C.  (Each of A1,
A2, A3, ... calls B, which in turn calls C.)

Without this patch, shouldBeDeferred essentially returns true if

  TotalSecondaryCost < IC.getCost()

where TotalSecondaryCost is the total cost of inlining B into As.
This means that if B is a small wraper function, for example, it would
get inlined into all of As.  In turn, C gets inlined into all of As.
In other words, shouldBeDeferred ignores the cost of inlining C into
each of As.

This patch adds an option, inline-deferral-scale, to replace the
expression above with:

  TotalCost < Allowance

where

- TotalCost is TotalSecondaryCost + IC.getCost() * # of As, and
- Allowance is IC.getCost() * Scale

For now, the new option defaults to -1, disabling the new scheme.

Reviewers: davidxl

Subscribers: eraman, hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79138
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
Commit 025cd300cd0bbd68969ce899a178a680872a7039 by dblaikie
Collapse variable into assert to remove non-assert unused variable
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit fb18dffaeb584f48c914cd27afd959855984a901 by momchil.velikov
Revert "[ARM] CMSE code generation"

This reverts commit 7cbbf89d230d46c3de9a7affc29b23f08c4377a1.

The regression tests fail with the expensive checks.
The file was removedllvm/test/CodeGen/ARM/cmse-clear-float-hard.ll
The file was modifiedllvm/lib/Target/ARM/ARMAsmPrinter.cpp
The file was modifiedllvm/lib/Target/ARM/ARMFastISel.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb.td
The file was removedllvm/test/CodeGen/ARM/cmse-clear-float-hard2.ll
The file was removedllvm/test/CodeGen/ARM/cmse-clear-float.ll
The file was removedllvm/test/CodeGen/ARM/cmse-clear.ll
The file was modifiedllvm/lib/Target/ARM/Thumb1FrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMMachineFunctionInfo.h
The file was removedllvm/test/CodeGen/ARM/cmse-clear-float-bigend.mir
The file was removedllvm/test/CodeGen/ARM/cmse.ll
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMRegisterInfo.td
The file was removedllvm/test/CodeGen/ARM/cmse-clear-float-mve.ll
The file was modifiedllvm/lib/Target/ARM/ARMFrameLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp
The file was removedllvm/test/CodeGen/ARM/cmse-expand-bxns-ret.mir
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was removedllvm/test/CodeGen/ARM/cmse-clrm-it-block.ll
Commit 0195b3a9098eba9349f4291606581669b2bef548 by tkeith
[flang] Fix bug in tests for standalone build

When doing a standalone build of flang against an LLVM that contains a
built flang, the tests were run on the flang from LLVM rather than on
the one that was just built.

The problem was in the lit configuration for finding %flang etc.
Fix it to look only in the directory where it was built.

Differential Revision: https://reviews.llvm.org/D79327
The file was modifiedflang/test/lit.cfg.py
The file was modifiedflang/test/lit.site.cfg.py.in
Commit 9d273c0ef032445402c332ff7c896d661fca5747 by zinenko
[mlir] Harden verifiers for DMA ops

DMA operation classes in the Standard dialect (`DmaStartOp` and `DmaWaitOp`)
provide helper functions that make numerous assumptions about the number and
order of operands, and about their types. However, these assumptions were not
checked in the verifier, leading to assertion failures or crashes when helper
functions were used on ill-formed ops. Some of the assuptions were checked in
the custom parser (and thus could not check assumption violations in ops
constructed programmatically, e.g., during rewrites) and others were not
checked at all. Introduce the verifiers for all these assumptions and drop
unnecessary checks in the parser that are now covered by the verifier.

Addresses PR45560.

Differential Revision: https://reviews.llvm.org/D79408
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
Commit b8a616ec59f8c103b85d771757e13b89bd244f32 by Christudasan.Devadasan
[AMDGPU] Fixed the test by adding the triple.
The file was modifiedllvm/test/CodeGen/AMDGPU/vgpr-tuple-allocation.ll
Commit 6f790f784ee4e690d2b98ec7589279e50bfaf1a4 by antiagainst
[mlir] Specify CMAKE_CXX_STANDARD to standalone dialect

This addresses a compilation failure on GCC 5:

error: #error This file requires compiler and library support for the
ISO C++ 2011 standard. This support must be enabled with the -std=c++11
or -std=gnu++11 compiler options.
#error This file requires compiler and library support

Differential Revision: https://reviews.llvm.org/D79439
The file was modifiedmlir/examples/standalone/CMakeLists.txt
Commit 873e279095391df347b58ba4bab26dbfecab1262 by erik.pilkington
[SemaObjC] Add a warning for dictionary literals with duplicate keys

Duplicate keys in a literal break NSDictionary's invariants. rdar://50454461A

Differential revision: https://reviews.llvm.org/D78660
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExprObjC.cpp
The file was addedclang/test/SemaObjC/dictionary-literal-duplicates.m
Commit 86e50af72d0a0f5cddd2cb487681709eda7934e8 by erik.pilkington
[AST] Print fixed enum type regardless of language mode

These are permitted in all language modes, not just C++11.
The file was modifiedclang/lib/AST/DeclPrinter.cpp
The file was modifiedclang/test/AST/ast-print-enum-decl.c
Commit 276c8dde0b58cfe29035448a27e16eff9fcf2a5a by michael.hliao
[clang][codegen] Refactor argument loading in function prolog. NFC.

Summary:
- Skip copying function arguments and unnecessary casting by using them
  directly.

Reviewers: rjmccall, kerbowa, yaxunl

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79394
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
Commit 9142c0b46bfea13d9348ab3d1d706a10ad9e5c8e by michael.hliao
[clang][codegen] Hoist parameter attribute setting in function prolog.

Summary:
- If the coerced type is still a pointer, it should be set with proper
  parameter attributes, such as `noalias`, `nonnull`, and etc. Hoist
  that (pointer) parameter attribute setting so that the coerced pointer
  parameter could be marked properly.

Depends on D79394

Reviewers: rjmccall, kerbowa, yaxunl

Subscribers: jvesely, nhaehnle, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D79395
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/CodeGenCUDA/amdgpu-kernel-arg-pointer-type.cu
Commit c296d2dc53d5c11ce0de307ae17fc3404f7de80d by stephen.neuendorffer
[MLIR] mlir-opt needs PUBLIC dependence

We see intermittent build errors on the windows buildbot because
mlir-opt is including Linalg headers which haven't been built yet.
This dependence should be resolved by declaring a PUBLIC dependence
on the Linalg library when building MLIROptMain.
The file was modifiedmlir/tools/mlir-opt/CMakeLists.txt
Commit da2a6f4e3b5235d871c2e81ae1b0577002733653 by riddleriver
[mlir][DenseElementsAttr] Add support for ComplexType elements

This revision adds support for storing ComplexType elements inside of a DenseElementsAttr. We store complex objects as an array of two elements, matching the  definition of std::complex. There is no current attribute storage for ComplexType, but DenseElementsAttr provides API for access/creation using std::complex<>. Given that the internal implementation of DenseElementsAttr is already fairly opaque, the only real complexity here is in the printing/parsing. This revision keeps it simple for now and always uses hex when printing complex elements. A followup will add prettier syntax for this.

Differential Revision: https://reviews.llvm.org/D79281
The file was modifiedmlir/test/IR/dense-elements-hex.mlir
The file was modifiedmlir/unittests/IR/AttributeTest.cpp
The file was modifiedmlir/lib/IR/AttributeDetail.h
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/lib/IR/Attributes.cpp
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/lib/Parser/Parser.cpp
Commit 24ad3858842552a8052c12c44c7707dd822898bf by riddleriver
[mlir][DenseElementsAttr] Add support for opaque APFloat/APInt complex values.

This revision allows for creating DenseElementsAttrs and accessing elements using std::complex<APInt>/std::complex<APFloat>. This allows for opaquely accessing and transforming complex values. This is used by the printer/parser to provide pretty printing for complex values. The form for complex values matches that of std::complex, i.e.:

```
// `(` element `,` element `)`
dense<(10,10)> : tensor<complex<i64>>
```

Differential Revision: https://reviews.llvm.org/D79296
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/test/IR/parser.mlir
The file was modifiedmlir/lib/IR/Attributes.cpp
The file was modifiedmlir/lib/IR/AttributeDetail.h
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/include/mlir/IR/Attributes.h
The file was modifiedmlir/test/IR/invalid.mlir
The file was modifiedmlir/test/IR/dense-elements-hex.mlir
The file was modifiedmlir/unittests/IR/AttributeTest.cpp
Commit 4e9a7c8f5c527e7493394ab7869f38ca7c6b8903 by riddleriver
[mlir][DenseStringElementsAttr] Fix AttributeElementIterator in the case of a splat.
The file was modifiedmlir/lib/IR/Attributes.cpp
Commit a954b8a363adae382e076ba0ef1d39910778a02d by spatel
[ValueTracking] fix CannotBeNegativeZero() to disregard 'nsz' FMF

The 'nsz' flag is different than 'nnan' or 'ninf' in that it does not create poison.
Make that explicit in the LangRef and fix ValueTracking analysis that misinterpreted
the definition.

This manifests as bugs in InstSimplify shown in the test diffs and as discussed in
PR45778:
https://bugs.llvm.org/show_bug.cgi?id=45778

Differential Revision: https://reviews.llvm.org/D79422
The file was modifiedllvm/test/Transforms/InstSimplify/fast-math.ll
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/docs/LangRef.rst
Commit 48e5eedab3aa170f880b333d5e38bbc6e72d4b8b by ditaliano
[TestIndirectSymbols] This now runs and works on iOS (arm64).
The file was modifiedlldb/test/API/macosx/indirect_symbol/TestIndirectSymbols.py
Commit d606dcc65254b13e6238b69d8185d3667e850522 by ditaliano
[TestIndirectSymbol] This tests an Apple-specific feature.

Remove a redundant check.
The file was modifiedlldb/test/API/macosx/indirect_symbol/TestIndirectSymbols.py
Commit fbaaa16802d7b2fc096c8ed5fa23e0cad56807a2 by sivachandra
[libc] Add no_sanitize("address") attribute to the getMPFRMatcher function.

This dramtically reduces the run time of tests. For example,
sincosf_test takes over 25 minutes without this attribute but only 8
seconds with this attribute.
The file was modifiedlibc/utils/MPFRWrapper/MPFRUtils.h
Commit 8e911545d68ce54a104fafb5aaf7ffdc663c9cd4 by asbirlea
[MemorySSA] Make MemoryLocation unknown when phi translation cannot be performed.

Summary: When phi translation cannot be performed, be conservative and make the MemoryLocation unknown.

Reviewers: george.burgess.iv

Subscribers: Prazek, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D79386
The file was modifiedllvm/include/llvm/Analysis/MemoryLocation.h
The file was modifiedllvm/test/Analysis/MemorySSA/phi-translation.ll
The file was modifiedllvm/include/llvm/Analysis/MemorySSA.h
Commit b40d073e53389b33a003ac03ec8f32c30b8d7763 by silvasean
[mlir][shape] Extract ShapeBase.td
The file was modifiedmlir/include/mlir/Dialect/Shape/IR/ShapeOps.td
The file was addedmlir/include/mlir/Dialect/Shape/IR/ShapeBase.td
Commit b856ff97824b6de5fff5b8a418f24f4fc78ba981 by Stanislav.Mekhanoshin
[AMDGPU] Added 'a' constraint documentation. NFC.

AGPR inline asm constraint was missing from the LangRef.rst.
The file was modifiedllvm/docs/LangRef.rst
Commit e5cffbf220658258221f57b6ac8bd35c1446dbae by Jan Korous
[VFS][NFC] Fix typo in comment
The file was modifiedllvm/include/llvm/Support/VirtualFileSystem.h
Commit 11af2bf0e0bc4d0946bef90e1d8c3df847a94843 by Jonas Devlieghere
[lldb/Test] Update expressions.test for non-zero exit code

Updates Windows test for 61d5b0e66394.
The file was modifiedlldb/test/Shell/SymbolFile/PDB/expressions.test
Commit bf6a26b066382e0f41bf023c781d84061c542307 by tra
Revert D77954 -- it breaks Eigen & Tensorflow.

This reverts commit 55bcb96f3154808bcb5afc3fb46d8e00bf1db847.
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was modifiedclang/test/SemaCUDA/function-overload.cu