SuccessChanges

Summary

  1. [MLIR] Consider AffineIfOp when getting the index set of an Op wrapped in nested loops (details)
  2. Hook up OpenBSD 64-bit PowerPC support (details)
  3. fix typo (details)
  4. [WebAssembly] Fix FastISel address calculation bug (details)
  5. Backout a test that is dependent on an uncommited diff. Fix another. (details)
Commit 654e8aadfdda97524c463bcf3552d2ecf2feda93 by uday
[MLIR] Consider AffineIfOp when getting the index set of an Op wrapped in nested loops

This diff attempts to resolve the TODO in `getOpIndexSet` (formerly
known as `getInstIndexSet`), which states "Add support to handle IfInsts
surronding `op`".

Major changes in this diff:

1. Overload `getIndexSet`. The overloaded version considers both
`AffineForOp` and `AffineIfOp`.
2. The `getInstIndexSet` is updated accordingly: its name is changed to
`getOpIndexSet` and its implementation is based on a new API `getIVs`
instead of `getLoopIVs`.
3. Add `addAffineIfOpDomain` to `FlatAffineConstraints`, which extracts
new constraints from the integer set of `AffineIfOp` and merges it to
the current constraint system.
4. Update how a `Value` is determined as dim or symbol for
`ValuePositionMap` in `buildDimAndSymbolPositionMaps`.

Differential Revision: https://reviews.llvm.org/D84698
The file was modifiedmlir/lib/Transforms/Utils/LoopUtils.cpp
The file was modifiedmlir/lib/Analysis/AffineAnalysis.cpp
The file was modifiedmlir/include/mlir/Analysis/AffineAnalysis.h
The file was modifiedmlir/include/mlir/Analysis/Utils.h
The file was modifiedmlir/test/Transforms/memref-dependence-check.mlir
The file was modifiedmlir/lib/Analysis/Utils.cpp
The file was modifiedmlir/lib/Analysis/AffineStructures.cpp
The file was modifiedmlir/lib/Dialect/Affine/Transforms/LoopTiling.cpp
The file was modifiedmlir/include/mlir/Analysis/AffineStructures.h
Commit 4eb4ebf76a6e26b0632968dd299d1dc6ad07e694 by brad
Hook up OpenBSD 64-bit PowerPC support
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/lib/Basic/Targets/OSTargets.h
The file was modifiedclang/test/Preprocessor/init-ppc64.c
The file was modifiedclang/test/Driver/ppc-abi.c
The file was modifiedclang/test/Preprocessor/init.c
The file was modifiedclang/lib/Basic/Targets.cpp
Commit 430db35bf21505015c618e292e98793e2ed49169 by brad
fix typo
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit cc612c29084e907900ce63ad9031ab573a64e942 by tlively
[WebAssembly] Fix FastISel address calculation bug

Fixes PR47040, in which an assertion was improperly triggered during
FastISel's address computation. The issue was that an `Address` set to
be relative to the FrameIndex with offset zero was incorrectly
considered to have an unset base. When the left hand side of an add
set the Address to be 0 off the FrameIndex, the right side would not
detect that the Address base had already been set and could try to set
the Address to be relative to a register instead, triggering an
assertion.

This patch fixes the issue by explicitly tracking whether an `Address`
has been set rather than interpreting an offset of zero to mean the
`Address` has not been set.

Differential Revision: https://reviews.llvm.org/D85581
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was addedllvm/test/CodeGen/WebAssembly/fast-isel-pr47040.ll
Commit f4aba9d76c61cc4c87b45e4edb57b1968eb7194c by brad
Backout a test that is dependent on an uncommited diff. Fix another.
The file was modifiedclang/test/Preprocessor/init.c
The file was modifiedclang/test/Driver/ppc-abi.c