Changes

Summary

  1. Precommit updated InstCombine/and-xor-or.ll test. NFC. (details)
  2. Remove include of 'type_info' from ext-int test. (details)
  3. [InstCombine] Fold `(a & ~b) & ~c` to `a & ~(b | c)` (details)
  4. [libc++] Fix incorrect main() signatures in the tests (details)
  5. [x86] add special-case lowering for usubsat for AVX512 (details)
  6. Revert "[fir] Add Character helper" (details)
  7. [Tests] Add tests for non-speculatable ephemeral values (details)
  8. [libc++abi] Guard include of <unistd.h> behind __has_include (details)
  9. [libunwind] Revert "Use the from-scratch testing configuration by default" (details)
  10. [runtimes] Rename CI job from "Runtimes build" to "Bootstrapping build" (details)
  11. Revert "[ORC-RT] Configure the ORC runtime for more architectures and platforms" (details)
Commit 3c59cdee5caabdfc7735579cb43fbb5af18b6103 by Stanislav.Mekhanoshin
Precommit updated InstCombine/and-xor-or.ll test. NFC.
The file was modifiedllvm/test/Transforms/InstCombine/and-xor-or.ll
Commit 8dc44d8dd872eadf112c43fa7784110a43ccb683 by erich.keane
Remove include of 'type_info' from ext-int test.

Originally I thought that I needed to do a #include to trick the
compiler into letting me use typeid I believe, but Aaron explained that
it was just looking for the type_info type.  I had to give it some
public/private members to make it emit the same as before, but this
ought to be a 'perfect' replacement.
The file was modifiedclang/test/CodeGenCXX/ext-int.cpp
Commit b92412fb286be26d6f033b9ec283b1b18cb57869 by Stanislav.Mekhanoshin
[InstCombine] Fold `(a & ~b) & ~c` to `a & ~(b | c)`

  %not1 = xor i32 %b, -1
  %not2 = xor i32 %c, -1
  %and1 = and i32 %a, %not1
  %and2 = and i32 %and1, %not2
=>
  %i1 = or i32 %b, %c
  %i2 = xor i32 %1, -1
  %and2 = and i32 %i2, %a

Differential Revision: https://reviews.llvm.org/D112108
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/and-xor-or.ll
Commit 048688fd80fadce1c72c365b0d74599a33389cfb by Louis Dionne
[libc++] Fix incorrect main() signatures in the tests

Those creep up from time to time. We need to use `int main(int, char**)`
because in freestanding mode, `main` doesn't get special treatment and
special mangling, so we setup a symbol alias from the mangled version of
`main(int, char**)` to `extern "C" main`. That only works if all the tests
are consistent about how they define their main function.
The file was modifiedlibcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.intcmp/intcmp.fail.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_not_equal/cmp_not_equal.pass.cpp
The file was modifiedlibcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater/cmp_greater.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_greater_equal/cmp_greater_equal.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.intcmp/intcmp.in_range/in_range.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less_equal/cmp_less_equal.pass.cpp
The file was modifiedlibcxx/test/std/utilities/tuple/tuple.tuple/PR38601.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_equal/cmp_equal.pass.cpp
The file was modifiedlibcxx/test/std/utilities/utility/utility.intcmp/intcmp.cmp_less/cmp_less.pass.cpp
Commit 40163f1df8c60f987e8adc0cb78edb289f73b771 by spatel
[x86] add special-case lowering for usubsat for AVX512

This is a small extension of D112095 to avoid another regression
seen with D112085.
In this case, we allow the same conversion from usubsat to ALU
ops if the target supports vpternlog.

That pattern will get converted later in X86DAGToDAGISel::tryVPTERNLOG().
This seems better than putting a magic immediate constant directly in
this code to create the exact vpternlog that we need. It's possible that
there are other special-cases along these lines, so we should try to
keep all of the vpternlog magic in one place.

Differential Revision: https://reviews.llvm.org/D112138
The file was modifiedllvm/test/CodeGen/X86/psubus.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
Commit 676d091c630c6a4d19a865a74260397ea661e5c3 by clementval
Revert "[fir] Add Character helper"

This reverts commit 02d7089c239075a5c2e148087d2824d253fc3d5f.
The file was removedflang/unittests/Optimizer/Builder/CharacterTest.cpp
The file was removedflang/include/flang/Optimizer/Builder/Character.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIRType.h
The file was modifiedflang/lib/Optimizer/Builder/CMakeLists.txt
The file was modifiedflang/include/flang/Optimizer/Builder/FIRBuilder.h
The file was modifiedflang/include/flang/Optimizer/Dialect/FIROpsSupport.h
The file was modifiedflang/lib/Optimizer/Builder/FIRBuilder.cpp
The file was modifiedflang/unittests/Optimizer/CMakeLists.txt
The file was modifiedflang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
The file was removedflang/lib/Optimizer/Builder/Character.cpp
Commit 8e4ae603d6ec7658df86302d122fb24968524164 by nikita.ppv
[Tests] Add tests for non-speculatable ephemeral values

The loads in these examples are currently not considered ephemeral
because they are not speculatable.
The file was modifiedllvm/test/Transforms/SimplifyCFG/unprofitable-pr.ll
The file was modifiedllvm/test/Transforms/Inline/ephemeral.ll
Commit ff5050a3a4f2965aaddfce2f6b182476c11d78f3 by Louis Dionne
[libc++abi] Guard include of <unistd.h> behind __has_include

This doesn't change anything on platforms that have <unistd.h>, but
it will allow this file to compile on platforms that do not.
The file was modifiedlibcxxabi/src/cxa_guard_impl.h
Commit 070a2ddcb6657f1b497b8003384bae31e27e497d by Louis Dionne
[libunwind] Revert "Use the from-scratch testing configuration by default"

This reverts commit 5a8ad80b6fa5cbad58b78384f534b78fca863e7f, which broke
the Bootstrapping build. I'm reverting until we've fixed the issue.

Differential Revision: https://reviews.llvm.org/D112082
The file was modifiedlibunwind/CMakeLists.txt
Commit 3cea2505fd8d99a9ba0cb625aecfe28a47c4e3f8 by Louis Dionne
[runtimes] Rename CI job from "Runtimes build" to "Bootstrapping build"
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxx/utils/ci/run-buildbot
Commit f3671de5500ff1f8210419226a9603a7d83b1a31 by blangmuir
Revert "[ORC-RT] Configure the ORC runtime for more architectures and platforms"

Broke on aarch64-linux. Reverting while I investigate.

This reverts commit 5692ed0cce8c9506eef40ffe6ca2d9629956c51c.
The file was modifiedcompiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
The file was modifiedcompiler-rt/lib/orc/macho_tlv.x86-64.S
The file was modifiedcompiler-rt/cmake/config-ix.cmake
The file was modifiedcompiler-rt/lib/orc/elfnix_tls.x86-64.S
The file was modifiedcompiler-rt/lib/orc/CMakeLists.txt
The file was modifiedcompiler-rt/lib/orc/simple_packed_serialization.h