| /openbsd/src/gnu/llvm/lld/COFF/ |
| D | ICF.cpp | 39 class ICF { class 41 ICF(COFFLinkerContext &c) : ctx(c){}; in ICF() function in lld::coff::ICF 79 bool ICF::isEligible(SectionChunk *c) { in isEligible() 104 void ICF::segregate(size_t begin, size_t end, bool constant) { in segregate() 130 bool ICF::assocEquals(const SectionChunk *a, const SectionChunk *b) { in assocEquals() 148 bool ICF::equalsConstant(const SectionChunk *a, const SectionChunk *b) { in equalsConstant() 181 bool ICF::equalsVariable(const SectionChunk *a, const SectionChunk *b) { in equalsVariable() 199 size_t ICF::findBoundary(size_t begin, size_t end) { in findBoundary() 206 void ICF::forEachClassRange(size_t begin, size_t end, in forEachClassRange() 216 void ICF::forEachClass(std::function<void(size_t, size_t)> fn) { in forEachClass() [all …]
|
| D | CMakeLists.txt | 13 ICF.cpp
|
| D | Chunks.h | 197 friend class ICF; variable
|
| /openbsd/src/gnu/llvm/lld/MachO/ |
| D | ICF.cpp | 31 class ICF { class 33 ICF(std::vector<ConcatInputSection *> &inputs); 36 using EqualsFn = bool (ICF::*)(const ConcatInputSection *, 59 ICF::ICF(std::vector<ConcatInputSection *> &inputs) { in ICF() function in ICF 95 bool ICF::equalsConstant(const ConcatInputSection *ia, in equalsConstant() 176 bool ICF::equalsVariable(const ConcatInputSection *ia, in equalsVariable() 236 size_t ICF::findBoundary(size_t begin, size_t end) { in findBoundary() 245 void ICF::forEachClassRange(size_t begin, size_t end, in forEachClassRange() 256 void ICF::forEachClass(llvm::function_ref<void(size_t, size_t)> func) { in forEachClass() 284 void ICF::run() { in run() [all …]
|
| D | CMakeLists.txt | 19 ICF.cpp
|
| /openbsd/src/gnu/llvm/lld/ELF/ |
| D | ICF.cpp | 98 template <class ELFT> class ICF { class 198 void ICF<ELFT>::segregate(size_t begin, size_t end, uint32_t eqClassBase, in segregate() 238 bool ICF<ELFT>::constantEq(const InputSection *secA, ArrayRef<RelTy> ra, in constantEq() 314 bool ICF<ELFT>::equalsConstant(const InputSection *a, const InputSection *b) { in equalsConstant() 335 bool ICF<ELFT>::variableEq(const InputSection *secA, ArrayRef<RelTy> ra, in variableEq() 372 bool ICF<ELFT>::equalsVariable(const InputSection *a, const InputSection *b) { in equalsVariable() 380 template <class ELFT> size_t ICF<ELFT>::findBoundary(size_t begin, size_t end) { in findBoundary() 394 void ICF<ELFT>::forEachClassRange(size_t begin, size_t end, in forEachClassRange() 405 void ICF<ELFT>::forEachClass(llvm::function_ref<void(size_t, size_t)> fn) { in forEachClass() 460 template <class ELFT> void ICF<ELFT>::run() { in run() [all …]
|
| D | CMakeLists.txt | 43 ICF.cpp
|
| D | Options.td | 261 defm keep_unique: Eq<"keep-unique", "Do not fold this symbol during ICF">;
|
| /openbsd/src/gnu/llvm/llvm/lib/Analysis/ |
| D | MustExecute.cpp | 72 return ICF.hasICF(BB); in blockMayThrow() 81 ICF.clear(); in computeLoopSafetyInfo() 86 if (ICF.hasICF(&*BB)) { in computeLoopSafetyInfo() 95 ICF.insertInstructionTo(Inst, BB); in insertInstructionTo() 100 ICF.removeInstruction(Inst); in removeInstruction() 280 return !ICF.isDominatedByICFIFromSameBlock(&Inst) && in isGuaranteedToExecute()
|
| /openbsd/src/gnu/usr.bin/clang/liblldELF/ |
| D | Makefile | 36 ICF.cpp \
|
| /openbsd/src/gnu/llvm/llvm/utils/gn/secondary/lld/MachO/ |
| D | BUILD.gn | 37 "ICF.cpp",
|
| /openbsd/src/gnu/llvm/llvm/utils/gn/secondary/lld/COFF/ |
| D | BUILD.gn | 38 "ICF.cpp",
|
| /openbsd/src/gnu/llvm/lld/docs/ |
| D | NewLLD.rst | 289 * ICF 293 ICF is an optimization to reduce output size by merging read-only sections 296 they are merged by ICF. It is known as an effective technique, 305 with the linker's default settings, your program should be safe with ICF. 307 On Unix, your program is generally not guaranteed to be safe with ICF, 309 LLD works fine with ICF for example.
|
| /openbsd/src/gnu/llvm/llvm/utils/gn/secondary/lld/ELF/ |
| D | BUILD.gn | 48 "ICF.cpp",
|
| /openbsd/src/gnu/llvm/llvm/lib/Transforms/Scalar/ |
| D | GVN.cpp | 1425 ICF->isDominatedByICFIFromSameBlock(Load); in PerformLoadPRE() 1444 MustEnsureSafetyOfSpeculativeExecution || ICF->hasICF(TmpBB); in PerformLoadPRE() 1649 if (ICF->isDominatedByICFIFromSameBlock(Load)) in performLoopLoadPRE() 2435 ICF->removeUsersOf(I); in processInstruction() 2572 ICF = &ImplicitCFT; in runImpl() 2676 ICF->removeInstruction(I); in processBlock() 2730 ICF->insertInstructionTo(Instr, Pred); in performScalarPREInsertion() 2838 if (ICF->isDominatedByICFIFromSameBlock(CurInst)) in performScalarPRE() 2904 ICF->removeInstruction(CurInst); in performScalarPRE() 2997 ICF->clear(); in cleanupGlobalSets()
|
| /openbsd/src/gnu/llvm/llvm/include/llvm/Analysis/ |
| D | MustExecute.h | 136 mutable ImplicitControlFlowTracking ICF; variable
|
| /openbsd/src/gnu/llvm/llvm/include/llvm/Transforms/Scalar/ |
| D | GVN.h | 227 ImplicitControlFlowTracking *ICF = nullptr;
|
| /openbsd/src/gnu/llvm/llvm/docs/ |
| D | Lexicon.rst | 162 **ICF**
|
| /openbsd/src/gnu/llvm/llvm/utils/gn/build/ |
| D | BUILD.gn | 168 "/OPT:ICF",
|
| /openbsd/src/gnu/llvm/llvm/cmake/modules/ |
| D | HandleLLVMOptions.cmake | 508 # /DEBUG disables linker GC and ICF, but we want those in Release mode. 509 append("/DEBUG /OPT:REF /OPT:ICF"
|
| /openbsd/src/gnu/llvm/clang/docs/tools/ |
| D | clang-formatted-files.txt | 3461 lld/COFF/ICF.h 3485 lld/ELF/ICF.h 3528 lld/MachO/ICF.cpp 3529 lld/MachO/ICF.h
|
| /openbsd/src/gnu/llvm/clang/docs/ |
| D | UsersManual.rst | 2125 file. Address-significance tables allow linkers to implement `safe ICF
|