- Fix SelectionDAG to generate correct CFGs.

- Add a basic machine-level dead block eliminator.

These two have to go together, since many other parts of the code generator are unable to handle the unreachable blocks otherwise created.

llvm-svn: 54333
This commit is contained in:
Owen Anderson
2008-08-04 23:54:43 +00:00
parent 61f67624c3
commit a102290bdc
7 changed files with 128 additions and 11 deletions

View File

@@ -40,6 +40,7 @@ namespace llvm {
bool RealignStack;
bool VerboseAsm;
bool DisableJumpTables;
bool DisableCorrectBranchFolding;
}
static cl::opt<bool, true> PrintCode("print-machineinstrs",
@@ -163,6 +164,11 @@ DisableSwitchTables(cl::Hidden, "disable-jump-tables",
cl::location(DisableJumpTables),
cl::init(false));
static cl::opt<bool, true>
DisableCorrectISelFolding(cl::Hidden, "disable-correct-folding",
cl::desc("Do not perform correct branch folding in the instruction selector."),
cl::location(DisableCorrectBranchFolding), cl::init(false));
//---------------------------------------------------------------------------
// TargetMachine Class
//