1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 02:33:06 +01:00
llvm-mirror/lib/IR
Jeroen Dobbelaere 3851813b89 [PredicateInfo] Use Intrinsic::getDeclaration now that it handles unnamed types.
This is a second attempt to fix the EXPENSIVE_CHECKS issue that was mentioned  In D91661#2875179 by @jroelofs.

(The first attempt was in D105983)

D91661 more or less completely reverted D49126 and by doing so also removed the cleanup logic of the created declarations and calls.
This patch is a replacement for D91661 (which must itself be reverted first). It replaces the custom declaration creation with the
generic version and shows the test impact. It also tracks the number of NamedValues to detect if a new prototype was added instead
of looking at the available users of a prototype.

Reviewed By: jroelofs

Differential Revision: https://reviews.llvm.org/D106147

(cherry picked from commit 03b8c69d06f810f13d0b74d06dabea37c43e5b78)
2021-08-04 16:51:33 -07:00
..
AbstractCallSite.cpp Remove getNumUses() comparisons (NFC) 2020-05-02 11:05:19 +02:00
AsmWriter.cpp [NFC][AssemblyWriter] Allow AssemblyWriter::printBasicBlock() to print blocks that don't have parents. 2021-07-20 15:46:31 -07:00
Assumptions.cpp [OpenMP] Detect SPMD compatible kernels and execute them as such 2021-07-10 18:44:25 -05:00
AttributeImpl.h [Attributes] Use single method to fetch type from AttributeSet (NFC) 2021-07-14 21:10:56 +02:00
Attributes.cpp [Attributes] Clean up handling of UB implying attributes (NFC) 2021-07-25 18:21:13 +02:00
AutoUpgrade.cpp [IRBuilder] Add type argument to CreateMaskedLoad/Gather 2021-07-04 12:17:59 +02:00
BasicBlock.cpp [IR] Add BasicBlock::isEntryBlock() (NFC) 2021-05-15 12:41:58 +02:00
BuiltinGCs.cpp [GC][NFC] Move GCStrategy from CodeGen to IR 2021-05-13 12:31:59 +07:00
CMakeLists.txt [GC][NFC] Move GCStrategy from CodeGen to IR 2021-05-13 12:31:59 +07:00
Comdat.cpp [IR] Rename comdat noduplicates to comdat nodeduplicate 2021-07-20 12:47:10 -07:00
ConstantFold.cpp [ConstantFold] Fix GEP of GEP fold with opaque pointers 2021-07-23 23:56:41 +02:00
ConstantFold.h Remove "mask" operand from shufflevector. 2020-03-31 13:08:59 -07:00
ConstantRange.cpp [ConstantRanges] Use APInt for constant case for urem/srem. 2021-06-30 11:18:20 +01:00
Constants.cpp [IR] Don't accept null type in ConstantExpr::getGetElementPtr() 2021-07-17 15:59:31 +02:00
ConstantsContext.h [IR] Added operator delete to subclasses of User to avoid UB 2021-07-08 11:59:22 +02:00
Core.cpp Intrinsic::getName: require a Module argument 2021-06-14 14:52:29 +02:00
DataLayout.cpp [StructLayout] Use TrailingObjects to allocate space for MemberOffsets. 2021-03-30 17:36:50 -07:00
DebugInfo.cpp Remove redundant comparisons (NFC) 2021-06-02 09:52:45 -07:00
DebugInfoMetadata.cpp Revert "[DebugInfo] Enforce implicit constraints on distinct MDNodes" 2021-07-02 15:57:07 -07:00
DebugLoc.cpp [IR] Delete unused ReplaceLast in DebugLoc::appendInlineAt 2021-01-08 23:28:22 -08:00
DiagnosticHandler.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DiagnosticInfo.cpp Improve the diagnostic of DiagnosticInfoResourceLimit (and warn-stack-size in particular) 2021-06-22 09:55:20 -07:00
DiagnosticPrinter.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DIBuilder.cpp [CodeView] Saturate values bigger than supported by APInt. 2021-07-26 22:15:26 +02:00
Dominators.cpp [gvn] Precisely propagate equalities to phi operands 2021-03-08 08:59:00 -08:00
FPEnv.cpp Fix some clang-tidy namespace closing comments warnings. NFC. 2020-06-26 09:58:21 +01:00
Function.cpp [Attributes] Clean up handling of UB implying attributes (NFC) 2021-07-25 18:21:13 +02:00
GCStrategy.cpp [GC][NFC] Move GCStrategy from CodeGen to IR 2021-05-13 12:31:59 +07:00
Globals.cpp [NFC] Use Aliasee to determine Type and AddrSpace in GlobalAlias::create() 2021-05-02 11:50:08 -07:00
GVMaterializer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
InlineAsm.cpp Support unwinding from inline assembly 2021-05-13 19:13:03 +01:00
Instruction.cpp Strip undef implying attributes when moving calls 2021-07-27 10:57:05 -04:00
Instructions.cpp [InstCombine] Precommit tests for D105088 (NFC) 2021-07-13 20:35:04 +02:00
IntrinsicInst.cpp [VP] Implementation of intrinsic and SDNode definitions for VP load, store, gather, scatter. 2021-07-01 13:34:44 +02:00
IRBuilder.cpp [BPF] Use elementtype attribute for preserve.array/struct.index intrinsics 2021-07-17 11:09:18 +02:00
IRPrintingPasses.cpp [NewPM] Support --print-before/after in NPM 2020-12-03 16:52:14 -08:00
LegacyPassManager.cpp [opt] Error if -debug-pass is specified alongside the new PM 2021-03-02 15:59:28 -08:00
LLVMContext.cpp [clang] Use i64 for the !srcloc metadata on asm IR nodes. 2021-07-22 10:24:52 +01:00
LLVMContextImpl.cpp Revert "[DebugInfo] Enforce implicit constraints on distinct MDNodes" 2021-07-02 15:57:07 -07:00
LLVMContextImpl.h Revert "[DebugInfo] Enforce implicit constraints on distinct MDNodes" 2021-07-02 15:57:07 -07:00
LLVMRemarkStreamer.cpp [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
Mangler.cpp [IR] Use range-based for loops (NFC) 2021-02-27 10:09:25 -08:00
MDBuilder.cpp [CSSPGO] Pseudo probe encoding and emission. 2020-12-10 17:29:28 -08:00
Metadata.cpp Revert "[DebugInfo] Enforce implicit constraints on distinct MDNodes" 2021-07-02 15:57:07 -07:00
MetadataImpl.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Module.cpp [PredicateInfo] Use Intrinsic::getDeclaration now that it handles unnamed types. 2021-08-04 16:51:33 -07:00
ModuleSummaryIndex.cpp [IR] Use range-based for loops (NFC) 2021-03-01 23:40:33 -08:00
Operator.cpp Partial Reapply "[DebugInfo] Use variadic debug values to salvage BinOps and GEP instrs with non-const operands" 2021-06-24 09:46:38 +01:00
OptBisect.cpp Revert "Delay initialization of OptBisect" 2021-06-18 13:16:45 -05:00
Pass.cpp [PM] Avoid duplicates in the Used/Preserved/Required sets 2021-01-20 13:55:18 +01:00
PassInstrumentation.cpp [NewPM] Handle passes with params in -print-before/-print-after 2021-07-09 09:27:37 +02:00
PassManager.cpp [NewPM] Make pass adaptors less templatey 2020-12-04 08:30:50 -08:00
PassRegistry.cpp [Analysis, IR] Use *Map::lookup (NFC) 2020-12-29 19:23:24 -08:00
PassTimingInfo.cpp [Time-report] Add a flag -ftime-report={per-pass,per-pass-run} to control the pass timing aggregation 2020-12-08 10:13:19 -08:00
PrintPasses.cpp [IR] Use llvm::is_contained (NFC) 2020-12-08 19:06:37 -08:00
ProfileSummary.cpp ProfileSummary.cpp - use auto const& iterator in for-range loop to avoid copies. NFCI. 2020-09-21 16:54:26 +01:00
PseudoProbe.cpp [CSSPGO] Undoing the concept of dangling pseudo probe 2021-06-18 15:14:11 -07:00
ReplaceConstant.cpp [IR] Simplify createReplacementInstr 2021-06-23 10:47:43 +01:00
SafepointIRVerifier.cpp [llvm] Use append_range (NFC) 2021-01-27 23:25:41 -08:00
Statepoint.cpp [Statepoint] Start the process of removing old interfaces 2020-06-03 20:00:52 -07:00
StructuralHash.cpp (Expensive) Check for Loop, SCC and Region pass return status 2020-08-28 07:56:35 +02:00
SymbolTableListTraitsImpl.h [IR] Lazily number instructions for local dominance queries 2020-02-18 14:44:24 -08:00
Type.cpp [IR] Add Type::isOpaquePointerTy() helper (NFC) 2021-06-25 20:56:59 +02:00
TypeFinder.cpp [IR] Make TypeFinder aware of DIArgList values 2021-05-28 17:09:45 +02:00
Use.cpp [IR] Simplify Use::swap. NFCI. 2020-07-21 12:15:12 +01:00
User.cpp Use AssumeInst in a few more places [nfc] 2021-04-06 13:18:53 -07:00
Value.cpp Global variables with strong definitions cannot be freed 2021-07-14 13:26:18 -07:00
ValueSymbolTable.cpp PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
Verifier.cpp [Verifier] Check byval/etc type when comparing ABI attributes 2021-07-20 20:19:47 +02:00