AbortedChanges

Summary

  1. [InstCombine] Add test for or(fshl(),fshl()) bswap pattern. (details)
  2. [InstCombine] matchBSwapOrBitReversem - recognise or(fshl(),fshl()) bswap patterns. (details)
  3. [clang] Enable support for #pragma STDC FENV_ACCESS (details)
  4. Remove superfluous whitespace around if(). NFC. (details)
  5. [SLP] Add AArch64 tests with vectorizable compare/select patterns. (details)
  6. Correct LIT test failure detected on buildbot after mibintc committed rG2e204e23911b: [clang] Enable support for #pragma STDC FENV_ACCESS D87528 (details)
  7. [InstSimplify] add tests for logic-of-cmps with not op; NFC (details)
  8. [InstSimplify] peek through 'not' operand in logic-of-icmps fold (details)
Commit 5e9f172295d011cc0a186a3e133b3b628556287f by llvm-dev
[InstCombine] Add test for or(fshl(),fshl()) bswap pattern.

Currently InstCombinerImpl::matchBSwapOrBitReverse won't match starting from funnel shifts.
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit 3052e474eceb25e3699940d6a7270550eed66606 by llvm-dev
[InstCombine] matchBSwapOrBitReversem - recognise or(fshl(),fshl()) bswap patterns.

I'm not certain InstCombinerImpl::matchBSwapOrBitReverse needs to filter the or(op0(),op1()) ops - there are just too many cases that recognizeBSwapOrBitReverseIdiom/collectBitParts handle now (and quickly).
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/bswap.ll
Commit 2e204e23911b1f8bd1463535da40c6e48747a138 by melanie.blower
[clang] Enable support for #pragma STDC FENV_ACCESS

Reviewers: rjmccall, rsmith, sepavloff

Differential Revision: https://reviews.llvm.org/D87528
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/test/Preprocessor/pragma_unknown.c
The file was modifiedclang/include/clang/Basic/DiagnosticParseKinds.td
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Sema/SemaAttr.cpp
The file was modifiedclang/include/clang/Sema/ScopeInfo.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedclang/test/CXX/expr/expr.const/p2-0x.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/lib/Sema/ScopeInfo.cpp
The file was modifiedclang/test/Parser/fp-floatcontrol-syntax.cpp
The file was modifiedclang/lib/Parse/ParseStmt.cpp
The file was modifiedclang/test/CodeGen/fp-floatcontrol-pragma.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/docs/UsersManual.rst
The file was addedclang/test/Parser/pragma-fenv_access.c
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.h
The file was modifiedclang/lib/Parse/ParsePragma.cpp
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was addedclang/test/CodeGen/pragma-fenv_access.c
The file was modifiedclang/include/clang/Sema/Sema.h
Commit d64ea0f18994e06c4428548c4093b3ce7a35cb98 by llvm-dev
Remove superfluous whitespace around if(). NFC.
The file was modifiedllvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp
Commit 968aa6b917f7ffb3bda059c53f9e836934a9d16e by flo
[SLP] Add AArch64 tests with vectorizable compare/select patterns.

This patch adds an additional set of tests that can be vectorized
efficiently on AArch64, using CMxx & BFI.
The file was addedllvm/test/Transforms/SLPVectorizer/AArch64/vectorizable-selects-uniform-cmps.ll
Commit 576d436c828f84f18277e4675e6e5337d2b77fde by melanie.blower
Correct LIT test failure detected on buildbot after mibintc committed rG2e204e23911b: [clang] Enable support for #pragma STDC FENV_ACCESS D87528
The file was modifiedclang/test/Parser/pragma-fenv_access.c
Commit 7de2add8296fb26fd49106173c9f140ebd0abedc by spatel
[InstSimplify] add tests for logic-of-cmps with not op; NFC

One variant of this is shown in:
https://llvm.org/PR47858
The file was modifiedllvm/test/Transforms/InstSimplify/and-or-icmp-min-max.ll
Commit e77ba263fe0eaa41a973583fc82089721c881593 by spatel
[InstSimplify] peek through 'not' operand in logic-of-icmps fold

This extends D78430 to solve cases like:
https://llvm.org/PR47858

There are still missed opportunities shown in the tests,
and as noted in the earlier patches, we have related
functionality in InstCombine, so we may want to extend
other folds in a similar way.

A semi-random sampling of test diff proofs in this patch:
https://rise4fun.com/Alive/sS4C
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/and-or-icmp-min-max.ll