brintos

brintos / llvm-project-archived public Read only

0
0
Text · 967 B · e382fd6 Raw
32 lines · c
1//===- ICF.h ----------------------------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLD_MACHO_ICF_H10#define LLD_MACHO_ICF_H11 12#include "InputFiles.h"13#include "lld/Common/LLVM.h"14#include <vector>15 16namespace lld::macho {17class Symbol;18class Defined;19 20void markAddrSigSymbols();21void markSymAsAddrSig(Symbol *s);22void foldIdenticalSections(bool onlyCfStrings);23 24// Given a symbol that was folded into a thunk, return the symbol pointing to25// the actual body of the function. We expose this function to allow getting the26// main function body for a symbol that was folded via a thunk.27Defined *getBodyForThunkFoldedSym(Defined *foldedSym);28 29} // namespace lld::macho30 31#endif32