mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-28 06:00:28 +00:00
Make EH work with unnamed functions. Reenable running
StripSymbols when EH is on. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49110 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
d761480fe4
commit
dedf502fba
@ -198,8 +198,10 @@ bool AsmPrinter::doFinalization(Module &M) {
|
||||
|
||||
std::string AsmPrinter::getCurrentFunctionEHName(const MachineFunction *MF) {
|
||||
assert(MF && "No machine function?");
|
||||
return Mang->makeNameProper(MF->getFunction()->getName() + ".eh",
|
||||
TAI->getGlobalPrefix());
|
||||
std::string Name = MF->getFunction()->getName();
|
||||
if (Name.empty())
|
||||
Name = Mang->getValueName(MF->getFunction());
|
||||
return Mang->makeNameProper(Name + ".eh", TAI->getGlobalPrefix());
|
||||
}
|
||||
|
||||
void AsmPrinter::SetupMachineFunction(MachineFunction &MF) {
|
||||
|
@ -303,10 +303,7 @@ LTO::optimize(Module *M, std::ostream &Out,
|
||||
// If the -s command line option was specified, strip the symbols out of the
|
||||
// resulting program to make it smaller. -s is a GLD option that we are
|
||||
// supporting.
|
||||
if(!ExceptionHandling)
|
||||
// FIXME : This causes multiple nameless _.eh symbols on
|
||||
// darwin when EH is ON.
|
||||
Passes.add(createStripSymbolsPass());
|
||||
Passes.add(createStripSymbolsPass());
|
||||
|
||||
// Propagate constants at call sites into the functions they call.
|
||||
Passes.add(createIPConstantPropagationPass());
|
||||
|
Loading…
Reference in New Issue
Block a user