diff options
| author | Akira Hatanaka <ahatanaka@apple.com> | 2015-06-24 20:34:35 +0000 |
|---|---|---|
| committer | Akira Hatanaka <ahatanaka@apple.com> | 2015-06-24 20:34:35 +0000 |
| commit | 14348aa2c5b16e355c6c076bf36fecf7159ed366 (patch) | |
| tree | e876bda9f24129ca9dfbfa4cbd0af8d2badf6040 /llvm/lib/Object/Archive.cpp | |
| parent | 75403d7753d59bd1789906a9745508486642127f (diff) | |
| download | bcm5719-llvm-14348aa2c5b16e355c6c076bf36fecf7159ed366.tar.gz bcm5719-llvm-14348aa2c5b16e355c6c076bf36fecf7159ed366.zip | |
[If Converter] Convert recursion to iteration.
This commit makes changes to IfConverter::AnalyzeBlock to use iteration instead
of recursion. Previously, this function would get called recursively a large
number of times and eventually segfault when a function with the following CFG
was compiled:
BB0:
if (condition0)
goto BB1
goto BB2
BB1:
goto BB2
BB2:
if (condition1)
goto BB3
goto BB4
BB3:
...
(repeat until BB7488)
rdar://problem/21386145
Differential Revision: http://reviews.llvm.org/D10587
llvm-svn: 240589
Diffstat (limited to 'llvm/lib/Object/Archive.cpp')
0 files changed, 0 insertions, 0 deletions

