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/COFFObjectFile.cpp | |
parent | 75403d7753d59bd1789906a9745508486642127f (diff) | |
download | llvm-14348aa2c5b16e355c6c076bf36fecf7159ed366.zip llvm-14348aa2c5b16e355c6c076bf36fecf7159ed366.tar.gz llvm-14348aa2c5b16e355c6c076bf36fecf7159ed366.tar.bz2 |
[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/COFFObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions