<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [radeonsi] LLVM runs out of registers during register allocation in Painkiller Hell & Damnation"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=73320#c50">Comment # 50</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - [radeonsi] LLVM runs out of registers during register allocation in Painkiller Hell & Damnation"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=73320">bug 73320</a>
              from <span class="vcard"><a class="email" href="mailto:farmboy0+freedesktop@googlemail.com" title="farmboy0+freedesktop@googlemail.com">farmboy0+freedesktop@googlemail.com</a>
</span></b>
        <pre>This patch on top of llvm git master makes Antichamber segfault with the
following backtrace:

Program received signal SIGSEGV, Segmentation fault.
0xf5054dd3 in std::pair<llvm::SlotIndex, llvm::SlotIndex>::operator=
(this=0x44fd2ff4, __p=...)
    at
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_pair.h:153
153             second = __p.second;
(gdb) bt
#0  0xf5054dd3 in std::pair<llvm::SlotIndex, llvm::SlotIndex>::operator=
(this=0x44fd2ff4, __p=...)
    at
/usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/include/g++-v4/bits/stl_pair.h:153
#1  0xf5064027 in llvm::IntervalMapImpl::NodeBase<std::pair<llvm::SlotIndex,
llvm::SlotIndex>, llvm::LiveInterval*, 16u>::copy<16u> (
    this=0x44e14ef4, Other=..., i=228385, j=228384, Count=4294967295)
    at /mnt/daten/Daten/Repositories/llvm/include/llvm/ADT/IntervalMap.h:231
#2  0xf5064b0f in llvm::IntervalMapImpl::NodeBase<std::pair<llvm::SlotIndex,
llvm::SlotIndex>, llvm::LiveInterval*, 16u>::moveLeft (
    this=0x44e14ef4, i=1, j=0, Count=4294967295) at
/mnt/daten/Daten/Repositories/llvm/include/llvm/ADT/IntervalMap.h:242
#3  0xf50643e3 in llvm::IntervalMapImpl::NodeBase<std::pair<llvm::SlotIndex,
llvm::SlotIndex>, llvm::LiveInterval*, 16u>::erase (
    this=0x44e14ef4, i=0, j=1, Size=0) at
/mnt/daten/Daten/Repositories/llvm/include/llvm/ADT/IntervalMap.h:263
#4  0xf50638d7 in llvm::IntervalMapImpl::NodeBase<std::pair<llvm::SlotIndex,
llvm::SlotIndex>, llvm::LiveInterval*, 16u>::erase (
    this=0x44e14ef4, i=0, Size=0) at
/mnt/daten/Daten/Repositories/llvm/include/llvm/ADT/IntervalMap.h:270
#5  0xf5062950 in llvm::IntervalMap<llvm::SlotIndex, llvm::LiveInterval*, 16u,
llvm::IntervalMapInfo<llvm::SlotIndex> >::iterator::erase (
    this=0xffff6338) at
/mnt/daten/Daten/Repositories/llvm/include/llvm/ADT/IntervalMap.h:1876
#6  0xf5061fa8 in llvm::LiveIntervalUnion::extract (this=0x44e14ef0,
VirtReg=...) at LiveIntervalUnion.cpp:68
#7  0xf506ad51 in llvm::LiveRegMatrix::unassign (this=0xbea0460, VirtReg=...)
at LiveRegMatrix.cpp:96
#8  0xf5123ed7 in (anonymous namespace)::RAGreedy::tryLastChanceRecoloring
(this=0x449f4000, VirtReg=..., Order=..., NewVRegs=..., 
    FixedRegisters=..., Depth=0) at RegAllocGreedy.cpp:2067
#9  0xf51248dc in (anonymous namespace)::RAGreedy::selectOrSplitImpl
(this=0x449f4000, VirtReg=..., NewVRegs=..., FixedRegisters=..., 
    Depth=0) at RegAllocGreedy.cpp:2285
