[llvm-bugs] [Bug 33072] New: Exponential code growth while inlining internal functions
llvm-bugs at lists.llvm.org
Wed May 17 08:54:41 PDT 2017
Bug ID: 33072
Summary: Exponential code growth while inlining internal
Component: Interprocedural Optimizations
Assignee: unassignedbugs at nondot.org
Reporter: arielb1 at mail.tau.ac.il
CC: llvm-bugs at lists.llvm.org
Created attachment 18456
File running 4^7 iterations of Collatz's Conjecture, which expands to 45kLoIR
It appears that under some situations I don't fully understand (e.g. the
attached example, which expands to over 45k lines of IR), LLVM can "deeply
inline" a tree of internal functions, causing exponential IR growth.
This was originally reported as https://github.com/rust-lang/rust/issues/41696.
Confirmed on Rust's LLVM 4.0 and Debian's LLVM 3.9 - I don't have a trunk LLVM
ready right now.
$ wc -l sloline.cu.ll
$ opt -S -inline sloline.cu.ll | wc -l
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-bugs