SuccessChanges

Summary

  1. [SVE][NFC] Regenerate a few CodeGen tests (details)
  2. Add -ansi option to CompileOnly group (details)
  3. [doc] Place sha256 in lld/README.md into backticks (details)
  4. Return false from __has_declspec_attribute() if not explicitly enabled (details)
  5. [llvm] [cmake] Remove obsolete /usr/local hack for *BSD (details)
  6. [Tests] Add tests for new InstCombine OR transformation, NFC (details)
  7. [instCombine] Add (A ^ B) | ~(A | B) -> ~(A & B) (details)
  8. [Flang][openmp][openacc] Extend CheckNoBranching to handle branching provided by LabelEnforce. (details)
Commit 3d9c51d111d0c8480d10fc48fb621bac1d080449 by cullen.rhodes
[SVE][NFC] Regenerate a few CodeGen tests

Regenerated using llvm/utils/update_llc_test_checks.py as part of
D94504, committing separately to reduce the diff for D94504.
The file was modifiedllvm/test/CodeGen/AArch64/sve-pred-non-temporal-ldst-addressing-mode-reg-imm.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-loads-nf.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-pred-contiguous-ldst-addressing-mode-reg-imm.ll
Commit 348471575d9c24bbfb124ca5eac1589de075da88 by aaron
Add -ansi option to CompileOnly group

-ansi is documented as being the "same as -std=c89", but there are
differences when passing it to a link.

Adding -ansi to said group makes sense since it's supposed to be an
alias for -std=c89 and resolves this inconsistency.
The file was modifiedclang/include/clang/Driver/Options.td
Commit b117d17d264f448e0b037a62f5a48ec9aedd886c by smeenai
[doc] Place sha256 in lld/README.md into backticks

Reviewed By: smeenai

Differential Revision: https://reviews.llvm.org/D93984
The file was modifiedlld/README.md
Commit ef3800e82169c674219501d9ac09ef12b28e6359 by aaron
Return false from __has_declspec_attribute() if not explicitly enabled

Currently, projects can check for __has_declspec_attribute() and use
it accordingly, but the check for __has_declspec_attribute will return
true even if declspec attributes are not enabled for the target.

This changes Clang to instead return false when declspec attributes are
not supported for the target.
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp
Commit 5aefc8dc4d14ad04259ab8ae0b2e0da2596d66f7 by mgorny
[llvm] [cmake] Remove obsolete /usr/local hack for *BSD

Remove the hack adding /usr/local paths on FreeBSD and DragonFlyBSD.
It does not seem to be necessary today, and it breaks cross builds.

Differential Revision: https://reviews.llvm.org/D94491
The file was modifiedllvm/CMakeLists.txt
Commit bb9ebf6baf7057d7f2aed90fccbac2414cf9a134 by Dávid Bolvanský
[Tests] Add tests for new InstCombine OR transformation, NFC
The file was modifiedllvm/test/Transforms/InstCombine/or.ll
Commit 0529946b5bafafd10d77b946ee9fa96f388860ef by Dávid Bolvanský
[instCombine] Add (A ^ B) | ~(A | B) -> ~(A & B)

define i32 @src(i32 %x, i32 %y) {
%0:
  %xor = xor i32 %y, %x
  %or = or i32 %y, %x
  %neg = xor i32 %or, 4294967295
  %or1 = or i32 %xor, %neg
  ret i32 %or1
}
=>
define i32 @tgt(i32 %x, i32 %y) {
%0:
  %and = and i32 %x, %y
  %neg = xor i32 %and, 4294967295
  ret i32 %neg
}
Transformation seems to be correct!

https://alive2.llvm.org/ce/z/Cvca4a
The file was modifiedllvm/test/Transforms/InstCombine/or.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit 6f4d460762006af17826693abc1e7139a76aa1f2 by joshisameeran17
[Flang][openmp][openacc] Extend CheckNoBranching to handle branching provided by LabelEnforce.

`CheckNoBranching` is currently handling only illegal branching out for constructs
with `Parser::Name` in them.
Extend the same for handling illegal branching out caused by `Parser::Label` based statements.
This patch could possibly solve one of the issues(typically branching out) mentioned in D92735.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D93447
The file was modifiedflang/lib/Semantics/check-omp-structure.cpp
The file was modifiedflang/lib/Semantics/check-directive-structure.h
The file was modifiedflang/test/Semantics/omp-parallell01.f90