#10 0xf5124218 in (anonymous namespace)::RAGreedy::selectOrSplit
(this=0x449f4000, VirtReg=..., NewVRegs=...) at RegAllocGreedy.cpp:2144
#11 0xf5116c4d in llvm::RegAllocBase::allocatePhysRegs (this=0x449f4010) at
RegAllocBase.cpp:109
#12 0xf5124e05 in (anonymous namespace)::RAGreedy::runOnMachineFunction
(this=0x449f4000, mf=...) at RegAllocGreedy.cpp:2343
#13 0xf50a614f in llvm::MachineFunctionPass::runOnFunction (this=0x449f4000,
F=...) at MachineFunctionPass.cpp:33
#14 0xf4d6434c in llvm::FPPassManager::runOnFunction (this=0x43bd6180, F=...)
at LegacyPassManager.cpp:1545
#15 0xf4d64528 in llvm::FPPassManager::runOnModule (this=0x43bd6180, M=...) at
LegacyPassManager.cpp:1567
#16 0xf4d6482c in (anonymous namespace)::MPPassManager::runOnModule
(this=0x4340b1c0, M=...) at LegacyPassManager.cpp:1625
#17 0xf4d64dcb in llvm::legacy::PassManagerImpl::run (this=0x439dce00, M=...)
at LegacyPassManager.cpp:1734
#18 0xf4d64fbf in llvm::legacy::PassManager::run (this=0xffff6988, M=...) at
LegacyPassManager.cpp:1769
#19 0xf524806d in LLVMTargetMachineEmit (T=0xa61eb40, M=0x43869540, OS=...,
codegen=LLVMObjectFile, ErrorMessage=0xffff6a68)
    at TargetMachineC.cpp:234
#20 0xf5248201 in LLVMTargetMachineEmitToMemoryBuffer (T=0xa61eb40,
M=0x43869540, codegen=LLVMObjectFile, ErrorMessage=0xffff6a68, 
    OutMemBuf=0xffff6a60) at TargetMachineC.cpp:260
#21 0xf5b91734 in radeon_llvm_compile (M=0x43869540, binary=0xffff6af0,
gpu_family=0xf5fab3fd "verde", dump=0) at radeon_llvm_emit.c:148
#22 0xf5b72b17 in si_compile_llvm (sctx=0xc146100, shader=0x44b0c000,
mod=0x43869540) at si_shader.c:2342
#23 0xf5b73811 in si_pipe_shader_create (ctx=0xc146100, shader=0x44b0c000) at
si_shader.c:2622
---Type <return> to continue, or q <return> to quit--- 
#24 0xf5b78acf in si_shader_select (ctx=0xc146100, sel=0x4364e780) at
si_state.c:2130
#25 0xf5b78c0e in si_create_shader_state (ctx=0xc146100, state=0x44afedc8,
pipe_shader_type=1) at si_state.c:2162
#26 0xf5b78c57 in si_create_fs_state (ctx=0xc146100, state=0x44afedc8) at
si_state.c:2174
#27 0xf5d939ae in st_translate_fragment_program (st=0xbf8b000, stfp=0x44c8d700,
key=0xffffb8d0) at state_tracker/st_program.c:787
#28 0xf5d93aa9 in st_get_fp_variant (st=0xbf8b000, stfp=0x44c8d700,
key=0xffffb8d0) at state_tracker/st_program.c:824
#29 0xf5d4f943 in update_fp (st=0xbf8b000) at state_tracker/st_atom_shader.c:92
#30 0xf5d4a421 in st_validate_state (st=0xbf8b000) at
state_tracker/st_atom.c:213
#31 0xf5d6a224 in st_draw_vbo (ctx=0xc290000, prims=0xffffba7c, nr_prims=1,
ib=0xffffba98, index_bounds_valid=1 '\001', min_index=0, 
    max_index=4, tfb_vertcount=0x0, indirect=0x0) at
state_tracker/st_draw.c:198
#32 0xf5d2944f in vbo_handle_primitive_restart (ctx=0xc290000, prim=0xffffba7c,
nr_prims=1, ib=0xffffba98, index_bounds_valid=1 '\001', 
    min_index=0, max_index=4) at vbo/vbo_exec_array.c:591
