FailedChanges

Summary

  1. [RISCV] Fold ADDIs into load/stores with nonzero offsets (details)
  2. [ELF][ARM] Represent R_ARM_LDO32 as R_DTPREL instead of R_ABS (details)
  3. [AIX] Add system-aix to lit config file (details)
  4. [mlir] Change ODS to have include and exclude regex (details)
  5. [FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support. (details)
  6. [flang] Basic tests of external I/O runtime (part 9/9) (details)
  7. [SemaCXX] Fix false positive of -Wuninitialized-const-reference in empty function body. (details)
  8. [FPEnv][Clang][Driver] Failing tests are now expected failures. (details)
  9. [flang] Bug fix for ambiguous references to data and functions (details)
  10. AMDGPU: Don't ignore carry out user when expanding add_co_pseudo (details)
Commit 61c2a0bb823677ce0e604b92e5dae65d9bd32b6e by luismarques
[RISCV] Fold ADDIs into load/stores with nonzero offsets

We can often fold an ADDI into the offset of load/store instructions:

   (load (addi base, off1), off2) -> (load base, off1+off2)
   (store val, (addi base, off1), off2) -> (store val, base, off1+off2)

This is possible when the off1+off2 continues to fit the 12-bit immediate.
We remove the previous restriction where we would never fold the ADDIs if
the load/stores had nonzero offsets. We now do the fold the the resulting
constant still fits a 12-bit immediate, or if off1 is a variable's address
and we know based on that variable's alignment that off1+offs2 won't overflow.

Differential Revision: https://reviews.llvm.org/D79690
The file was modifiedllvm/test/CodeGen/RISCV/callee-saved-gprs.ll
The file was modifiedllvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
The file was modifiedllvm/test/CodeGen/RISCV/wide-mem.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
The file was modifiedllvm/test/CodeGen/RISCV/interrupt-attr-nocall.ll
The file was modifiedllvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
The file was modifiedllvm/test/CodeGen/RISCV/fp128.ll
Commit c1a5f73a4ae70d8f808c1bac091c3f4b683815b4 by maskray
[ELF][ARM] Represent R_ARM_LDO32 as R_DTPREL instead of R_ABS

Follow-up to D82899. Note, we need to disable R_DTPREL relaxation
because ARM psABI does not define TLS relaxation.

Reviewed By: grimar, psmith

Differential Revision: https://reviews.llvm.org/D83138
The file was modifiedlld/ELF/Arch/ARM.cpp
The file was modifiedlld/test/ELF/debug-dead-reloc-tls-arm.s
The file was modifiedlld/ELF/Relocations.cpp
Commit 2402f9385e850a1434a4d2ee00d76ca01e44a40b by daltenty
[AIX] Add system-aix to lit config file

Summary: This is a complementary patch to D82100 since the aix builbot is still running the unsupported test shtest-format-argv0. Add system-aix to the sub llvm-lit config.

Reviewers: daltenty, hubert.reinterpretcast

Reviewed By: hubert.reinterpretcast

Subscribers: delcypher, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82905
The file was modifiedllvm/utils/lit/tests/shtest-format-argv0.py
The file was modifiedllvm/utils/lit/tests/lit.cfg
The file was modifiedllvm/utils/lit/lit/llvm/config.py
Commit 2a19672af5d58d9ee9f8d6276b57cb584d295eb6 by jpienaar
[mlir] Change ODS to have include and exclude regex

This makes it easier to have a "remainder" include rule. And also makes it easier to read the command line flag.
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
The file was modifiedmlir/test/mlir-tblgen/op-decl.td
Commit 39d2ae0afb2312a15e4d15a0855b35b4e1c49fc4 by kevin.neal
[FPEnv][Clang][Driver] Disable constrained floating point on targets lacking support.

We currently have strict floating point/constrained floating point enabled
for all targets. Constrained SDAG nodes get converted to the regular ones
before reaching the target layer. In theory this should be fine.

However, the changes are exposed to users through multiple clang options
already in use in the field, and the changes are _completely_ _untested_
on almost all of our targets. Bugs have already been found, like
"https://bugs.llvm.org/show_bug.cgi?id=45274".

This patch disables constrained floating point options in clang everywhere
except X86 and SystemZ. A warning will be printed when this happens.

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/aarch64-neon-misc-constrained.c
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedclang/test/CodeGen/arm64-vrnd-constrained.c
The file was modifiedclang/lib/Frontend/CompilerInstance.cpp
The file was modifiedclang/test/CodeGen/aarch64-neon-scalar-x-indexed-elem-constrained.c
The file was modifiedclang/test/CodeGen/aarch64-v8.2a-neon-intrinsics-constrained.c
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/include/clang/Basic/TargetInfo.h
The file was modifiedclang/test/CodeGen/builtins-ppc-fpconstrained.c
The file was modifiedclang/lib/Basic/Targets/SystemZ.h
The file was modifiedclang/test/CodeGen/arm-neon-directed-rounding-constrained.c
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/DiagnosticFrontendKinds.td
The file was addedclang/test/CodeGen/fp-strictfp.cpp
Commit a39e9cf6bec4e7c8e2e947972421c1d5a6f473d6 by pklausler
[flang] Basic tests of external I/O runtime (part 9/9)

Add new unit tests for external Fortran I/O that drive the
Fortran I/O runtime API from C++ and exercise basic writing
and read-back in the various combinations of access modes,
record length variability, and formatting.  Sequential modes
are tested with positioning.  More thorough tests written in
Fortran will follow when they can be compiled and run.

The Fortran runtime's error termination callback registration
was extended with source file and line number positions for
better failure messages in unit testing.

Reviewed By: sscalpone

Differential Revision: https://reviews.llvm.org/D83164
The file was modifiedflang/unittests/Runtime/CMakeLists.txt
The file was addedflang/unittests/Runtime/external-io.cpp
The file was modifiedflang/unittests/Runtime/testing.h
The file was modifiedflang/unittests/Runtime/testing.cpp
The file was modifiedflang/runtime/terminator.h
The file was modifiedflang/unittests/Runtime/external-hello.cpp
The file was modifiedflang/runtime/terminator.cpp
Commit 054704082b461418d3dac3a379792cdaf52d40b3 by zequanwu
[SemaCXX] Fix false positive of -Wuninitialized-const-reference in empty function body.

Summary:
Some libraries use empty function to ignore unused variable warnings, which gets a new warning from `-Wuninitialized-const-reference`, discussed here https://reviews.llvm.org/D79895#2107604.
This patch should fix that.

Reviewers: hans, nick, aaron.ballman

Reviewed By: aaron.ballman

Subscribers: aaron.ballman, riccibruno, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82425
The file was modifiedclang/test/SemaCXX/warn-uninitialized-const-reference.cpp
The file was modifiedclang/lib/Analysis/UninitializedValues.cpp
Commit bfdafa32a0fa4b2745627fe57dd253db10ac3fcf by kevin.neal
[FPEnv][Clang][Driver] Failing tests are now expected failures.

These are now expected failures on PowerPC. They can be reenabled when
PowerPC is ready.

Differential Revision: https://reviews.llvm.org/D80952
The file was modifiedclang/test/CodeGen/fpconstrained.cpp
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-float.c
The file was modifiedclang/test/CodeGen/fpconstrained.c
The file was modifiedclang/test/CodeGen/fpconstrained-cmp-double.c
Commit f9e24a563c36fc98860f4b282af5f6d034b2863c by psteinfeld
[flang] Bug fix for ambiguous references to data and functions

Summary:
A program may erroneously reference the same name as both a data object
and as a function.  Some of these references were causing an internal
error in expression analysis.

It was already the case that a symbol referenced in a parse tree for a
call was changed from an `Entity` to a `ProcEntity`.  I added code to
detect when a symbol was referenced in a parse tree as an array element
gets changed from an `Entity` to an `ObjectEntity`.  Then, if an
`ObjectEntity` gets called as a function or a `ProcEntity` gets
referenced as a data object, errors get emitted.

This analysis was previously confined to the name resolution of the
specification part of a `ProgramTree`.  I added a pass to the execution
part of a `ProgramTree` to catch names declared in blocks.

Reviewers: tskeith, klausler, DavidTruby

Subscribers: llvm-commits

Tags: #llvm, #flang

Differential Revision: https://reviews.llvm.org/D82903
The file was addedflang/test/Semantics/resolve93.f90
The file was modifiedflang/lib/Semantics/resolve-names.cpp
The file was modifiedflang/lib/Semantics/expression.cpp
Commit c19c153e7415807f043edc42843bc491232b717e by Matthew.Arsenault
AMDGPU: Don't ignore carry out user when expanding add_co_pseudo

This was resulting in a missing vreg def in the use select
instruction.

The output of the pseudo doesn't make sense, since it really shouldn't
have the vreg output in the first place, and instead an implicit scc
def to match the real scalar behavior.

We could have easier to understand tests if we selected scalar
versions of the [us]{add|sub}.with.overflow intrinsics.

This does still end up producing vector code in the end, since it gets
moved later.
The file was addedllvm/test/CodeGen/AMDGPU/expand-scalar-carry-out-select-user.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp