diff options
author | Chris Lattner <sabre@nondot.org> | 2003-10-13 16:44:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-10-13 16:44:50 +0000 |
commit | 951e7329e81eb176329a7fd5c91b00a9ee7dc62e (patch) | |
tree | e2efdab8077bda26a2585ac21f8e1d1c9ef48c63 /llvm/lib/Transforms | |
parent | a3244bbefd8d7a4d7258ae5bb87830f8807027e1 (diff) | |
download | bcm5719-llvm-951e7329e81eb176329a7fd5c91b00a9ee7dc62e.tar.gz bcm5719-llvm-951e7329e81eb176329a7fd5c91b00a9ee7dc62e.zip |
Use external df iterators to avoid revisiting blocks in functions with
multiple setjmp calls.
llvm-svn: 9093
Diffstat (limited to 'llvm/lib/Transforms')
-rw-r--r-- | llvm/lib/Transforms/IPO/LowerSetJmp.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/IPO/LowerSetJmp.cpp b/llvm/lib/Transforms/IPO/LowerSetJmp.cpp index 36f06bd607f..5be2514a4ea 100644 --- a/llvm/lib/Transforms/IPO/LowerSetJmp.cpp +++ b/llvm/lib/Transforms/IPO/LowerSetJmp.cpp @@ -137,7 +137,9 @@ bool LowerSetJmp::run(Module& M) for (Value::use_iterator B = SetJmp->use_begin(), E = SetJmp->use_end(); B != E; ++B) { BasicBlock* BB = cast<Instruction>(*B)->getParent(); - DFSBlocks.insert(df_begin(BB), df_end(BB)); + for (df_ext_iterator<BasicBlock*> I = df_ext_begin(BB, BBSet), + E = df_ext_end(BB, BBSet); I != E; ++I) + /* empty */; } while (!SetJmp->use_empty()) { |