#33 0xf5d2a015 in vbo_validated_drawrangeelements (ctx=0xc290000, mode=4,
index_bounds_valid=1 '\001', start=0, end=4, count=6, type=5123, 
    indices=0x949d904 <DrawDenormalizedQuad(float, float, float, float, float,
float, float, float, unsigned int, unsigned int, unsigned int, unsigned int,
float)::Indices>, basevertex=0, numInstances=1, baseInstance=0) at
vbo/vbo_exec_array.c:1014
#34 0xf5d2a27e in vbo_exec_DrawRangeElementsBaseVertex (mode=4, start=0, end=4,
count=6, type=5123, 
    indices=0x949d904 <DrawDenormalizedQuad(float, float, float, float, float,
float, float, float, unsigned int, unsigned int, unsigned int, unsigned int,
float)::Indices>, basevertex=0) at vbo/vbo_exec_array.c:1122
#35 0xf5d2a33f in vbo_exec_DrawRangeElements (mode=4, start=0, end=4, count=6,
type=5123, 
    indices=0x949d904 <DrawDenormalizedQuad(float, float, float, float, float,
float, float, float, unsigned int, unsigned int, unsigned int, unsigned int,
float)::Indices>) at vbo/vbo_exec_array.c:1142
#36 0x08baac6b in RHIDrawIndexedPrimitiveUP (VertexDataStride=32,
VertexData=0xffffbba0, IndexDataStride=2, 
    IndexData=0x949d904 <DrawDenormalizedQuad(float, float, float, float,
float, float, float, float, unsigned int, unsigned int, unsigned int, unsigned
int, float)::Indices>, NumPrimitives=2, NumVertices=4, MinVertexIndex=0,
PrimitiveType=0)
    at ../../Development/Src/Engine/Inc/RHIMethods.h:1658
#37 DrawDenormalizedQuad (X=0, Y=0, SizeX=420, SizeY=247, U=0, V=0, SizeU=420,
SizeV=247, TargetSizeX=TargetSizeX@entry=422, 
    TargetSizeY=258, TextureSizeX=TextureSizeX@entry=422, TextureSizeY=258,
ClipSpaceQuadZ=ClipSpaceQuadZ@entry=0)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/SceneFilterRendering.cpp:199
#38 0x08b76416 in ApplyRadialBlur (SourceFilterBuffer=SRTI_FilterColor1,
DestFilterBuffer=SRTI_FilterColor0, BlurVectorScale=1, 
    LightSceneInfo=0x4307b000, View=...)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/LightShaftRendering.cpp:872
#39 FSceneRenderer::RenderLightShafts (this=this@entry=0x44affb00)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/LightShaftRendering.cpp:1113
#40 0x08bb6500 in FSceneRenderer::RenderDPGEnd (this=this@entry=0x44affb00,
DPGIndex=DPGIndex@entry=1, 
    bDeferPrePostProcessResolve=bDeferPrePostProcessResolve@entry=1,
bSceneColorDirty=@0xffffbee0: 1, bIsOcclusionTesting=1)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/SceneRendering.cpp:2194
---Type <return> to continue, or q <return> to quit---
#41 0x08bc15ee in FSceneRenderer::Render (this=this@entry=0x44affb00)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/SceneRendering.cpp:2670
#42 0x08bc16c4 in RenderViewFamily_RenderThread
(SceneRenderer=SceneRenderer@entry=0x44affb00)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/SceneRendering.cpp:4166
#43 0x08bc1877 in Execute (this=<synthetic pointer>)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/SceneRendering.cpp:4381
#44 BeginRenderingViewFamily (Canvas=0xffffc604, ViewFamily=0xffffc450)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/SceneRendering.cpp:4381
#45 0x0882652e in UGameViewportClient::Draw (this=0xbf341c0,
Viewport=0x9fb4c04, Canvas=0xffffc604)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/UnPlayer.cpp:1081
#46 0x08564935 in FViewport::Draw (this=0x9fb4c04,
bShouldPresent=bShouldPresent@entry=1)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/UnClient.cpp:823
#47 0x08643249 in UGameEngine::RedrawViewports (this=0xb201800,
bShouldPresent=1)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/UnGame.cpp:76
#48 0x08649ae5 in UGameEngine::Tick (this=0xb201800, DeltaSeconds=0.0484998226)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Engine/Src/UnGame.cpp:4249
#49 0x08e7b6a2 in FEngineLoop::Tick (this=this@entry=0x95c6900 <GEngineLoop>)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Launch/Src/LaunchEngineLoop.cpp:3970
#50 0x08e8328c in EngineTick ()
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Launch/Src/Launch.cpp:193
#51 GuardedMain (CmdLine=0x90cfaf0 L"", hInInstance=hInInstance@entry=0x0,
hPrevInstance=hPrevInstance@entry=0x0, 
    nCmdShow=nCmdShow@entry=0)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Launch/Src/Launch.cpp:290
#52 0x08e37f7d in main (argc=1, argv=0xffffcb34)
    at
/samba/ue3builds/DONKEY/projects/minority/UE3/Development/Src/../../Development/Src/Linux/Src/Linux.cpp:727</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>