Flag to control exception handling.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33628 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Jim Laskey 2007-01-29 20:48:32 +00:00
parent f82aa1cf73
commit 1b340dc8e2
3 changed files with 14 additions and 2 deletions

View File

@ -59,6 +59,11 @@ namespace llvm {
/// .bss section. This flag disables such behaviour (necessary, e.g. for
/// crt*.o compiling).
extern bool NoZerosInBSS;
/// ExceptionHandling - This flag indicates that exception information should
/// be emitted.
extern bool ExceptionHandling;
} // End llvm namespace
#endif

View File

@ -29,8 +29,9 @@
#include "llvm/Target/TargetAsmInfo.h"
#include "llvm/Target/MRegisterInfo.h"
#include "llvm/Target/TargetData.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetFrameInfo.h"
#include "llvm/Target/TargetMachine.h"
#include "llvm/Target/TargetOptions.h"
#include <ostream>
#include <string>
using namespace llvm;
@ -2675,7 +2676,7 @@ public:
/// manager has created it. Set by the target AsmPrinter.
void SetModuleInfo(MachineModuleInfo *mmi) {
// Make sure initial declarations are made.
if (!MMI && TAI->getSupportsExceptionHandling()) {
if (!MMI && ExceptionHandling && TAI->getSupportsExceptionHandling()) {
MMI = mmi;
shouldEmit = true;
}

View File

@ -29,6 +29,7 @@ namespace llvm {
bool FiniteOnlyFPMathOption;
bool UseSoftFloat;
bool NoZerosInBSS;
bool ExceptionHandling;
Reloc::Model RelocationModel;
CodeModel::Model CMModel;
}
@ -67,6 +68,11 @@ namespace {
cl::desc("Don't place zero-initialized symbols into bss section"),
cl::location(NoZerosInBSS),
cl::init(false));
cl::opt<bool, true>
EnableExceptionHandling("exception-handling",
cl::desc("Exception handling should be emitted."),
cl::location(ExceptionHandling),
cl::init(false));
cl::opt<llvm::Reloc::Model, true>
DefRelocationModel(