FailedChanges

Summary

  1. [mlir] minor tweaks in standard-to-llvm lowering (details)
  2. [AArch64] Add getCFInstrCost, treat branches as free for throughput. (details)
  3. [IR] Delete llvm::Constants using the correct type. (details)
  4. [lldb/Scalar] Fix undefined behavior (details)
  5. [TestReturnValue] Skip based on architecutre, not platform. (details)
  6. Skip arm-(fp|gp)-read.test on Darwin. (details)
  7. Mips: Don't store MachineFunction in MipsFunctionInfo (details)
  8. PPC: Don't store function in PPCFunctionInfo (details)
  9. RISCV: Don't store function in RISCVMachineFunctionInfo (details)
  10. Sparc: Use Register (details)
  11. [BitcodeReader] Fix DelayedShuffle handling for ConstantExpr shuffles. (details)
  12. [Sanitizer] Remove obsolete assert for OS version checking on Darwin (details)
  13. [libc++] Translate the std Lit parameter to the DSL (details)
  14. [SVE] Reject vector struct indexes for scalable vectors. (details)
  15. [ASTImporter] Fix AST import crash for a friend decl (details)
Commit 4ab43980450baf3c49bebbc526c6c96c3ed9f06e by zinenko
[mlir] minor tweaks in standard-to-llvm lowering

Fix a typo in the documentation and simplify the condition to drop
braces. Addresses post-commit review of https://reviews.llvm.org/D82647.
The file was modifiedmlir/docs/ConversionToLLVMDialect.md
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp
Commit 1ccc49924aeb7bb5fbd2eb956243d16db3a02b08 by flo
[AArch64] Add getCFInstrCost, treat branches as free for throughput.

D79164/2596da31740f changed getCFInstrCost to return 1 per default.
AArch64 did not have its own implementation, hence the throughput cost
of CFI instructions is overestimated. On most cores, most branches should
be predicated and essentially free throughput wise.

This restores a 9% performance regression on a SPEC2006 benchmark on
AArch64 with -O3 LTO & PGO.

This patch effectively restores pre 2596da31740f behavior for AArch64
and undoes the AArch64 test changes of the patch.

Reviewers: samparker, dmgreen, anemet

Reviewed By: samparker

Differential Revision: https://reviews.llvm.org/D82755
The file was modifiedllvm/test/Analysis/CostModel/AArch64/shuffle-broadcast.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/test/Analysis/CostModel/AArch64/aggregates.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/select.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/store.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/AArch64/cmp.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
Commit 15440191b57237eafb18600ac653b9a0023db391 by efriedma
[IR] Delete llvm::Constants using the correct type.

In most cases, this doesn't have much impact: the destructors just call
the base class destructor anyway.  A few subclasses of ConstantExpr
actually store non-trivial data, though. Make sure we clean up
appropriately.

This is sort of ugly, but I don't see a good alternative given the
constraints.

Issue found by asan buildbots running the testcase for D80330.

Differential Revision: https://reviews.llvm.org/D82509
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/lib/IR/Value.cpp
The file was modifiedllvm/lib/Bitcode/Reader/ValueList.cpp
The file was modifiedllvm/lib/IR/ConstantsContext.h
The file was modifiedllvm/include/llvm/IR/Constant.h
The file was modifiedllvm/include/llvm/IR/Constants.h
Commit 2501e86acda2905e50012f7e9fc1942517c1237d by Jonas Devlieghere
[lldb/Scalar] Fix undefined behavior

Fix UBSan error detected in TestDataFormatterObjCCF.py and
TestDataFormatterObjCNSDate.py:

Scalar.cpp:698:27: runtime error: -4.96303e+08 is outside the range of
representable values of type 'unsigned long long'.
The file was modifiedlldb/source/Utility/Scalar.cpp
Commit 4f1f253ce509ebc20e1f7a2d8bb6885366b155f2 by ditaliano
[TestReturnValue] Skip based on architecutre, not platform.
The file was modifiedlldb/packages/Python/lldbsuite/test/decorators.py
The file was modifiedlldb/test/API/functionalities/return-value/TestReturnValue.py
Commit 983a4b520ea384ac978cbfc40bb956fbb98cd735 by ditaliano
Skip arm-(fp|gp)-read.test on Darwin.

Our assembler doesn't seem to grok floating point literals.

<rdar://problem/64951608>
The file was modifiedlldb/test/Shell/Register/arm-fp-read.test
The file was modifiedlldb/test/Shell/Register/arm-gp-read.test
Commit 669bb3111ff0b4b300a2218b88ad71f8e58bebb7 by Matthew.Arsenault
Mips: Don't store MachineFunction in MipsFunctionInfo

