ExecutionEngine blew the stack ?

(resending with smaller attachement)

Segfault in EE->getPointerToFunction.
I think it's blown the stack, gdb reports a never ending backtrace (below).

I generate llvm assembly and parse/verify OK.
Attached is the assembly. It is the smallest example
generated that causes the segfault.

If this EE uses a recursive function (??), it seems an inherent limitation
in how big llvm functions can be.

Simon.

gdb backtrace:
#0 0x40b126a3 in (anonymous namespace)::X86DAGToDAGISel::Select_store(llvm::SDOperand&, llvm::SDOperand) (this=0x822d660,
    Result=@0xbf800a10, N={Val = 0x8254338, ResNo = 0}) at X86GenDAGISel.inc:19768
#1 0x40b01b44 in (anonymous namespace)::X86DAGToDAGISel::SelectCode(llvm::SDOperand&, llvm::SDOperand) (this=0x822d660,
    Result=@0xbf800a10, N={Val = 0x8254338, ResNo = 0}) at X86GenDAGISel.inc:27833
#2 0x40ada64f in (anonymous namespace)::X86DAGToDAGISel::Select(llvm::SDOperand&, llvm::SDOperand) (this=0x822d660,
    Result=@0xbf800a10, N={Val = 0x8254338, ResNo = 0}) at X86ISelDAGToDAG.cpp:835
#3 0x40b00bb4 in (anonymous namespace)::X86DAGToDAGISel::SelectCode(llvm::SDOperand&, llvm::SDOperand) (this=0x822d660,
    Result=@0xbf800d28, N={Val = 0x8254458, ResNo = 0}) at X86GenDAGISel.inc:27686
#4 0x40ada64f in (anonymous namespace)::X86DAGToDAGISel::Select(llvm::SDOperand&, llvm::SDOperand) (this=0x822d660,
    Result=@0xbf800d28, N={Val = 0x8254458, ResNo = 0}) at X86ISelDAGToDAG.cpp:835
#5 0x40b9886e in (anonymous namespace)::X86DAGToDAGISel::Select_X86call(llvm::SDOperand&, llvm::SDOperand) (
    this=0x822d660, Result=@0xbf801098, N={Val = 0x82544d0, ResNo = 0}) at X86GenDAGISel.inc:658
#6 0x40b01391 in (anonymous namespace)::X86DAGToDAGISel::SelectCode(llvm::SDOperand&, llvm::SDOperand) (this=0x822d660,
    Result=@0xbf801098, N={Val = 0x82544d0, ResNo = 0}) at X86GenDAGISel.inc:27760
#7 0x40ada64f in (anonymous namespace)::X86DAGToDAGISel::Select(llvm::SDOperand&, llvm::SDOperand) (this=0x822d660,
    Result=@0xbf801098, N={Val = 0x82544d0, ResNo = 0}) at X86ISelDAGToDAG.cpp:835

etc....

dump.ll.gz (4.46 KB)