FailedChanges

Summary

  1. Revert D103717 "[InstrProfiling] Make __profd_ unconditionally private for ELF" (details)
  2. [polly][GPGPU] Fixup related to overloading exponent type in llvm.powi (details)
  3. [InstCombine] Fold (sext bool X) * (sext bool X) to zext (and X, X) (details)
  4. [libc] Add few macro definitions to make it easy to accommodate Windows. (details)
  5. Revert "[InstCombine] Fold (sext bool X) * (sext bool X) to zext (and X, X)" (details)
  6. [Demangle][Rust] Parse dot suffix (details)
  7. [libc][Obvious] Add the new header file PlatformDefs.h to the fputil  target. (details)
  8. [Attributor] Don't print the call-graph in a hard-coded file. (details)
  9. [Polly][Isl] Refactoring IslAstInfo::getBuild() and IslAstInfo::IslAstUserPayload::Build to use isl++. NFC (details)
Commit 5798be84580be233e4cf34c08ceec8f79e80502e by i
Revert D103717 "[InstrProfiling] Make __profd_ unconditionally private for ELF"

This reverts commit 76d0747e0807307780ba84cbd7e5c80b20c26bd7.

If a group has `__llvm_prf_vals` due to static value profiler counters
(`NS!=0`), we cannot make `__llvm_prf_data` private, because a prevailing text
section may reference `__llvm_prf_data` and will cause a `relocation refers to a
discarded section` linker error.

Note: while a `__profc_` group is non-prevailing, it may be referenced by a
prevailing text section due to inlining.

```
group section [   66] `.group' [__profc__ZN5clang20EmitClangDeclContextERN4llvm12RecordKeeperERNS0_11raw_ostreamE] contains 4 sections:
   [Index]    Name
   [   67]   __llvm_prf_cnts
   [   68]   __llvm_prf_vals
   [   69]   __llvm_prf_data
   [   70]   .rela__llvm_prf_data
```
The file was modifiedllvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
The file was modifiedllvm/test/Transforms/PGOProfile/indirect_call_profile.ll
Commit 6aac2773d80b42bcf9da2414bbd410aa9f10095e by bjorn.a.pettersson
[polly][GPGPU] Fixup related to overloading exponent type in llvm.powi

Commit 4c7f820b2b206bb changed the llvm.powi intrinsic to support
different 'int' sizes for the exponent. That happened to break
the IntrinsicToLibdeviceFunc mapping in PPCGCodeGeneration, which
obviously should have been updated as part of commit 4c7f820b2b
(https://reviews.llvm.org/D99439).

The shortcoming was found by buildbots that use
   -DPOLLY_ENABLE_GPGPU_CODEGEN=ON

This patch should fixup the problem.
The file was modifiedpolly/test/GPGPU/libdevice-functions-copied-into-kernel.ll
The file was modifiedpolly/lib/CodeGen/PPCGCodeGeneration.cpp
Commit 31053338c97b36ffb582f9c04a74cec69cce3e70 by vdsered
[InstCombine] Fold (sext bool X) * (sext bool X) to zext (and X, X)

InstCombine didn't perform (sext bool X) * (sext bool X) --> zext (and X, X) which can result in just (zext X). The patch adds regression tests to check this transformation and adds a check for equality of mul's operands for that case.

Differential Revision: https://reviews.llvm.org/D104193
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll
Commit 37afd67c38cf85f1308505892e7999457d8769cd by sivachandra
[libc] Add few macro definitions to make it easy to accommodate Windows.

The new macro definitions have been used to add Windows specific
specializations.
The file was modifiedlibc/utils/FPUtil/SqrtLongDoubleX86.h
The file was addedlibc/utils/FPUtil/PlatformDefs.h
The file was modifiedlibc/utils/FPUtil/Sqrt.h
The file was modifiedlibc/utils/FPUtil/ManipulationFunctions.h
The file was modifiedlibc/utils/FPUtil/NormalFloat.h
The file was modifiedlibc/utils/FPUtil/FPBits.h
Commit 6de741de08a11048027cb4d4e4d5d4bd067319fa by vdsered
Revert "[InstCombine] Fold (sext bool X) * (sext bool X) to zext (and X, X)"

This reverts commit 31053338c97b36ffb582f9c04a74cec69cce3e70.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
The file was modifiedllvm/test/Transforms/InstCombine/mul.ll
Commit 2a5bb9c877f23224ee6b789054b4edfa17b4fd30 by tomasz.miasko
[Demangle][Rust] Parse dot suffix

Allow mangled names to include an arbitrary dot suffix, akin to vendor
specific suffix in Itanium mangling.

Primary motivation is a support for symbols renamed during ThinLTO
import / promotion (ThinLTO is the default configuration for optimized
builds in rustc).

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D104358
The file was modifiedllvm/test/Demangle/rust.test
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
Commit 7a1e4f18468d0f25407b6ea9f7986cf2a4620f54 by sivachandra
[libc][Obvious] Add the new header file PlatformDefs.h to the fputil  target.
The file was modifiedlibc/utils/FPUtil/CMakeLists.txt
Commit 7670938bbad8755a34a282febc852651255c69b3 by hokein.wu
[Attributor] Don't print the call-graph in a hard-coded file.

This looks like not a practical pattern in our codebase (it could fail
in some sandbox environement).

Instead we print it via standard output, and it is controled by the
-attributor-print-call-graph, this follows a similiar pattern of attributor-print-dep.
The file was modifiedllvm/lib/Transforms/IPO/AttributorAttributes.cpp
The file was modifiedllvm/test/Transforms/Attributor/callgraph.ll
Commit 2a629efc74e5ad414f05e293f296b392f724bc9f by patacca
[Polly][Isl] Refactoring IslAstInfo::getBuild() and IslAstInfo::IslAstUserPayload::Build to use isl++. NFC

Polly uses algorithms from the Integer Set Library (isl), which is a library written in C and which is incompatible with the rest of the LLVM as it is written in C++.

Changes made:
- Refactoring the method `IslAstInfo::getBuild()`
- `IslAstInfo::IslAstUserPayload.Build` now uses C++ types instead of C types
- Removing destructor of `IslAstInfo::IslAstUserPayload`

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D104370
The file was modifiedpolly/lib/CodeGen/IslNodeBuilder.cpp
The file was modifiedpolly/lib/CodeGen/IslAst.cpp
The file was modifiedpolly/include/polly/CodeGen/IslAst.h