diff options
| author | Bill Wendling <isanbard@gmail.com> | 2009-04-29 00:15:41 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2009-04-29 00:15:41 +0000 |
| commit | be8cc2a3dedeb7685f07e68cdc4b9502eb97eb2b (patch) | |
| tree | 61b5516b5232ee39d0cfb04473b2cc8076464a1c /lib/CodeGen/AsmPrinter | |
| parent | a24d1b155831d25f543e0e4ece9b572cefda2f17 (diff) | |
Second attempt:
Massive check in. This changes the "-fast" flag to "-O#" in llc. If you want to
use the old behavior, the flag is -O0. This change allows for finer-grained
control over which optimizations are run at different -O levels.
Most of this work was pretty mechanical. The majority of the fixes came from
verifying that a "fast" variable wasn't used anymore. The JIT still uses a
"Fast" flag. I'll change the JIT with a follow-up patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70343 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/AsmPrinter')
| -rw-r--r-- | lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 4 | ||||
| -rw-r--r-- | lib/CodeGen/AsmPrinter/DwarfWriter.cpp | 10 |
2 files changed, 7 insertions, 7 deletions
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index a815aabe5c..e0a526c372 100644 --- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -42,8 +42,8 @@ AsmVerbose("asm-verbose", cl::desc("Add comments to directives."), char AsmPrinter::ID = 0; AsmPrinter::AsmPrinter(raw_ostream &o, TargetMachine &tm, - const TargetAsmInfo *T, bool F, bool VDef) - : MachineFunctionPass(&ID), FunctionNumber(0), Fast(F), O(o), + const TargetAsmInfo *T, unsigned OL, bool VDef) + : MachineFunctionPass(&ID), FunctionNumber(0), OptLevel(OL), O(o), TM(tm), TAI(T), TRI(tm.getRegisterInfo()), IsInTextSection(false) { diff --git a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp index 73326135a6..5d6a70f622 100644 --- a/lib/CodeGen/AsmPrinter/DwarfWriter.cpp +++ b/lib/CodeGen/AsmPrinter/DwarfWriter.cpp @@ -3351,7 +3351,7 @@ public: } /// ValidDebugInfo - Return true if V represents valid debug info value. - bool ValidDebugInfo(Value *V, bool FastISel) { + bool ValidDebugInfo(Value *V, unsigned OptLevel) { if (!V) return false; @@ -3393,7 +3393,7 @@ public: case DW_TAG_lexical_block: /// FIXME. This interfers with the qualitfy of generated code when /// during optimization. - if (FastISel == false) + if (OptLevel != 0) return false; default: break; @@ -3574,7 +3574,7 @@ public: return 0; SmallVector<DbgScope *, 2> &Scopes = I->second; - if (Scopes.empty()) return 0; + assert(!Scopes.empty() && "We should have at least one debug scope!"); DbgScope *Scope = Scopes.back(); Scopes.pop_back(); unsigned ID = MMI->NextLabelID(); MMI->RecordUsedDbgLabel(ID); @@ -4731,8 +4731,8 @@ void DwarfWriter::EndFunction(MachineFunction *MF) { } /// ValidDebugInfo - Return true if V represents valid debug info value. -bool DwarfWriter::ValidDebugInfo(Value *V, bool FastISel) { - return DD && DD->ValidDebugInfo(V, FastISel); +bool DwarfWriter::ValidDebugInfo(Value *V, unsigned OptLevel) { + return DD && DD->ValidDebugInfo(V, OptLevel); } /// RecordSourceLine - Records location information and associates it with a |
