Searched refs:ICF (Results 1 - 8 of 8) sorted by relevance

/freebsd-13-stable/contrib/llvm-project/lld/COFF/
H A DICF.cpp1 //===- ICF.cpp ------------------------------------------------------------===//
9 // ICF is short for Identical Code Folding. That is a size optimization to
14 // On Windows, ICF is enabled by default.
16 // See ELF/ICF.cpp for the details about the algorithm.
20 #include "ICF.h"
39 static Timer icfTimer("ICF", Timer::root());
41 class ICF { class in namespace:lld::coff
67 // Returns true if section S is subject of ICF.
78 bool ICF::isEligible(SectionChunk *c) {
102 void ICF
[all...]
H A DChunks.h182 friend class ICF;
311 // Auxiliary Format 5: Section Definitions. Used for ICF.
318 // ICF. This is set by the driver using address-significance tables.
326 // with other chunk by ICF, it points to another chunk,
333 // Used for ICF (Identical COMDAT Folding)
/freebsd-13-stable/contrib/llvm-project/lld/ELF/
H A DICF.cpp1 //===- ICF.cpp ------------------------------------------------------------===//
9 // ICF is short for Identical Code Folding. This is a size optimization to
14 // In ICF, two sections are considered identical if they have the same
18 // terms of ICF*.
21 // same machine instructions, ICF can and should merge the two, although
63 // boost when applying ICF on large programs. For example, MSVC link.exe
64 // or GNU gold takes 10-20 seconds to apply ICF on Chromium, whose output
66 // 2.8 GHz 40 core machine. Even without threading, LLD's ICF is still
69 // [1] Safe ICF: Pointer Safe and Unwinding aware Identical Code Folding
75 #include "ICF
99 template <class ELFT> class ICF { class in namespace:__anon2699
[all...]
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Analysis/
H A DMustExecute.cpp71 return ICF.hasICF(BB);
80 ICF.clear();
85 if (ICF.hasICF(&*BB)) {
94 ICF.insertInstructionTo(Inst, BB);
99 ICF.removeInstruction(Inst);
270 return !ICF.isDominatedByICFIFromSameBlock(&Inst) &&
/freebsd-13-stable/usr.bin/clang/lld/
H A DMakefile59 SRCS+= ELF/ICF.cpp
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DMustExecute.h134 mutable ImplicitControlFlowTracking ICF; member in class:llvm::ICFLoopSafetyInfo
/freebsd-13-stable/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DGVN.h212 ImplicitControlFlowTracking *ICF = nullptr; member in class:llvm::GVN
/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Scalar/
H A DGVN.cpp1082 if (!IsSafeToSpeculativelyExecute && ICF->isDominatedByICFIFromSameBlock(LI))
1100 if (!IsSafeToSpeculativelyExecute && ICF->hasICF(TmpBB))
2148 ICF = &ImplicitCFT;
2240 ICF->removeInstruction(I);
2403 if (ICF->isDominatedByICFIFromSameBlock(CurInst))
2472 ICF->removeInstruction(CurInst);
2557 ICF->clear();

Completed in 137 milliseconds