mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
This was being done at an odd point in the frontend presumably because by that point the private discriminator had been fully computed. Instead, push the conditions for generating the prefix data down to debug info generation and stop mutating IRGenOptions::DebugFlag in the frontend.
47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
//===--- IRGenPublic.h - Public interface to IRGen --------------*- C++ -*-===//
|
|
//
|
|
// This source file is part of the Swift.org open source project
|
|
//
|
|
// Copyright (c) 2014 - 2017 Apple Inc. and the Swift project authors
|
|
// Licensed under Apache License v2.0 with Runtime Library Exception
|
|
//
|
|
// See https://swift.org/LICENSE.txt for license information
|
|
// See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
#ifndef SWIFT_IRGEN_IRGENPUBLIC_H
|
|
#define SWIFT_IRGEN_IRGENPUBLIC_H
|
|
|
|
namespace llvm {
|
|
class LLVMContext;
|
|
template<typename T, unsigned N> class SmallVector;
|
|
}
|
|
|
|
namespace swift {
|
|
class ASTContext;
|
|
class LinkLibrary;
|
|
class SILModule;
|
|
|
|
namespace irgen {
|
|
|
|
class IRGenerator;
|
|
class IRGenModule;
|
|
|
|
/// Create an IRGen module.
|
|
std::pair<IRGenerator *, IRGenModule *>
|
|
createIRGenModule(SILModule *SILMod, StringRef OutputFilename,
|
|
StringRef MainInputFilenameForDebugInfo,
|
|
StringRef PrivateDiscriminator,
|
|
llvm::LLVMContext &LLVMContext);
|
|
|
|
/// Delete the IRGenModule and IRGenerator obtained by the above call.
|
|
void deleteIRGenModule(std::pair<IRGenerator *, IRGenModule *> &Module);
|
|
|
|
/// Gets the ABI version number that'll be set as a flag in the module.
|
|
uint32_t getSwiftABIVersion();
|
|
|
|
} // end namespace irgen
|
|
} // end namespace swift
|
|
|
|
#endif
|