It will soon be disallowed to depend on MachineFunction state on
construction.
The file was modifiedllvm/lib/Target/Mips/MipsMachineFunction.cpp
The file was modifiedllvm/lib/Target/Mips/MipsFastISel.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsCallLowering.cpp
The file was modifiedllvm/lib/Target/Mips/Mips16ISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEFrameLowering.cpp
The file was modifiedllvm/lib/Target/Mips/Mips16ISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/Mips/MipsISelLowering.cpp
The file was modifiedllvm/lib/Target/Mips/MipsInstructionSelector.cpp
The file was modifiedllvm/lib/Target/Mips/MipsMachineFunction.h
Commit d9f0c3663f023ce2935b18dda3c3c7cbd7bf666b by Matthew.Arsenault
PPC: Don't store function in PPCFunctionInfo

Continue migrating targets from depending on the MachineFunction
during the initial construction.
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp
Commit 08649f0a9da55f069e5bfcb2bd107d8e24068e76 by Matthew.Arsenault
RISCV: Don't store function in RISCVMachineFunctionInfo

Targets should not depend on the MachineFunction state during the
MachineFunctionInfo construction.
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
Commit f7b2997ad67b2be7137677c70aa38d13cff18191 by Matthew.Arsenault
Sparc: Use Register
The file was modifiedllvm/lib/Target/Sparc/SparcMachineFunctionInfo.h
The file was modifiedllvm/lib/Target/Sparc/SparcInstrInfo.h
The file was modifiedllvm/lib/Target/Sparc/SparcISelLowering.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcInstrInfo.cpp
Commit 0ec712afec642fa6a57fe17be0c8d7d096bf7434 by efriedma
[BitcodeReader] Fix DelayedShuffle handling for ConstantExpr shuffles.

The indexing was messed up, so the result was completely broken.

Shuffle constant exprs are rare in practice; without vscale types,
constant folding generally elminates them. So sort of hard to trip over.

Fixes regression from D72467.

(Recommitting after fix for memory leak.)

Differential Revision: https://reviews.llvm.org/D80330
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
The file was addedllvm/test/Bitcode/vscale-shuffle.ll
Commit 32791937d7aceb0a5e1eaabf1bb1a6dbe1639792 by julian.lettner
[Sanitizer] Remove obsolete assert for OS version checking on Darwin

macOS versions do not necessarily start with 10 anymore.  Remove an
obsolete assert.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mac.h
Commit 1eb211ada17ab90b800b271c74f5d568329fde39 by Louis Dionne
[libc++] Translate the std Lit parameter to the DSL
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/utils/libcxx/test/params.py
Commit df1f371e28301a046b734ed1b8be0f07253700e2 by efriedma
[SVE] Reject vector struct indexes for scalable vectors.

It's messy to pattern-match, and completely unnecessary: scalar indexes
work equally well.

See also discussion on D81620 and D82061.

Differential Revision: https://reviews.llvm.org/D82430
The file was modifiedllvm/lib/IR/Type.cpp
The file was addedllvm/test/Assembler/getelementptr_vscale_struct.ll
Commit ecae672ac2ac42bc15bdc794cc56ddccadec9e4f by vince.a.bridgers
[ASTImporter] Fix AST import crash for a friend decl

Summary:
Running CTU testing, we found that VisitFriendDecl in
ASTImporterLookup.cpp was not handling a particular non-dependent case,
so we reached the llvm_unreachable case.

The FriendDecl and QualType not handled were:

(gdb) p D->dump()
FriendDecl 0x7ffff5cf1958
< <<srcfile>>, 'nlohmann::basic_json<std::map, std::vector,
   std::basic_string<char>, bool, long long, unsigned long long, double,
   std::allocator, adl_serializer, std::vector<unsigned char,
   std::allocator<unsigned char>>>':'nlohmann::basic_json<std::map,
   std::vector, std::basic_string<char>, bool, long long, unsigned long
   long, double, std::allocator, adl_serializer, std::vector<unsigned char,
   std::allocator<unsigned char>>>'

(gdb) p Ty->dump()
SubstTemplateTypeParmType 0x7ffff5cf0df0 'class
nlohmann::basic_json<std::map, std::vector, class
   std::basic_string<char>, _Bool, long long, unsigned long long, double,
   std::allocator, adl_serializer, class std::vector<unsigned char, class
   std::allocator<unsigned char> > >' sugar
|-TemplateTypeParmType 0x7ffff643ea40 'BasicJsonType' dependent depth 0
index 0
| `-TemplateTypeParm 0x7ffff643e9e8 'BasicJsonType'
`-RecordType 0x1012ad20 'class nlohmann::basic_json<std::map,
std::vector, class std::basic_string<char>, _Bool, long long, unsigned
long long, double, std::allocator, adl_serializer, class
std::vector<unsigned char, class std::allocator<unsigned char> > >'
  `-ClassTemplateSpecialization 0x1012ab68 'basic_json'

Reviewers: martong, a.sidorin

Reviewed By: martong

Subscribers: kristof.beyls, rnkovacs, teemperor, cfe-commits, dkrupp

Tags: #clang

Differential Revision: https://reviews.llvm.org/D82882
The file was modifiedclang/lib/AST/ASTImporterLookupTable.cpp