Selecting the address from a very long chain of GEPs can blow the stack.
authorBill Wendling <isanbard@gmail.com>
Tue, 24 Sep 2013 00:13:08 +0000 (00:13 +0000)
committerBill Wendling <isanbard@gmail.com>
Tue, 24 Sep 2013 00:13:08 +0000 (00:13 +0000)
commitcb3023ae51ebf9c11c279607f5c845570220cc4f
tree13da54624291ee69d581b46e43bc6c8e0d4cb424
parent75331656124ddfdc7829b4dd430083e140bd8549
Selecting the address from a very long chain of GEPs can blow the stack.

The recursive nature of the address selection code can cause the stack to
explode if there is a long chain of GEPs. Convert the recursive bit into a
iterative method to avoid this.

<rdar://problem/12445434>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191252 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/X86/X86FastISel.cpp
test/CodeGen/X86/large-gep-chain.ll [new file with mode: 0644]