1fe6060f1SDimitry Andric //===- ICF.h ----------------------------------------------------*- C++ -*-===// 2fe6060f1SDimitry Andric // 3fe6060f1SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4fe6060f1SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5fe6060f1SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6fe6060f1SDimitry Andric // 7fe6060f1SDimitry Andric //===----------------------------------------------------------------------===// 8fe6060f1SDimitry Andric 9fe6060f1SDimitry Andric #ifndef LLD_MACHO_ICF_H 10fe6060f1SDimitry Andric #define LLD_MACHO_ICF_H 11fe6060f1SDimitry Andric 1281ad6265SDimitry Andric #include "InputFiles.h" 13fe6060f1SDimitry Andric #include "lld/Common/LLVM.h" 14fe6060f1SDimitry Andric #include <vector> 15fe6060f1SDimitry Andric 16*bdd1243dSDimitry Andric namespace lld::macho { 1781ad6265SDimitry Andric class Symbol; 18fe6060f1SDimitry Andric 1981ad6265SDimitry Andric void markAddrSigSymbols(); 2081ad6265SDimitry Andric void markSymAsAddrSig(Symbol *s); 21fcaf7f86SDimitry Andric void foldIdenticalSections(bool onlyCfStrings); 22fe6060f1SDimitry Andric 23*bdd1243dSDimitry Andric } // namespace lld::macho 24fe6060f1SDimitry Andric 25fe6060f1SDimitry Andric #endif 26