Created
May 8, 2023 04:09
-
-
Save MilesCranmer/f229c5eccfe852f765a4f70c94bcbd7d to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
┌ Warning: Recursive type | |
│ T = Node{Float64} | |
└ @ Enzyme /dev/shm/.julia/packages/GPUCompiler/BxfIW/src/utils.jl:56 | |
warning: didn't implement memmove, using memcpy as fallback which can result in errors | |
module: ; ModuleID = 'start' | |
source_filename = "start" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128-ni:10:11:12:13" | |
target triple = "x86_64-linux-gnu" | |
@_j_str1 = private unnamed_addr constant [11 x i8] c"typeassert\00" | |
; Function Attrs: noinline noreturn | |
define internal fastcc void @julia_throw_boundserror_2095({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0, { i64, [1 x [1 x i64]] } addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %1) unnamed_addr #0 !dbg !35 { | |
top: | |
%2 = call {}*** @julia.get_pgcstack() | |
%current_task12 = getelementptr inbounds {}**, {}*** %2, i64 -13, !dbg !38 | |
%current_task1 = bitcast {}*** %current_task12 to {}**, !dbg !38 | |
%3 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 16, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139804285286288 to {}*) to {} addrspace(10)*)) #49, !dbg !38 | |
%4 = bitcast {} addrspace(10)* %3 to i8 addrspace(10)*, !dbg !38 | |
%5 = bitcast { i64, [1 x [1 x i64]] } addrspace(11)* %1 to i8 addrspace(11)*, !dbg !38 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(16) %4, i8 addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %5, i64 noundef 16, i1 noundef false), !dbg !38, !tbaa !39, !alias.scope !42, !noalias !46 | |
%6 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809714384304 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809580337200 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %0, {} addrspace(10)* nonnull %3) #50, !dbg !38 | |
%7 = addrspacecast {} addrspace(10)* %6 to {} addrspace(12)*, !dbg !38 | |
call void @ijl_throw({} addrspace(12)* %7) #51, !dbg !38 | |
unreachable, !dbg !38 | |
} | |
; Function Attrs: nofree readnone | |
declare {}*** @julia.get_pgcstack() local_unnamed_addr #1 | |
; Function Attrs: nofree | |
declare nonnull {} addrspace(10)* @ijl_invoke({} addrspace(10)*, {} addrspace(10)** nocapture readonly, i32, {} addrspace(10)*) #2 | |
declare nonnull {} addrspace(10)* @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) local_unnamed_addr #3 | |
; Function Attrs: inaccessiblememonly allocsize(1) | |
declare noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}**, i64, {} addrspace(10)*) local_unnamed_addr #4 | |
; Function Attrs: argmemonly nofree nounwind willreturn | |
declare void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noalias nocapture writeonly, i8 addrspace(11)* noalias nocapture readonly, i64, i1 immarg) #5 | |
; Function Attrs: noreturn | |
declare void @ijl_throw({} addrspace(12)*) local_unnamed_addr #6 | |
; Function Attrs: cold noreturn nounwind | |
declare void @llvm.trap() #7 | |
; Function Attrs: inaccessiblememonly nofree | |
declare noalias nonnull {} addrspace(10)* @ijl_box_int64(i64 signext) local_unnamed_addr #8 | |
; Function Attrs: nofree noinline nosync readonly | |
define internal fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %0, i64 signext %1, i64 signext %2, i64 signext %3) unnamed_addr #9 !dbg !52 { | |
top: | |
%4 = call {}*** @julia.get_pgcstack() | |
%.not = icmp eq i64 %2, %1, !dbg !53 | |
br i1 %.not, label %L3, label %L5, !dbg !56 | |
L28.common.ret.loopexit_crit_edge.unr-lcssa: ; preds = %L32, %L32.lr.ph | |
%.lcssa.ph = phi double [ undef, %L32.lr.ph ], [ %69, %L32 ] | |
%value_phi216.unr = phi i64 [ 0, %L32.lr.ph ], [ %unroll_iter, %L32 ] | |
%value_phi115.unr = phi double [ %25, %L32.lr.ph ], [ %69, %L32 ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !57 | |
br i1 %lcmp.mod.not, label %common.ret, label %L32.epil, !dbg !57 | |
L32.epil: ; preds = %L28.common.ret.loopexit_crit_edge.unr-lcssa, %L32.epil | |
%value_phi216.epil = phi i64 [ %9, %L32.epil ], [ %value_phi216.unr, %L28.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%value_phi115.epil = phi double [ %8, %L32.epil ], [ %value_phi115.unr, %L28.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter = phi i64 [ %epil.iter.next, %L32.epil ], [ 0, %L28.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%5 = add i64 %value_phi216.epil, %27, !dbg !61 | |
%6 = getelementptr inbounds double, double addrspace(13)* %20, i64 %5, !dbg !61 | |
%7 = load double, double addrspace(13)* %6, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%8 = fadd fast double %7, %value_phi115.epil, !dbg !72 | |
%9 = add nuw nsw i64 %value_phi216.epil, 1, !dbg !78 | |
%epil.iter.next = add nuw nsw i64 %epil.iter, 1, !dbg !57 | |
%epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter, !dbg !57 | |
br i1 %epil.iter.cmp.not, label %common.ret, label %L32.epil, !dbg !57, !llvm.loop !82 | |
common.ret: ; preds = %L32.epil, %L28.common.ret.loopexit_crit_edge.unr-lcssa, %L8, %L59, %L3 | |
%common.ret.op = phi double [ %15, %L3 ], [ %76, %L59 ], [ %25, %L8 ], [ %.lcssa.ph, %L28.common.ret.loopexit_crit_edge.unr-lcssa ], [ %8, %L32.epil ] | |
ret double %common.ret.op, !dbg !84 | |
L3: ; preds = %top | |
%10 = add i64 %2, -1, !dbg !85 | |
%11 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !85 | |
%12 = addrspacecast double addrspace(13)* addrspace(10)* %11 to double addrspace(13)* addrspace(11)*, !dbg !85 | |
%13 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %12, align 8, !dbg !85, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%14 = getelementptr inbounds double, double addrspace(13)* %13, i64 %10, !dbg !85 | |
%15 = load double, double addrspace(13)* %14, align 8, !dbg !85, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %common.ret | |
L5: ; preds = %top | |
%16 = sub i64 %2, %1, !dbg !92 | |
%.not11 = icmp slt i64 %16, %3, !dbg !95 | |
br i1 %.not11, label %L8, label %L59, !dbg !94 | |
L8: ; preds = %L5 | |
%17 = add i64 %1, -1, !dbg !97 | |
%18 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !97 | |
%19 = addrspacecast double addrspace(13)* addrspace(10)* %18 to double addrspace(13)* addrspace(11)*, !dbg !97 | |
%20 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %19, align 8, !dbg !97, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%21 = getelementptr inbounds double, double addrspace(13)* %20, i64 %17, !dbg !97 | |
%22 = load double, double addrspace(13)* %21, align 8, !dbg !97, !tbaa !67, !alias.scope !70, !noalias !71 | |
%23 = getelementptr inbounds double, double addrspace(13)* %20, i64 %1, !dbg !99 | |
%24 = load double, double addrspace(13)* %23, align 8, !dbg !99, !tbaa !67, !alias.scope !70, !noalias !71 | |
%25 = fadd double %22, %24, !dbg !101 | |
%26 = add i64 %1, 2, !dbg !104 | |
%.not12 = icmp sgt i64 %26, %2, !dbg !106 | |
%27 = add i64 %1, 1, !dbg !111 | |
%value_phi = select i1 %.not12, i64 %27, i64 %2, !dbg !111 | |
%28 = sub i64 %value_phi, %26, !dbg !118 | |
%29 = add i64 %28, 1, !dbg !124 | |
%30 = icmp ugt i64 %28, 9223372036854775806, !dbg !125 | |
br i1 %30, label %common.ret, label %L32.lr.ph, !dbg !126 | |
L32.lr.ph: ; preds = %L8 | |
%xtraiter = and i64 %29, 7, !dbg !57 | |
%31 = icmp ult i64 %28, 7, !dbg !57 | |
br i1 %31, label %L28.common.ret.loopexit_crit_edge.unr-lcssa, label %L32.lr.ph.new, !dbg !57 | |
L32.lr.ph.new: ; preds = %L32.lr.ph | |
%unroll_iter = and i64 %29, 9223372036854775800, !dbg !57 | |
%32 = add i64 %1, 3 | |
%33 = add i64 %1, 4 | |
%34 = add i64 %1, 5 | |
%35 = add i64 %1, 6 | |
%36 = add i64 %1, 7 | |
%37 = add i64 %1, 8 | |
br label %L32, !dbg !57 | |
L32: ; preds = %L32, %L32.lr.ph.new | |
%value_phi216 = phi i64 [ 0, %L32.lr.ph.new ], [ %70, %L32 ] | |
%value_phi115 = phi double [ %25, %L32.lr.ph.new ], [ %69, %L32 ] | |
%38 = add i64 %value_phi216, %27, !dbg !61 | |
%39 = getelementptr inbounds double, double addrspace(13)* %20, i64 %38, !dbg !61 | |
%40 = load double, double addrspace(13)* %39, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%41 = fadd fast double %40, %value_phi115, !dbg !72 | |
%42 = add i64 %26, %value_phi216, !dbg !61 | |
%43 = getelementptr inbounds double, double addrspace(13)* %20, i64 %42, !dbg !61 | |
%44 = load double, double addrspace(13)* %43, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%45 = fadd fast double %41, %44, !dbg !72 | |
%46 = add i64 %32, %value_phi216, !dbg !61 | |
%47 = getelementptr inbounds double, double addrspace(13)* %20, i64 %46, !dbg !61 | |
%48 = load double, double addrspace(13)* %47, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%49 = fadd fast double %45, %48, !dbg !72 | |
%50 = add i64 %33, %value_phi216, !dbg !61 | |
%51 = getelementptr inbounds double, double addrspace(13)* %20, i64 %50, !dbg !61 | |
%52 = load double, double addrspace(13)* %51, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%53 = fadd fast double %49, %52, !dbg !72 | |
%54 = add i64 %34, %value_phi216, !dbg !61 | |
%55 = getelementptr inbounds double, double addrspace(13)* %20, i64 %54, !dbg !61 | |
%56 = load double, double addrspace(13)* %55, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%57 = fadd fast double %53, %56, !dbg !72 | |
%58 = add i64 %35, %value_phi216, !dbg !61 | |
%59 = getelementptr inbounds double, double addrspace(13)* %20, i64 %58, !dbg !61 | |
%60 = load double, double addrspace(13)* %59, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%61 = fadd fast double %57, %60, !dbg !72 | |
%62 = add i64 %36, %value_phi216, !dbg !61 | |
%63 = getelementptr inbounds double, double addrspace(13)* %20, i64 %62, !dbg !61 | |
%64 = load double, double addrspace(13)* %63, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%65 = fadd fast double %61, %64, !dbg !72 | |
%66 = add i64 %37, %value_phi216, !dbg !61 | |
%67 = getelementptr inbounds double, double addrspace(13)* %20, i64 %66, !dbg !61 | |
%68 = load double, double addrspace(13)* %67, align 8, !dbg !61, !tbaa !67, !alias.scope !70, !noalias !71 | |
%69 = fadd fast double %65, %68, !dbg !72 | |
%70 = add nuw nsw i64 %value_phi216, 8, !dbg !78 | |
%niter.ncmp.7.not = icmp eq i64 %70, %unroll_iter, !dbg !57 | |
br i1 %niter.ncmp.7.not, label %L28.common.ret.loopexit_crit_edge.unr-lcssa, label %L32, !dbg !57, !llvm.loop !127 | |
L59: ; preds = %L5 | |
%71 = ashr i64 %16, 1, !dbg !128 | |
%72 = add i64 %71, %1, !dbg !132 | |
%73 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %0, i64 signext %1, i64 signext %72, i64 signext %3) #52, !dbg !133 | |
%74 = add i64 %72, 1, !dbg !134 | |
%75 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %0, i64 signext %74, i64 signext %2, i64 signext %3) #52, !dbg !135 | |
%76 = fadd double %73, %75, !dbg !136 | |
br label %common.ret | |
} | |
; Function Attrs: noinline noreturn | |
define internal fastcc void @julia_throwdm_2056([1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %0, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %1) unnamed_addr #10 !dbg !139 { | |
top: | |
%2 = call {}*** @julia.get_pgcstack() | |
%current_task14 = getelementptr inbounds {}**, {}*** %2, i64 -13, !dbg !140 | |
%current_task1 = bitcast {}*** %current_task14 to {}**, !dbg !140 | |
%3 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809558626240 to {}*) to {} addrspace(10)*)) #49, !dbg !140 | |
%4 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %0, i64 0, i64 0, i64 0, !dbg !140 | |
%5 = bitcast {} addrspace(10)* %3 to i64 addrspace(10)*, !dbg !140 | |
%6 = load i64, i64 addrspace(11)* %4, align 8, !dbg !140, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144 | |
store i64 %6, i64 addrspace(10)* %5, align 8, !dbg !140, !tbaa !145, !alias.scope !70, !noalias !148 | |
%7 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809558626240 to {}*) to {} addrspace(10)*)) #49, !dbg !140 | |
%8 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %1, i64 0, i64 0, i64 0, !dbg !140 | |
%9 = bitcast {} addrspace(10)* %7 to i64 addrspace(10)*, !dbg !140 | |
%10 = load i64, i64 addrspace(11)* %8, align 8, !dbg !140, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144 | |
store i64 %10, i64 addrspace(10)* %9, align 8, !dbg !140, !tbaa !145, !alias.scope !70, !noalias !148 | |
%11 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809558633216 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809496386432 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809555797472 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %3, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809555797408 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %7) #50, !dbg !140 | |
%12 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809549581744 to {}*) to {} addrspace(10)*)) #49, !dbg !140 | |
%13 = bitcast {} addrspace(10)* %12 to {} addrspace(10)* addrspace(10)*, !dbg !140 | |
store {} addrspace(10)* %11, {} addrspace(10)* addrspace(10)* %13, align 8, !dbg !140, !tbaa !145, !alias.scope !70, !noalias !148 | |
%14 = addrspacecast {} addrspace(10)* %12 to {} addrspace(12)*, !dbg !140 | |
call void @ijl_throw({} addrspace(12)* %14) #51, !dbg !140 | |
unreachable, !dbg !140 | |
} | |
define internal fastcc i64 @julia_count_constants_2110({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %0) unnamed_addr #11 !dbg !149 { | |
top: | |
%1 = call {}*** @julia.get_pgcstack() | |
%2 = bitcast {} addrspace(10)* %0 to i64 addrspace(10)*, !dbg !150 | |
%3 = addrspacecast i64 addrspace(10)* %2 to i64 addrspace(11)*, !dbg !150 | |
%4 = load i64, i64 addrspace(11)* %3, align 8, !dbg !150, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %4, label %L15 [ | |
i64 0, label %L4 | |
i64 1, label %L11 | |
], !dbg !153 | |
L4: ; preds = %top | |
%5 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !156 | |
%6 = addrspacecast i8 addrspace(10)* %5 to i8 addrspace(11)*, !dbg !156 | |
%7 = getelementptr inbounds i8, i8 addrspace(11)* %6, i64 8, !dbg !156 | |
%8 = load i8, i8 addrspace(11)* %7, align 8, !dbg !156, !tbaa !154, !alias.scope !70, !noalias !71 | |
%9 = and i8 %8, 1, !dbg !156 | |
%10 = zext i8 %9 to i64 | |
br label %common.ret | |
common.ret: ; preds = %L4, %pass4, %pass | |
%common.ret.op = phi i64 [ %21, %pass ], [ %27, %pass4 ], [ %10, %L4 ] | |
ret i64 %common.ret.op, !dbg !158 | |
L11: ; preds = %top | |
%11 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !159 | |
%12 = addrspacecast i8 addrspace(10)* %11 to i8 addrspace(11)*, !dbg !159 | |
%13 = getelementptr inbounds i8, i8 addrspace(11)* %12, i64 48, !dbg !159 | |
%14 = bitcast i8 addrspace(11)* %13 to {} addrspace(10)* addrspace(11)*, !dbg !159 | |
%15 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %14 unordered, align 8, !dbg !159, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not12 = icmp eq {} addrspace(10)* %15, null, !dbg !159 | |
br i1 %.not12, label %fail, label %pass, !dbg !159 | |
L15: ; preds = %top | |
%16 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !163 | |
%17 = addrspacecast i8 addrspace(10)* %16 to i8 addrspace(11)*, !dbg !163 | |
%18 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 48, !dbg !163 | |
%19 = bitcast i8 addrspace(11)* %18 to {} addrspace(10)* addrspace(11)*, !dbg !163 | |
%20 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %19 unordered, align 8, !dbg !163, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not13 = icmp eq {} addrspace(10)* %20, null, !dbg !163 | |
br i1 %.not13, label %fail1, label %pass2, !dbg !163 | |
fail: ; preds = %L11 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !159 | |
unreachable, !dbg !159 | |
pass: ; preds = %L11 | |
%21 = call fastcc i64 @julia_count_constants_2110({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %15) #53, !dbg !160 | |
br label %common.ret | |
fail1: ; preds = %L15 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !163 | |
unreachable, !dbg !163 | |
pass2: ; preds = %L15 | |
%22 = call fastcc i64 @julia_count_constants_2110({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %20) #53, !dbg !164 | |
%23 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 56, !dbg !163 | |
%24 = bitcast i8 addrspace(11)* %23 to {} addrspace(10)* addrspace(11)*, !dbg !163 | |
%25 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %24 unordered, align 8, !dbg !163, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not14 = icmp eq {} addrspace(10)* %25, null, !dbg !163 | |
br i1 %.not14, label %fail3, label %pass4, !dbg !163 | |
fail3: ; preds = %pass2 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !163 | |
unreachable, !dbg !163 | |
pass4: ; preds = %pass2 | |
%26 = call fastcc i64 @julia_count_constants_2110({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %25) #53, !dbg !164 | |
%27 = add i64 %26, %22, !dbg !165 | |
br label %common.ret | |
} | |
; Function Attrs: nofree noinline nosync readonly | |
define internal fastcc double @julia_mapreduce_impl_2061({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %0, i64 signext %1, i64 signext %2) unnamed_addr #12 !dbg !169 { | |
top: | |
%3 = call {}*** @julia.get_pgcstack() | |
%.not = icmp eq i64 %2, %1, !dbg !170 | |
br i1 %.not, label %L3, label %L6, !dbg !172 | |
L31.common.ret.loopexit_crit_edge.unr-lcssa: ; preds = %L35, %L35.lr.ph | |
%.lcssa.ph = phi double [ undef, %L35.lr.ph ], [ %80, %L35 ] | |
%value_phi216.unr = phi i64 [ 0, %L35.lr.ph ], [ %unroll_iter, %L35 ] | |
%value_phi115.unr = phi double [ %28, %L35.lr.ph ], [ %80, %L35 ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !173 | |
br i1 %lcmp.mod.not, label %common.ret, label %L35.epil, !dbg !173 | |
L35.epil: ; preds = %L31.common.ret.loopexit_crit_edge.unr-lcssa, %L35.epil | |
%value_phi216.epil = phi i64 [ %9, %L35.epil ], [ %value_phi216.unr, %L31.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%value_phi115.epil = phi double [ %8, %L35.epil ], [ %value_phi115.unr, %L31.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter = phi i64 [ %epil.iter.next, %L35.epil ], [ 0, %L31.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%4 = add i64 %value_phi216.epil, %30, !dbg !176 | |
%5 = getelementptr inbounds double, double addrspace(13)* %21, i64 %4, !dbg !176 | |
%6 = load double, double addrspace(13)* %5, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%7 = fmul double %6, %6, !dbg !181 | |
%8 = fadd fast double %7, %value_phi115.epil, !dbg !187 | |
%9 = add nuw nsw i64 %value_phi216.epil, 1, !dbg !191 | |
%epil.iter.next = add nuw nsw i64 %epil.iter, 1, !dbg !173 | |
%epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter, !dbg !173 | |
br i1 %epil.iter.cmp.not, label %common.ret, label %L35.epil, !dbg !173, !llvm.loop !194 | |
common.ret: ; preds = %L35.epil, %L31.common.ret.loopexit_crit_edge.unr-lcssa, %L9, %L63, %L3 | |
%common.ret.op = phi double [ %16, %L3 ], [ %87, %L63 ], [ %28, %L9 ], [ %.lcssa.ph, %L31.common.ret.loopexit_crit_edge.unr-lcssa ], [ %8, %L35.epil ] | |
ret double %common.ret.op, !dbg !195 | |
L3: ; preds = %top | |
%10 = add i64 %2, -1, !dbg !196 | |
%11 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !196 | |
%12 = addrspacecast double addrspace(13)* addrspace(10)* %11 to double addrspace(13)* addrspace(11)*, !dbg !196 | |
%13 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %12, align 8, !dbg !196, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%14 = getelementptr inbounds double, double addrspace(13)* %13, i64 %10, !dbg !196 | |
%15 = load double, double addrspace(13)* %14, align 8, !dbg !196, !tbaa !67, !alias.scope !70, !noalias !71 | |
%16 = fmul double %15, %15, !dbg !198 | |
br label %common.ret | |
L6: ; preds = %top | |
%17 = sub i64 %2, %1, !dbg !203 | |
%.not11 = icmp slt i64 %17, 1024, !dbg !206 | |
br i1 %.not11, label %L9, label %L63, !dbg !205 | |
L9: ; preds = %L6 | |
%18 = add i64 %1, -1, !dbg !208 | |
%19 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !208 | |
%20 = addrspacecast double addrspace(13)* addrspace(10)* %19 to double addrspace(13)* addrspace(11)*, !dbg !208 | |
%21 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %20, align 8, !dbg !208, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%22 = getelementptr inbounds double, double addrspace(13)* %21, i64 %18, !dbg !208 | |
%23 = load double, double addrspace(13)* %22, align 8, !dbg !208, !tbaa !67, !alias.scope !70, !noalias !71 | |
%24 = getelementptr inbounds double, double addrspace(13)* %21, i64 %1, !dbg !210 | |
%25 = load double, double addrspace(13)* %24, align 8, !dbg !210, !tbaa !67, !alias.scope !70, !noalias !71 | |
%26 = fmul double %23, %23, !dbg !212 | |
%27 = fmul double %25, %25, !dbg !212 | |
%28 = fadd double %26, %27, !dbg !215 | |
%29 = add i64 %1, 2, !dbg !217 | |
%.not12 = icmp sgt i64 %29, %2, !dbg !219 | |
%30 = add i64 %1, 1, !dbg !223 | |
%value_phi = select i1 %.not12, i64 %30, i64 %2, !dbg !223 | |
%31 = sub i64 %value_phi, %29, !dbg !229 | |
%32 = add i64 %31, 1, !dbg !235 | |
%33 = icmp ugt i64 %31, 9223372036854775806, !dbg !236 | |
br i1 %33, label %common.ret, label %L35.lr.ph, !dbg !237 | |
L35.lr.ph: ; preds = %L9 | |
%xtraiter = and i64 %32, 7, !dbg !173 | |
%34 = icmp ult i64 %31, 7, !dbg !173 | |
br i1 %34, label %L31.common.ret.loopexit_crit_edge.unr-lcssa, label %L35.lr.ph.new, !dbg !173 | |
L35.lr.ph.new: ; preds = %L35.lr.ph | |
%unroll_iter = and i64 %32, 9223372036854775800, !dbg !173 | |
%35 = add i64 %1, 3 | |
%36 = add i64 %1, 4 | |
%37 = add i64 %1, 5 | |
%38 = add i64 %1, 6 | |
%39 = add i64 %1, 7 | |
%40 = add i64 %1, 8 | |
br label %L35, !dbg !173 | |
L35: ; preds = %L35, %L35.lr.ph.new | |
%value_phi216 = phi i64 [ 0, %L35.lr.ph.new ], [ %81, %L35 ] | |
%value_phi115 = phi double [ %28, %L35.lr.ph.new ], [ %80, %L35 ] | |
%41 = add i64 %value_phi216, %30, !dbg !176 | |
%42 = getelementptr inbounds double, double addrspace(13)* %21, i64 %41, !dbg !176 | |
%43 = load double, double addrspace(13)* %42, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%44 = fmul double %43, %43, !dbg !181 | |
%45 = fadd fast double %44, %value_phi115, !dbg !187 | |
%46 = add i64 %29, %value_phi216, !dbg !176 | |
%47 = getelementptr inbounds double, double addrspace(13)* %21, i64 %46, !dbg !176 | |
%48 = load double, double addrspace(13)* %47, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%49 = fmul double %48, %48, !dbg !181 | |
%50 = fadd fast double %45, %49, !dbg !187 | |
%51 = add i64 %35, %value_phi216, !dbg !176 | |
%52 = getelementptr inbounds double, double addrspace(13)* %21, i64 %51, !dbg !176 | |
%53 = load double, double addrspace(13)* %52, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%54 = fmul double %53, %53, !dbg !181 | |
%55 = fadd fast double %50, %54, !dbg !187 | |
%56 = add i64 %36, %value_phi216, !dbg !176 | |
%57 = getelementptr inbounds double, double addrspace(13)* %21, i64 %56, !dbg !176 | |
%58 = load double, double addrspace(13)* %57, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%59 = fmul double %58, %58, !dbg !181 | |
%60 = fadd fast double %55, %59, !dbg !187 | |
%61 = add i64 %37, %value_phi216, !dbg !176 | |
%62 = getelementptr inbounds double, double addrspace(13)* %21, i64 %61, !dbg !176 | |
%63 = load double, double addrspace(13)* %62, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%64 = fmul double %63, %63, !dbg !181 | |
%65 = fadd fast double %60, %64, !dbg !187 | |
%66 = add i64 %38, %value_phi216, !dbg !176 | |
%67 = getelementptr inbounds double, double addrspace(13)* %21, i64 %66, !dbg !176 | |
%68 = load double, double addrspace(13)* %67, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%69 = fmul double %68, %68, !dbg !181 | |
%70 = fadd fast double %65, %69, !dbg !187 | |
%71 = add i64 %39, %value_phi216, !dbg !176 | |
%72 = getelementptr inbounds double, double addrspace(13)* %21, i64 %71, !dbg !176 | |
%73 = load double, double addrspace(13)* %72, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%74 = fmul double %73, %73, !dbg !181 | |
%75 = fadd fast double %70, %74, !dbg !187 | |
%76 = add i64 %40, %value_phi216, !dbg !176 | |
%77 = getelementptr inbounds double, double addrspace(13)* %21, i64 %76, !dbg !176 | |
%78 = load double, double addrspace(13)* %77, align 8, !dbg !176, !tbaa !67, !alias.scope !70, !noalias !71 | |
%79 = fmul double %78, %78, !dbg !181 | |
%80 = fadd fast double %75, %79, !dbg !187 | |
%81 = add nuw nsw i64 %value_phi216, 8, !dbg !191 | |
%niter.ncmp.7.not = icmp eq i64 %81, %unroll_iter, !dbg !173 | |
br i1 %niter.ncmp.7.not, label %L31.common.ret.loopexit_crit_edge.unr-lcssa, label %L35, !dbg !173, !llvm.loop !238 | |
L63: ; preds = %L6 | |
%82 = ashr i64 %17, 1, !dbg !239 | |
%83 = add i64 %82, %1, !dbg !243 | |
%84 = call fastcc double @julia_mapreduce_impl_2061({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %0, i64 signext %1, i64 signext %83) #52, !dbg !244 | |
%85 = add i64 %83, 1, !dbg !245 | |
%86 = call fastcc double @julia_mapreduce_impl_2061({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %0, i64 signext %85, i64 signext %2) #52, !dbg !246 | |
%87 = fadd double %84, %86, !dbg !247 | |
br label %common.ret | |
} | |
; Function Attrs: noinline noreturn | |
define internal fastcc void @julia_throw_boundserror_2112({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0, [1 x [2 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %1) unnamed_addr #13 !dbg !250 { | |
top: | |
%2 = call {}*** @julia.get_pgcstack() | |
%current_task12 = getelementptr inbounds {}**, {}*** %2, i64 -13, !dbg !251 | |
%current_task1 = bitcast {}*** %current_task12 to {}**, !dbg !251 | |
%3 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 16, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809558344800 to {}*) to {} addrspace(10)*)) #49, !dbg !251 | |
%4 = bitcast {} addrspace(10)* %3 to i8 addrspace(10)*, !dbg !251 | |
%5 = bitcast [1 x [2 x i64]] addrspace(11)* %1 to i8 addrspace(11)*, !dbg !251 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(16) %4, i8 addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %5, i64 noundef 16, i1 noundef false), !dbg !251, !tbaa !39, !alias.scope !42, !noalias !46 | |
%6 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809514097344 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809580337200 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %0, {} addrspace(10)* nonnull %3) #50, !dbg !251 | |
%7 = addrspacecast {} addrspace(10)* %6 to {} addrspace(12)*, !dbg !251 | |
call void @ijl_throw({} addrspace(12)* %7) #51, !dbg !251 | |
unreachable, !dbg !251 | |
} | |
; Function Attrs: nofree nosync readnone | |
define internal fastcc [1 x {} addrspace(10)*] @julia_ArgumentError_2122() unnamed_addr #14 !dbg !252 { | |
top: | |
%0 = call {}*** @julia.get_pgcstack() | |
ret [1 x {} addrspace(10)*] undef, !dbg !253 | |
} | |
; Function Attrs: nofree nosync readonly | |
define internal fastcc double @julia__mapreduce_2058({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %0) unnamed_addr #15 !dbg !254 { | |
top: | |
%1 = call {}*** @julia.get_pgcstack() | |
%2 = bitcast {} addrspace(10)* %0 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !255 | |
%3 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %2 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !255 | |
%4 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %3, i64 0, i32 1, !dbg !255 | |
%5 = load i64, i64 addrspace(11)* %4, align 8, !dbg !255, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %5, label %L12 [ | |
i64 0, label %common.ret | |
i64 1, label %L9 | |
], !dbg !267 | |
L19.common.ret.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L25 | |
%6 = or i64 %unroll_iter, 2, !dbg !268 | |
br label %L19.common.ret.loopexit_crit_edge.unr-lcssa, !dbg !268 | |
L19.common.ret.loopexit_crit_edge.unr-lcssa: ; preds = %L19.common.ret.loopexit_crit_edge.unr-lcssa.loopexit, %L25.lr.ph | |
%.lcssa.ph = phi double [ undef, %L25.lr.ph ], [ %69, %L19.common.ret.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi111.unr = phi i64 [ 2, %L25.lr.ph ], [ %6, %L19.common.ret.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi10.unr = phi double [ %26, %L25.lr.ph ], [ %69, %L19.common.ret.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !268 | |
br i1 %lcmp.mod.not, label %common.ret, label %L25.epil, !dbg !268 | |
L25.epil: ; preds = %L19.common.ret.loopexit_crit_edge.unr-lcssa, %L25.epil | |
%value_phi111.epil = phi i64 [ %7, %L25.epil ], [ %value_phi111.unr, %L19.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%value_phi10.epil = phi double [ %11, %L25.epil ], [ %value_phi10.unr, %L19.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter = phi i64 [ %epil.iter.next, %L25.epil ], [ 0, %L19.common.ret.loopexit_crit_edge.unr-lcssa ] | |
%7 = add nuw nsw i64 %value_phi111.epil, 1, !dbg !269 | |
%8 = getelementptr inbounds double, double addrspace(13)* %20, i64 %value_phi111.epil, !dbg !272 | |
%9 = load double, double addrspace(13)* %8, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%10 = fmul double %9, %9, !dbg !274 | |
%11 = fadd double %value_phi10.epil, %10, !dbg !279 | |
%epil.iter.next = add nuw nsw i64 %epil.iter, 1, !dbg !268 | |
%epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter, !dbg !268 | |
br i1 %epil.iter.cmp.not, label %common.ret, label %L25.epil, !dbg !268, !llvm.loop !283 | |
common.ret: ; preds = %L25.epil, %L14, %L19.common.ret.loopexit_crit_edge.unr-lcssa, %top, %L31, %L9 | |
%common.ret.op = phi double [ %16, %L9 ], [ %70, %L31 ], [ 0.000000e+00, %top ], [ %26, %L14 ], [ %.lcssa.ph, %L19.common.ret.loopexit_crit_edge.unr-lcssa ], [ %11, %L25.epil ] | |
ret double %common.ret.op, !dbg !284 | |
L9: ; preds = %top | |
%12 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !285 | |
%13 = addrspacecast double addrspace(13)* addrspace(10)* %12 to double addrspace(13)* addrspace(11)*, !dbg !285 | |
%14 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %13, align 8, !dbg !285, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%15 = load double, double addrspace(13)* %14, align 8, !dbg !285, !tbaa !67, !alias.scope !70, !noalias !71 | |
%16 = fmul double %15, %15, !dbg !287 | |
br label %common.ret | |
L12: ; preds = %top | |
%17 = icmp ugt i64 %5, 15, !dbg !292 | |
br i1 %17, label %L31, label %L14, !dbg !294 | |
L14: ; preds = %L12 | |
%18 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !295 | |
%19 = addrspacecast double addrspace(13)* addrspace(10)* %18 to double addrspace(13)* addrspace(11)*, !dbg !295 | |
%20 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %19, align 8, !dbg !295, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%21 = load double, double addrspace(13)* %20, align 8, !dbg !295, !tbaa !67, !alias.scope !70, !noalias !71 | |
%22 = getelementptr inbounds double, double addrspace(13)* %20, i64 1, !dbg !297 | |
%23 = load double, double addrspace(13)* %22, align 8, !dbg !297, !tbaa !67, !alias.scope !70, !noalias !71 | |
%24 = fmul double %21, %21, !dbg !299 | |
%25 = fmul double %23, %23, !dbg !299 | |
%26 = fadd double %24, %25, !dbg !302 | |
%.not89 = icmp ugt i64 %5, 2, !dbg !304 | |
br i1 %.not89, label %L25.lr.ph, label %common.ret, !dbg !268 | |
L25.lr.ph: ; preds = %L14 | |
%27 = add nsw i64 %5, -2, !dbg !268 | |
%28 = add nsw i64 %5, -3, !dbg !268 | |
%xtraiter = and i64 %27, 7, !dbg !268 | |
%29 = icmp ult i64 %28, 7, !dbg !268 | |
br i1 %29, label %L19.common.ret.loopexit_crit_edge.unr-lcssa, label %L25.lr.ph.new, !dbg !268 | |
L25.lr.ph.new: ; preds = %L25.lr.ph | |
%unroll_iter = and i64 %27, -8, !dbg !268 | |
br label %L25, !dbg !268 | |
L25: ; preds = %L25, %L25.lr.ph.new | |
%value_phi111 = phi i64 [ 2, %L25.lr.ph.new ], [ %65, %L25 ] | |
%value_phi10 = phi double [ %26, %L25.lr.ph.new ], [ %69, %L25 ] | |
%niter = phi i64 [ 0, %L25.lr.ph.new ], [ %niter.next.7, %L25 ] | |
%30 = or i64 %value_phi111, 1, !dbg !269 | |
%31 = getelementptr inbounds double, double addrspace(13)* %20, i64 %value_phi111, !dbg !272 | |
%32 = load double, double addrspace(13)* %31, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%33 = fmul double %32, %32, !dbg !274 | |
%34 = fadd double %value_phi10, %33, !dbg !279 | |
%35 = add nuw nsw i64 %value_phi111, 2, !dbg !269 | |
%36 = getelementptr inbounds double, double addrspace(13)* %20, i64 %30, !dbg !272 | |
%37 = load double, double addrspace(13)* %36, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%38 = fmul double %37, %37, !dbg !274 | |
%39 = fadd double %34, %38, !dbg !279 | |
%40 = add nuw nsw i64 %value_phi111, 3, !dbg !269 | |
%41 = getelementptr inbounds double, double addrspace(13)* %20, i64 %35, !dbg !272 | |
%42 = load double, double addrspace(13)* %41, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%43 = fmul double %42, %42, !dbg !274 | |
%44 = fadd double %39, %43, !dbg !279 | |
%45 = add nuw nsw i64 %value_phi111, 4, !dbg !269 | |
%46 = getelementptr inbounds double, double addrspace(13)* %20, i64 %40, !dbg !272 | |
%47 = load double, double addrspace(13)* %46, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%48 = fmul double %47, %47, !dbg !274 | |
%49 = fadd double %44, %48, !dbg !279 | |
%50 = add nuw nsw i64 %value_phi111, 5, !dbg !269 | |
%51 = getelementptr inbounds double, double addrspace(13)* %20, i64 %45, !dbg !272 | |
%52 = load double, double addrspace(13)* %51, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%53 = fmul double %52, %52, !dbg !274 | |
%54 = fadd double %49, %53, !dbg !279 | |
%55 = add nuw nsw i64 %value_phi111, 6, !dbg !269 | |
%56 = getelementptr inbounds double, double addrspace(13)* %20, i64 %50, !dbg !272 | |
%57 = load double, double addrspace(13)* %56, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%58 = fmul double %57, %57, !dbg !274 | |
%59 = fadd double %54, %58, !dbg !279 | |
%60 = add nuw nsw i64 %value_phi111, 7, !dbg !269 | |
%61 = getelementptr inbounds double, double addrspace(13)* %20, i64 %55, !dbg !272 | |
%62 = load double, double addrspace(13)* %61, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%63 = fmul double %62, %62, !dbg !274 | |
%64 = fadd double %59, %63, !dbg !279 | |
%65 = add nuw nsw i64 %value_phi111, 8, !dbg !269 | |
%66 = getelementptr inbounds double, double addrspace(13)* %20, i64 %60, !dbg !272 | |
%67 = load double, double addrspace(13)* %66, align 8, !dbg !272, !tbaa !67, !alias.scope !70, !noalias !71 | |
%68 = fmul double %67, %67, !dbg !274 | |
%69 = fadd double %64, %68, !dbg !279 | |
%niter.next.7 = add i64 %niter, 8, !dbg !268 | |
%niter.ncmp.7.not = icmp eq i64 %niter.next.7, %unroll_iter, !dbg !268 | |
br i1 %niter.ncmp.7.not, label %L19.common.ret.loopexit_crit_edge.unr-lcssa.loopexit, label %L25, !dbg !268 | |
L31: ; preds = %L12 | |
%70 = call fastcc double @julia_mapreduce_impl_2061({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %0, i64 noundef signext 1, i64 signext %5) #54, !dbg !305 | |
br label %common.ret | |
} | |
; Function Attrs: noinline noreturn | |
define internal fastcc void @julia__throw_argerror_2119() unnamed_addr #16 !dbg !308 { | |
top: | |
%0 = call {}*** @julia.get_pgcstack() | |
%1 = call fastcc [1 x {} addrspace(10)*] @julia_ArgumentError_2122() #55, !dbg !309 | |
%current_task12 = getelementptr inbounds {}**, {}*** %0, i64 -13, !dbg !309 | |
%current_task1 = bitcast {}*** %current_task12 to {}**, !dbg !309 | |
%2 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809580338784 to {}*) to {} addrspace(10)*)) #49, !dbg !309 | |
%3 = bitcast {} addrspace(10)* %2 to {} addrspace(10)* addrspace(10)*, !dbg !309 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809551053440 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %3, align 8, !dbg !309, !tbaa !145, !alias.scope !70, !noalias !148 | |
%4 = addrspacecast {} addrspace(10)* %2 to {} addrspace(12)*, !dbg !309 | |
call void @ijl_throw({} addrspace(12)* %4) #51, !dbg !309 | |
unreachable, !dbg !309 | |
} | |
; Function Attrs: argmemonly nofree nounwind willreturn | |
declare void @llvm.memcpy.p0i8.p0i8.i64(i8* noalias nocapture writeonly, i8* noalias nocapture readonly, i64, i1 immarg) #5 | |
; Function Attrs: argmemonly nofree nosync nounwind willreturn | |
declare void @llvm.lifetime.end.p0i8(i64 immarg, i8* nocapture) #17 | |
; Function Attrs: noreturn | |
declare void @ijl_bounds_error_ints({} addrspace(12)*, i64*, i64) local_unnamed_addr #6 | |
; Function Attrs: nofree nounwind readnone | |
declare nonnull {}* @julia.pointer_from_objref({} addrspace(11)*) local_unnamed_addr #18 | |
; Function Attrs: argmemonly nofree nosync nounwind willreturn | |
declare void @llvm.lifetime.start.p0i8(i64 immarg, i8* nocapture) #17 | |
; Function Attrs: noinline noreturn | |
define internal fastcc void @julia_throw_inexacterror_2124(i64 signext %0) unnamed_addr #19 !dbg !310 { | |
top: | |
%1 = call {}*** @julia.get_pgcstack() | |
%2 = call nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %0), !dbg !311 | |
%3 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809561263216 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809496162912 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull addrspacecast ({}* inttoptr (i64 139809726308592 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809581500672 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2) #50, !dbg !311 | |
%4 = addrspacecast {} addrspace(10)* %3 to {} addrspace(12)*, !dbg !311 | |
call void @ijl_throw({} addrspace(12)* %4) #51, !dbg !311 | |
unreachable, !dbg !311 | |
} | |
define internal fastcc nonnull align 16 dereferenceable(40) {} addrspace(10)* @julia__copyto_impl__2114({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %1, i64 signext %2, i64 signext %3) unnamed_addr #20 !dbg !312 { | |
top: | |
%4 = alloca [1 x [2 x i64]], align 8 | |
%5 = alloca [1 x [2 x i64]], align 8 | |
%6 = call {}*** @julia.get_pgcstack() | |
%.not = icmp eq i64 %3, 0, !dbg !313 | |
br i1 %.not, label %common.ret, label %L4, !dbg !315 | |
common.ret: ; preds = %top, %L96 | |
ret {} addrspace(10)* undef, !dbg !316 | |
L4: ; preds = %top | |
%7 = icmp slt i64 %3, 1, !dbg !317 | |
br i1 %7, label %L103, label %L8, !dbg !321 | |
L8: ; preds = %L4 | |
%.not17 = icmp slt i64 %3, 1, !dbg !322 | |
%value_phi = select i1 %.not17, i64 0, i64 %3, !dbg !326 | |
%.sroa.06.0..sroa_idx = getelementptr inbounds [1 x [2 x i64]], [1 x [2 x i64]]* %4, i64 0, i64 0, i64 0, !dbg !333 | |
store i64 1, i64* %.sroa.06.0..sroa_idx, align 8, !dbg !333, !tbaa !335, !alias.scope !337, !noalias !338 | |
%.sroa.27.0..sroa_idx8 = getelementptr inbounds [1 x [2 x i64]], [1 x [2 x i64]]* %4, i64 0, i64 0, i64 1, !dbg !333 | |
store i64 %value_phi, i64* %.sroa.27.0..sroa_idx8, align 8, !dbg !333, !tbaa !335, !alias.scope !337, !noalias !338 | |
%8 = bitcast {} addrspace(10)* %0 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !339 | |
%9 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %8 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !339 | |
%10 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %9, i64 0, i32 1, !dbg !339 | |
%11 = load i64, i64 addrspace(11)* %10, align 8, !dbg !339, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%12 = icmp slt i64 %value_phi, 1, !dbg !349 | |
%13 = icmp sge i64 %11, 1, !dbg !355 | |
%14 = and i1 true, %13, !dbg !357 | |
%15 = icmp sgt i64 %value_phi, 0, !dbg !355 | |
%16 = icmp sle i64 %value_phi, %11, !dbg !355 | |
%17 = and i1 %15, %16, !dbg !357 | |
%18 = and i1 %14, %17, !dbg !360 | |
%19 = or i1 %12, %18, !dbg !361 | |
br i1 %19, label %L38, label %L34, !dbg !348 | |
L34: ; preds = %L8 | |
%20 = addrspacecast [1 x [2 x i64]]* %4 to [1 x [2 x i64]] addrspace(11)*, !dbg !348 | |
call fastcc void @julia_throw_boundserror_2112({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0, [1 x [2 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %20) #56, !dbg !348 | |
unreachable, !dbg !348 | |
L38: ; preds = %L8 | |
%21 = add i64 %2, -1, !dbg !363 | |
%22 = add i64 %21, %3, !dbg !366 | |
%.not18 = icmp slt i64 %22, %2, !dbg !368 | |
%value_phi1 = select i1 %.not18, i64 %21, i64 %22, !dbg !370 | |
%.sroa.0.0..sroa_idx = getelementptr inbounds [1 x [2 x i64]], [1 x [2 x i64]]* %5, i64 0, i64 0, i64 0, !dbg !373 | |
store i64 %2, i64* %.sroa.0.0..sroa_idx, align 8, !dbg !373, !tbaa !335, !alias.scope !337, !noalias !338 | |
%.sroa.2.0..sroa_idx5 = getelementptr inbounds [1 x [2 x i64]], [1 x [2 x i64]]* %5, i64 0, i64 0, i64 1, !dbg !373 | |
store i64 %value_phi1, i64* %.sroa.2.0..sroa_idx5, align 8, !dbg !373, !tbaa !335, !alias.scope !337, !noalias !338 | |
%23 = bitcast {} addrspace(10)* %1 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !374 | |
%24 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %23 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !374 | |
%25 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %24, i64 0, i32 1, !dbg !374 | |
%26 = load i64, i64 addrspace(11)* %25, align 8, !dbg !374, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%27 = icmp slt i64 %value_phi1, %2, !dbg !380 | |
%28 = icmp sgt i64 %2, 0, !dbg !384 | |
%29 = icmp sge i64 %26, %2, !dbg !384 | |
%30 = and i1 %28, %29, !dbg !386 | |
%31 = icmp sgt i64 %value_phi1, 0, !dbg !384 | |
%32 = icmp sle i64 %value_phi1, %26, !dbg !384 | |
%33 = and i1 %31, %32, !dbg !386 | |
%34 = and i1 %30, %33, !dbg !387 | |
%35 = or i1 %27, %34, !dbg !388 | |
br i1 %35, label %L67, label %L64, !dbg !379 | |
L64: ; preds = %L38 | |
%36 = addrspacecast [1 x [2 x i64]]* %5 to [1 x [2 x i64]] addrspace(11)*, !dbg !379 | |
call fastcc void @julia_throw_boundserror_2112({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %1, [1 x [2 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %36) #56, !dbg !379 | |
unreachable, !dbg !379 | |
L67: ; preds = %L38 | |
%37 = call token (...) @llvm.julia.gc_preserve_begin({} addrspace(10)* nonnull %0), !dbg !389 | |
%38 = call token (...) @llvm.julia.gc_preserve_begin({} addrspace(10)* nofree nonnull %1), !dbg !392 | |
%39 = addrspacecast {} addrspace(10)* %0 to {} addrspace(11)*, !dbg !393 | |
%40 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* noundef %39) #57, !dbg !393 | |
%41 = addrspacecast {} addrspace(10)* %1 to {} addrspace(11)*, !dbg !399 | |
%42 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* noundef %41) #57, !dbg !399 | |
%43 = shl i64 %3, 3, !dbg !402 | |
%44 = and i64 %3, 1152921504606846976, !dbg !405 | |
%.not19 = icmp eq i64 %44, 0, !dbg !405 | |
br i1 %.not19, label %L96, label %L88, !dbg !407 | |
L88: ; preds = %L67 | |
call fastcc void @julia_throw_inexacterror_2124(i64 signext %43) #56, !dbg !407 | |
unreachable, !dbg !407 | |
L96: ; preds = %L67 | |
%45 = bitcast {}* %42 to i8**, !dbg !399 | |
%46 = load i8*, i8** %45, align 8, !dbg !399, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%47 = shl i64 %2, 3, !dbg !417 | |
%48 = add i64 %47, -8, !dbg !417 | |
%49 = getelementptr i8, i8* %46, i64 %48, !dbg !420 | |
%50 = bitcast {}* %40 to i8**, !dbg !393 | |
%51 = load i8*, i8** %50, align 8, !dbg !393, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%52 = getelementptr i8, i8* %51, i64 0, !dbg !422 | |
call void @llvm.memmove.p0i8.p0i8.i64(i8* align 1 %52, i8* align 1 %49, i64 %43, i1 noundef false), !dbg !404, !noalias !423 | |
call void @llvm.julia.gc_preserve_end(token %38), !dbg !424 | |
call void @llvm.julia.gc_preserve_end(token %37), !dbg !425 | |
br label %common.ret | |
L103: ; preds = %L4 | |
call fastcc void @julia__throw_argerror_2119() #56, !dbg !321 | |
unreachable, !dbg !321 | |
} | |
; Function Attrs: inaccessiblememonly nofree | |
declare token @llvm.julia.gc_preserve_begin(...) #8 | |
; Function Attrs: argmemonly nofree nounwind willreturn | |
declare void @llvm.memmove.p0i8.p0i8.i64(i8* nocapture writeonly, i8* nocapture readonly, i64, i1 immarg) #5 | |
; Function Attrs: inaccessiblememonly nofree | |
declare void @llvm.julia.gc_preserve_end(token) #8 | |
define internal fastcc { {} addrspace(10)*, i8 } @julia_set_constants_2105([8 x i8]* noalias nocapture nofree noundef nonnull readnone align 8 dereferenceable(8) %0, {} addrspace(10)* nocapture noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2) unnamed_addr #21 !dbg !426 { | |
top: | |
%3 = alloca i64, align 8 | |
%tmpcast = bitcast i64* %3 to [8 x i8]* | |
%4 = alloca [8 x i8], align 8 | |
%5 = alloca [1 x [2 x i64]], align 8 | |
%6 = alloca i64, align 8 | |
%tmpcast52 = bitcast i64* %6 to [8 x i8]* | |
%7 = call {}*** @julia.get_pgcstack() | |
%8 = bitcast {} addrspace(10)* %1 to i64 addrspace(10)*, !dbg !427 | |
%9 = addrspacecast i64 addrspace(10)* %8 to i64 addrspace(11)*, !dbg !427 | |
%10 = load i64, i64 addrspace(11)* %9, align 8, !dbg !427, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %10, label %L16 [ | |
i64 0, label %L4 | |
i64 1, label %L13 | |
], !dbg !429 | |
L4: ; preds = %top | |
%11 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !430 | |
%12 = addrspacecast i8 addrspace(10)* %11 to i8 addrspace(11)*, !dbg !430 | |
%13 = getelementptr inbounds i8, i8 addrspace(11)* %12, i64 8, !dbg !430 | |
%14 = load i8, i8 addrspace(11)* %13, align 8, !dbg !430, !tbaa !154, !alias.scope !70, !noalias !71 | |
%15 = and i8 %14, 1, !dbg !430 | |
%.not38 = icmp eq i8 %15, 0, !dbg !430 | |
br i1 %.not38, label %common.ret, label %L6, !dbg !431 | |
L6: ; preds = %L4 | |
%16 = bitcast {} addrspace(10)* %2 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !432 | |
%17 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %16 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !432 | |
%18 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %17, i64 0, i32 1, !dbg !432 | |
%19 = load i64, i64 addrspace(11)* %18, align 8, !dbg !432, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not39 = icmp eq i64 %19, 0, !dbg !432 | |
br i1 %.not39, label %oob, label %idxend, !dbg !432 | |
common.ret: ; preds = %pass, %L85, %union_move16, %union_move5, %L4, %idxend | |
%common.ret.op = phi { {} addrspace(10)*, i8 } [ { {} addrspace(10)* null, i8 2 }, %idxend ], [ { {} addrspace(10)* null, i8 1 }, %L4 ], [ %76, %union_move5 ], [ %76, %pass ], [ %60, %union_move16 ], [ %60, %L85 ] | |
ret { {} addrspace(10)*, i8 } %common.ret.op, !dbg !435 | |
L13: ; preds = %top | |
%20 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !436 | |
%21 = addrspacecast i8 addrspace(10)* %20 to i8 addrspace(11)*, !dbg !436 | |
%22 = getelementptr inbounds i8, i8 addrspace(11)* %21, i64 48, !dbg !436 | |
%23 = bitcast i8 addrspace(11)* %22 to {} addrspace(10)* addrspace(11)*, !dbg !436 | |
%24 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %23 unordered, align 8, !dbg !436, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not41 = icmp eq {} addrspace(10)* %24, null, !dbg !436 | |
br i1 %.not41, label %fail, label %pass, !dbg !436 | |
L16: ; preds = %top | |
%25 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !438 | |
%26 = addrspacecast i8 addrspace(10)* %25 to i8 addrspace(11)*, !dbg !438 | |
%27 = getelementptr inbounds i8, i8 addrspace(11)* %26, i64 48, !dbg !438 | |
%28 = bitcast i8 addrspace(11)* %27 to {} addrspace(10)* addrspace(11)*, !dbg !438 | |
%29 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %28 unordered, align 8, !dbg !438, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not44 = icmp eq {} addrspace(10)* %29, null, !dbg !438 | |
br i1 %.not44, label %fail6, label %pass7, !dbg !438 | |
L20: ; preds = %pass7 | |
%30 = bitcast {} addrspace(10)* %29 to i8 addrspace(10)*, !dbg !440 | |
%31 = addrspacecast i8 addrspace(10)* %30 to i8 addrspace(11)*, !dbg !440 | |
%32 = getelementptr inbounds i8, i8 addrspace(11)* %31, i64 8, !dbg !440 | |
%33 = load i8, i8 addrspace(11)* %32, align 8, !dbg !440, !tbaa !154, !alias.scope !70, !noalias !71 | |
%34 = and i8 %33, 1, !dbg !440 | |
%35 = zext i8 %34 to i64, !dbg !443 | |
br label %L38, !dbg !443 | |
L27: ; preds = %pass7 | |
%36 = bitcast {} addrspace(10)* %29 to i8 addrspace(10)*, !dbg !444 | |
%37 = addrspacecast i8 addrspace(10)* %36 to i8 addrspace(11)*, !dbg !444 | |
%38 = getelementptr inbounds i8, i8 addrspace(11)* %37, i64 48, !dbg !444 | |
%39 = bitcast i8 addrspace(11)* %38 to {} addrspace(10)* addrspace(11)*, !dbg !444 | |
%40 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %39 unordered, align 8, !dbg !444, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not54 = icmp eq {} addrspace(10)* %40, null, !dbg !444 | |
br i1 %.not54, label %fail17, label %pass18, !dbg !444 | |
L31: ; preds = %pass7 | |
%41 = bitcast {} addrspace(10)* %29 to i8 addrspace(10)*, !dbg !446 | |
%42 = addrspacecast i8 addrspace(10)* %41 to i8 addrspace(11)*, !dbg !446 | |
%43 = getelementptr inbounds i8, i8 addrspace(11)* %42, i64 48, !dbg !446 | |
%44 = bitcast i8 addrspace(11)* %43 to {} addrspace(10)* addrspace(11)*, !dbg !446 | |
%45 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %44 unordered, align 8, !dbg !446, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not55 = icmp eq {} addrspace(10)* %45, null, !dbg !446 | |
br i1 %.not55, label %fail19, label %pass20, !dbg !446 | |
L38: ; preds = %L20, %pass22, %pass18 | |
%value_phi = phi i64 [ %101, %pass18 ], [ %107, %pass22 ], [ %35, %L20 ] | |
%46 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %28 unordered, align 8, !dbg !448, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not47 = icmp eq {} addrspace(10)* %46, null, !dbg !448 | |
br i1 %.not47, label %fail8, label %pass9, !dbg !448 | |
L71: ; preds = %pass11 | |
%47 = addrspacecast [1 x [2 x i64]]* %5 to [1 x [2 x i64]] addrspace(11)*, !dbg !450 | |
call fastcc void @julia_throw_boundserror_2112({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2, [1 x [2 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %47) #56, !dbg !450 | |
unreachable, !dbg !450 | |
L74: ; preds = %pass11 | |
%48 = sub i64 %value_phi12, %86, !dbg !455 | |
%49 = add i64 %48, 1, !dbg !460 | |
%50 = icmp sgt i64 %49, 0, !dbg !466 | |
%51 = select i1 %50, i64 %49, i64 0, !dbg !466 | |
%52 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %51), !dbg !475 | |
%53 = icmp ugt i64 %48, 9223372036854775806, !dbg !482 | |
br i1 %53, label %L85, label %L83, !dbg !486 | |
L83: ; preds = %L74 | |
%54 = call fastcc nonnull {} addrspace(10)* @julia__copyto_impl__2114({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %52, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2, i64 signext %86, i64 signext %49) #53, !dbg !487 | |
br label %L85, !dbg !487 | |
L85: ; preds = %L74, %L83 | |
%55 = call fastcc { {} addrspace(10)*, i8 } @julia_set_constants_2105([8 x i8]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %tmpcast52, {} addrspace(10)* nocapture noundef nonnull align 8 dereferenceable(64) %85, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %52) #53, !dbg !454 | |
%56 = extractvalue { {} addrspace(10)*, i8 } %55, 0, !dbg !454 | |
%57 = extractvalue { {} addrspace(10)*, i8 } %55, 1, !dbg !454 | |
%.not50 = icmp sgt i8 %57, -1, !dbg !454 | |
%58 = select i1 %.not50, {} addrspace(10)* null, {} addrspace(10)* %56, !dbg !454 | |
%59 = insertvalue { {} addrspace(10)*, i8 } undef, {} addrspace(10)* %58, 0, !dbg !454 | |
%60 = insertvalue { {} addrspace(10)*, i8 } %59, i8 %57, 1, !dbg !454 | |
%61 = icmp eq i8 %57, 2, !dbg !454 | |
br i1 %61, label %union_move16, label %common.ret, !dbg !454 | |
oob: ; preds = %L6 | |
%62 = alloca i64, align 8, !dbg !432 | |
store i64 1, i64* %62, align 8, !dbg !432, !noalias !423 | |
%63 = addrspacecast {} addrspace(10)* %2 to {} addrspace(12)*, !dbg !432 | |
call void @ijl_bounds_error_ints({} addrspace(12)* noundef %63, i64* noundef nonnull align 8 %62, i64 noundef 1) #51, !dbg !432 | |
unreachable, !dbg !432 | |
idxend: ; preds = %L6 | |
%64 = bitcast {} addrspace(10)* %2 to double addrspace(13)* addrspace(10)*, !dbg !432 | |
%65 = addrspacecast double addrspace(13)* addrspace(10)* %64 to double addrspace(13)* addrspace(11)*, !dbg !432 | |
%66 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %65, align 8, !dbg !432, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%67 = load double, double addrspace(13)* %66, align 8, !dbg !432, !tbaa !67, !alias.scope !70, !noalias !71 | |
%68 = getelementptr inbounds i8, i8 addrspace(11)* %12, i64 16, !dbg !490 | |
%69 = getelementptr inbounds i8, i8 addrspace(11)* %12, i64 24, !dbg !490 | |
store i8 1, i8 addrspace(11)* %69, align 8, !dbg !490, !tbaa !492, !alias.scope !337, !noalias !338 | |
%70 = bitcast i8 addrspace(11)* %68 to double addrspace(11)*, !dbg !490 | |
store double %67, double addrspace(11)* %70, align 8, !dbg !490, !tbaa !154, !alias.scope !70, !noalias !148 | |
%.0..sroa_cast = bitcast [8 x i8]* %0 to double*, !dbg !434 | |
br label %common.ret | |
fail: ; preds = %L13 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !436 | |
unreachable, !dbg !436 | |
pass: ; preds = %L13 | |
%71 = call fastcc { {} addrspace(10)*, i8 } @julia_set_constants_2105([8 x i8]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %tmpcast, {} addrspace(10)* nocapture noundef nonnull align 8 dereferenceable(64) %24, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2) #53, !dbg !437 | |
%72 = extractvalue { {} addrspace(10)*, i8 } %71, 0, !dbg !437 | |
%73 = extractvalue { {} addrspace(10)*, i8 } %71, 1, !dbg !437 | |
%.not42 = icmp sgt i8 %73, -1, !dbg !437 | |
%74 = select i1 %.not42, {} addrspace(10)* null, {} addrspace(10)* %72, !dbg !437 | |
%75 = insertvalue { {} addrspace(10)*, i8 } undef, {} addrspace(10)* %74, 0, !dbg !437 | |
%76 = insertvalue { {} addrspace(10)*, i8 } %75, i8 %73, 1, !dbg !437 | |
%77 = icmp eq i8 %73, 2, !dbg !437 | |
br i1 %77, label %union_move5, label %common.ret, !dbg !437 | |
union_move5: ; preds = %pass | |
%78 = bitcast [8 x i8]* %0 to i64*, !dbg !437 | |
br label %common.ret, !dbg !437 | |
fail6: ; preds = %L16 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !438 | |
unreachable, !dbg !438 | |
pass7: ; preds = %L16 | |
%79 = bitcast {} addrspace(10)* %29 to i64 addrspace(10)*, !dbg !494 | |
%80 = addrspacecast i64 addrspace(10)* %79 to i64 addrspace(11)*, !dbg !494 | |
%81 = load i64, i64 addrspace(11)* %80, align 8, !dbg !494, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %81, label %L31 [ | |
i64 0, label %L20 | |
i64 1, label %L27 | |
], !dbg !495 | |
fail8: ; preds = %L38 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !448 | |
unreachable, !dbg !448 | |
pass9: ; preds = %L38 | |
%82 = call fastcc { {} addrspace(10)*, i8 } @julia_set_constants_2105([8 x i8]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %4, {} addrspace(10)* nocapture noundef nonnull align 8 dereferenceable(64) %46, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2) #53, !dbg !449 | |
%83 = getelementptr inbounds i8, i8 addrspace(11)* %26, i64 56, !dbg !496 | |
%84 = bitcast i8 addrspace(11)* %83 to {} addrspace(10)* addrspace(11)*, !dbg !496 | |
%85 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %84 unordered, align 8, !dbg !496, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not48 = icmp eq {} addrspace(10)* %85, null, !dbg !496 | |
br i1 %.not48, label %fail10, label %pass11, !dbg !496 | |
fail10: ; preds = %pass9 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !496 | |
unreachable, !dbg !496 | |
pass11: ; preds = %pass9 | |
%86 = add i64 %value_phi, 1, !dbg !497 | |
%87 = bitcast {} addrspace(10)* %2 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !498 | |
%88 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %87 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !498 | |
%89 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %88, i64 0, i32 1, !dbg !498 | |
%90 = load i64, i64 addrspace(11)* %89, align 8, !dbg !498, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not49 = icmp sgt i64 %86, %90, !dbg !508 | |
%value_phi12 = select i1 %.not49, i64 %value_phi, i64 %90, !dbg !512 | |
%.sroa.0.0..sroa_idx = getelementptr inbounds [1 x [2 x i64]], [1 x [2 x i64]]* %5, i64 0, i64 0, i64 0, !dbg !518 | |
store i64 %86, i64* %.sroa.0.0..sroa_idx, align 8, !dbg !518, !tbaa !335, !alias.scope !337, !noalias !338 | |
%.sroa.2.0..sroa_idx24 = getelementptr inbounds [1 x [2 x i64]], [1 x [2 x i64]]* %5, i64 0, i64 0, i64 1, !dbg !518 | |
store i64 %value_phi12, i64* %.sroa.2.0..sroa_idx24, align 8, !dbg !518, !tbaa !335, !alias.scope !337, !noalias !338 | |
%91 = icmp slt i64 %value_phi12, %86, !dbg !519 | |
%92 = icmp ult i64 %value_phi, 9223372036854775807, !dbg !526 | |
%93 = icmp sle i64 %86, %90, !dbg !526 | |
%94 = and i1 %92, %93, !dbg !528 | |
%95 = icmp ne i64 %value_phi12, 0, !dbg !526 | |
%96 = icmp ule i64 %value_phi12, %90, !dbg !526 | |
%97 = and i1 %95, %96, !dbg !528 | |
%98 = and i1 %94, %97, !dbg !530 | |
%99 = or i1 %91, %98, !dbg !531 | |
br i1 %99, label %L74, label %L71, !dbg !450 | |
union_move16: ; preds = %L85 | |
%100 = bitcast [8 x i8]* %0 to i64*, !dbg !454 | |
br label %common.ret, !dbg !454 | |
fail17: ; preds = %L27 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !444 | |
unreachable, !dbg !444 | |
pass18: ; preds = %L27 | |
%101 = call fastcc i64 @julia_count_constants_2110({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %40) #53, !dbg !445 | |
br label %L38, !dbg !445 | |
fail19: ; preds = %L31 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !446 | |
unreachable, !dbg !446 | |
pass20: ; preds = %L31 | |
%102 = call fastcc i64 @julia_count_constants_2110({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %45) #53, !dbg !447 | |
%103 = getelementptr inbounds i8, i8 addrspace(11)* %42, i64 56, !dbg !446 | |
%104 = bitcast i8 addrspace(11)* %103 to {} addrspace(10)* addrspace(11)*, !dbg !446 | |
%105 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %104 unordered, align 8, !dbg !446, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not56 = icmp eq {} addrspace(10)* %105, null, !dbg !446 | |
br i1 %.not56, label %fail21, label %pass22, !dbg !446 | |
fail21: ; preds = %pass20 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !446 | |
unreachable, !dbg !446 | |
pass22: ; preds = %pass20 | |
%106 = call fastcc i64 @julia_count_constants_2110({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %105) #53, !dbg !447 | |
%107 = add i64 %106, %102, !dbg !533 | |
br label %L38, !dbg !447 | |
} | |
; Function Attrs: argmemonly nofree nounwind willreturn | |
declare void @llvm.memcpy.p0i8.p11i8.i64(i8* noalias nocapture writeonly, i8 addrspace(11)* noalias nocapture readonly, i64, i1 immarg) #5 | |
; Function Attrs: noinline noreturn | |
define internal fastcc void @julia_throw_checksize_error_2097({} addrspace(10)* nocapture noundef nonnull readonly align 16 dereferenceable(40) %0, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %1) unnamed_addr #22 !dbg !536 { | |
top: | |
%2 = call {}*** @julia.get_pgcstack() | |
%3 = bitcast {} addrspace(10)* %0 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !537 | |
%4 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %3 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !537 | |
%5 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %4, i64 0, i32 1, !dbg !537 | |
%6 = load i64, i64 addrspace(11)* %5, align 8, !dbg !537, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%current_task14 = getelementptr inbounds {}**, {}*** %2, i64 -13, !dbg !539 | |
%current_task1 = bitcast {}*** %current_task14 to {}**, !dbg !539 | |
%7 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809558626240 to {}*) to {} addrspace(10)*)) #49, !dbg !539 | |
%8 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]] addrspace(11)* %1, i64 0, i64 0, i64 0, !dbg !539 | |
%9 = bitcast {} addrspace(10)* %7 to i64 addrspace(10)*, !dbg !539 | |
%10 = load i64, i64 addrspace(11)* %8, align 8, !dbg !539, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144 | |
store i64 %10, i64 addrspace(10)* %9, align 8, !dbg !539, !tbaa !145, !alias.scope !70, !noalias !148 | |
%11 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809558620992 to {}*) to {} addrspace(10)*)) #49, !dbg !539 | |
%12 = bitcast {} addrspace(10)* %11 to i64 addrspace(10)*, !dbg !539 | |
store i64 %6, i64 addrspace(10)* %12, align 8, !dbg !539, !tbaa !145, !alias.scope !70, !noalias !148 | |
%13 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809558633216 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809496386432 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809504460960 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %7, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809504460928 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %11) #50, !dbg !539 | |
%14 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task1, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809549581744 to {}*) to {} addrspace(10)*)) #49, !dbg !539 | |
%15 = bitcast {} addrspace(10)* %14 to {} addrspace(10)* addrspace(10)*, !dbg !539 | |
store {} addrspace(10)* %13, {} addrspace(10)* addrspace(10)* %15, align 8, !dbg !539, !tbaa !145, !alias.scope !70, !noalias !148 | |
%16 = addrspacecast {} addrspace(10)* %14 to {} addrspace(12)*, !dbg !539 | |
call void @ijl_throw({} addrspace(12)* %16) #51, !dbg !539 | |
unreachable, !dbg !539 | |
} | |
define internal fastcc void @julia_deg0_eval_2091({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %0, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull readnone align 8 dereferenceable(8) %1, {} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %2, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3) unnamed_addr #23 !dbg !540 { | |
top: | |
%4 = alloca { i64, [1 x [1 x i64]] }, align 8 | |
%5 = alloca [1 x [1 x i64]], align 8 | |
%6 = call {}*** @julia.get_pgcstack() | |
%7 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !541 | |
%8 = addrspacecast i8 addrspace(10)* %7 to i8 addrspace(11)*, !dbg !541 | |
%9 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 8, !dbg !541 | |
%10 = load i8, i8 addrspace(11)* %9, align 8, !dbg !541, !tbaa !154, !alias.scope !70, !noalias !71 | |
%11 = and i8 %10, 1, !dbg !541 | |
%.not = icmp eq i8 %11, 0, !dbg !541 | |
br i1 %.not, label %L39, label %L3, !dbg !543 | |
L3: ; preds = %top | |
%12 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 16, !dbg !544 | |
%13 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 24, !dbg !544 | |
%14 = load i8, i8 addrspace(11)* %13, align 8, !dbg !544, !tbaa !492, !range !546, !alias.scope !337, !noalias !547 | |
%15 = bitcast i8 addrspace(11)* %12 to i64 addrspace(11)*, !dbg !544 | |
%16 = load i64, i64 addrspace(11)* %15, align 8, !dbg !544, !tbaa !154, !alias.scope !70, !noalias !71 | |
%17 = icmp eq i8 %14, 1, !dbg !545 | |
br i1 %17, label %pass, label %post_box_union, !dbg !545 | |
L20: ; preds = %L20, %L20.preheader.new.new | |
%value_phi5 = phi i64 [ 1, %L20.preheader.new.new ], [ %65, %L20 ] | |
%niter62 = phi i64 [ 0, %L20.preheader.new.new ], [ %niter62.next.1, %L20 ] | |
%18 = add nsw i64 %value_phi5, -1, !dbg !548 | |
%19 = getelementptr inbounds double, double addrspace(13)* %149, i64 %18, !dbg !548 | |
%20 = bitcast double addrspace(13)* %19 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %20, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%21 = add nuw nsw i64 %value_phi5, 1, !dbg !555 | |
%22 = getelementptr inbounds double, double addrspace(13)* %149, i64 %value_phi5, !dbg !548 | |
%23 = bitcast double addrspace(13)* %22 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %23, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%24 = add nuw nsw i64 %value_phi5, 2, !dbg !555 | |
%25 = getelementptr inbounds double, double addrspace(13)* %149, i64 %21, !dbg !548 | |
%26 = bitcast double addrspace(13)* %25 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %26, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%27 = add nuw nsw i64 %value_phi5, 3, !dbg !555 | |
%28 = getelementptr inbounds double, double addrspace(13)* %149, i64 %24, !dbg !548 | |
%29 = bitcast double addrspace(13)* %28 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %29, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%30 = add nuw nsw i64 %value_phi5, 4, !dbg !555 | |
%31 = getelementptr inbounds double, double addrspace(13)* %149, i64 %27, !dbg !548 | |
%32 = bitcast double addrspace(13)* %31 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %32, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%33 = add nuw nsw i64 %value_phi5, 5, !dbg !555 | |
%34 = getelementptr inbounds double, double addrspace(13)* %149, i64 %30, !dbg !548 | |
%35 = bitcast double addrspace(13)* %34 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %35, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%36 = add nuw nsw i64 %value_phi5, 6, !dbg !555 | |
%37 = getelementptr inbounds double, double addrspace(13)* %149, i64 %33, !dbg !548 | |
%38 = bitcast double addrspace(13)* %37 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %38, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%39 = getelementptr inbounds double, double addrspace(13)* %149, i64 %36, !dbg !548 | |
%40 = bitcast double addrspace(13)* %39 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %40, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%41 = add nuw nsw i64 %value_phi5, 8, !dbg !555 | |
%42 = add nuw nsw i64 %value_phi5, 7, !dbg !548 | |
%43 = getelementptr inbounds double, double addrspace(13)* %149, i64 %42, !dbg !548 | |
%44 = bitcast double addrspace(13)* %43 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %44, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%45 = add nuw nsw i64 %value_phi5, 9, !dbg !555 | |
%46 = getelementptr inbounds double, double addrspace(13)* %149, i64 %41, !dbg !548 | |
%47 = bitcast double addrspace(13)* %46 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %47, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%48 = add nuw nsw i64 %value_phi5, 10, !dbg !555 | |
%49 = getelementptr inbounds double, double addrspace(13)* %149, i64 %45, !dbg !548 | |
%50 = bitcast double addrspace(13)* %49 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %50, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%51 = add nuw nsw i64 %value_phi5, 11, !dbg !555 | |
%52 = getelementptr inbounds double, double addrspace(13)* %149, i64 %48, !dbg !548 | |
%53 = bitcast double addrspace(13)* %52 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %53, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%54 = add nuw nsw i64 %value_phi5, 12, !dbg !555 | |
%55 = getelementptr inbounds double, double addrspace(13)* %149, i64 %51, !dbg !548 | |
%56 = bitcast double addrspace(13)* %55 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %56, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%57 = add nuw nsw i64 %value_phi5, 13, !dbg !555 | |
%58 = getelementptr inbounds double, double addrspace(13)* %149, i64 %54, !dbg !548 | |
%59 = bitcast double addrspace(13)* %58 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %59, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%60 = add nuw nsw i64 %value_phi5, 14, !dbg !555 | |
%61 = getelementptr inbounds double, double addrspace(13)* %149, i64 %57, !dbg !548 | |
%62 = bitcast double addrspace(13)* %61 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %62, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%63 = getelementptr inbounds double, double addrspace(13)* %149, i64 %60, !dbg !548 | |
%64 = bitcast double addrspace(13)* %63 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %64, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%65 = add nuw nsw i64 %value_phi5, 16, !dbg !555 | |
%niter62.next.1 = add i64 %niter62, 2, !dbg !557 | |
%niter62.ncmp.1 = icmp eq i64 %niter62.next.1, %unroll_iter61, !dbg !557 | |
br i1 %niter62.ncmp.1, label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, label %L20, !dbg !557 | |
common.ret: ; preds = %L131, %L37 | |
%.pn53 = phi {} addrspace(10)* [ %142, %L37 ], [ %113, %L131 ] | |
%.pn = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %.pn53, 0, !dbg !558 | |
%storemerge = insertvalue { {} addrspace(10)*, i8 } %.pn, i8 1, 1, !dbg !558 | |
store { {} addrspace(10)*, i8 } %storemerge, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !558, !noalias !423 | |
ret void, !dbg !558 | |
L37.loopexit.unr-lcssa.loopexit.unr-lcssa: ; preds = %L20, %L20.preheader.new | |
%.lcssa.ph = phi i64 [ undef, %L20.preheader.new ], [ %65, %L20 ] | |
%value_phi5.unr59 = phi i64 [ 1, %L20.preheader.new ], [ %65, %L20 ] | |
%lcmp.mod.not63 = icmp eq i64 %xtraiter55, 0, !dbg !557 | |
br i1 %lcmp.mod.not63, label %L37.loopexit.unr-lcssa, label %L20.epil.preheader54, !dbg !557 | |
L20.epil.preheader54: ; preds = %L37.loopexit.unr-lcssa.loopexit.unr-lcssa | |
%66 = add nsw i64 %value_phi5.unr59, -1, !dbg !548 | |
%67 = getelementptr inbounds double, double addrspace(13)* %149, i64 %66, !dbg !548 | |
%68 = bitcast double addrspace(13)* %67 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %68, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%69 = add nuw nsw i64 %value_phi5.unr59, 1, !dbg !555 | |
%70 = getelementptr inbounds double, double addrspace(13)* %149, i64 %value_phi5.unr59, !dbg !548 | |
%71 = bitcast double addrspace(13)* %70 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %71, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%72 = add nuw nsw i64 %value_phi5.unr59, 2, !dbg !555 | |
%73 = getelementptr inbounds double, double addrspace(13)* %149, i64 %69, !dbg !548 | |
%74 = bitcast double addrspace(13)* %73 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %74, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%75 = add nuw nsw i64 %value_phi5.unr59, 3, !dbg !555 | |
%76 = getelementptr inbounds double, double addrspace(13)* %149, i64 %72, !dbg !548 | |
%77 = bitcast double addrspace(13)* %76 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %77, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%78 = add nuw nsw i64 %value_phi5.unr59, 4, !dbg !555 | |
%79 = getelementptr inbounds double, double addrspace(13)* %149, i64 %75, !dbg !548 | |
%80 = bitcast double addrspace(13)* %79 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %80, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%81 = add nuw nsw i64 %value_phi5.unr59, 5, !dbg !555 | |
%82 = getelementptr inbounds double, double addrspace(13)* %149, i64 %78, !dbg !548 | |
%83 = bitcast double addrspace(13)* %82 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %83, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%84 = add nuw nsw i64 %value_phi5.unr59, 6, !dbg !555 | |
%85 = getelementptr inbounds double, double addrspace(13)* %149, i64 %81, !dbg !548 | |
%86 = bitcast double addrspace(13)* %85 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %86, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%87 = getelementptr inbounds double, double addrspace(13)* %149, i64 %84, !dbg !548 | |
%88 = bitcast double addrspace(13)* %87 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %88, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%89 = add nuw nsw i64 %value_phi5.unr59, 8, !dbg !555 | |
br label %L37.loopexit.unr-lcssa, !dbg !557 | |
L37.loopexit.unr-lcssa: ; preds = %L20.epil.preheader54, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, %L20.preheader | |
%value_phi5.unr = phi i64 [ 1, %L20.preheader ], [ %.lcssa.ph, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa ], [ %89, %L20.epil.preheader54 ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !557 | |
br i1 %lcmp.mod.not, label %L37, label %L20.epil, !dbg !557 | |
L20.epil: ; preds = %L37.loopexit.unr-lcssa, %L20.epil | |
%value_phi5.epil = phi i64 [ %93, %L20.epil ], [ %value_phi5.unr, %L37.loopexit.unr-lcssa ] | |
%epil.iter = phi i64 [ %epil.iter.next, %L20.epil ], [ 0, %L37.loopexit.unr-lcssa ] | |
%90 = add nsw i64 %value_phi5.epil, -1, !dbg !548 | |
%91 = getelementptr inbounds double, double addrspace(13)* %149, i64 %90, !dbg !548 | |
%92 = bitcast double addrspace(13)* %91 to i64 addrspace(13)*, !dbg !548 | |
store i64 %16, i64 addrspace(13)* %92, align 8, !dbg !548, !tbaa !67, !alias.scope !70, !noalias !148 | |
%93 = add nuw nsw i64 %value_phi5.epil, 1, !dbg !555 | |
%epil.iter.next = add nuw nsw i64 %epil.iter, 1, !dbg !557 | |
%epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter, !dbg !557 | |
br i1 %epil.iter.cmp.not, label %L37, label %L20.epil, !dbg !557, !llvm.loop !559 | |
L37: ; preds = %L20.epil, %L37.loopexit.unr-lcssa, %pass | |
%94 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !545 | |
br label %common.ret | |
L39: ; preds = %top | |
%95 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 32, !dbg !560 | |
%96 = bitcast i8 addrspace(11)* %95 to i64 addrspace(11)*, !dbg !560 | |
%97 = load i64, i64 addrspace(11)* %96, align 8, !dbg !560, !tbaa !154, !alias.scope !70, !noalias !71 | |
%98 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !562 | |
%99 = addrspacecast {} addrspace(10)* addrspace(10)* %98 to {} addrspace(10)* addrspace(11)*, !dbg !562 | |
%100 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %99, i64 4, !dbg !562 | |
%101 = bitcast {} addrspace(10)* addrspace(11)* %100 to i64 addrspace(11)*, !dbg !562 | |
%102 = load i64, i64 addrspace(11)* %101, align 16, !dbg !562, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%103 = getelementptr inbounds { i64, [1 x [1 x i64]] }, { i64, [1 x [1 x i64]] }* %4, i64 0, i32 0, !dbg !570 | |
store i64 %97, i64* %103, align 8, !dbg !570, !tbaa !335, !alias.scope !337, !noalias !338 | |
%104 = getelementptr inbounds { i64, [1 x [1 x i64]] }, { i64, [1 x [1 x i64]] }* %4, i64 0, i32 1, i64 0, i64 0, !dbg !570 | |
store i64 %102, i64* %104, align 8, !dbg !570, !tbaa !335, !alias.scope !337, !noalias !338 | |
%105 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %99, i64 3, !dbg !574 | |
%106 = bitcast {} addrspace(10)* addrspace(11)* %105 to i64 addrspace(11)*, !dbg !574 | |
%107 = load i64, i64 addrspace(11)* %106, align 8, !dbg !574, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%108 = icmp slt i64 %97, 1, !dbg !578 | |
%109 = icmp sgt i64 %97, %107, !dbg !578 | |
%110 = or i1 %108, %109, !dbg !577 | |
br i1 %110, label %L56, label %L59, !dbg !577 | |
L56: ; preds = %L39 | |
%111 = addrspacecast { i64, [1 x [1 x i64]] }* %4 to { i64, [1 x [1 x i64]] } addrspace(11)*, !dbg !577 | |
call fastcc void @julia_throw_boundserror_2095({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, { i64, [1 x [1 x i64]] } addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %111) #56, !dbg !577 | |
unreachable, !dbg !577 | |
L59: ; preds = %L39 | |
%112 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %5, i64 0, i64 0, i64 0, !dbg !584 | |
store i64 %102, i64* %112, align 8, !dbg !584, !tbaa !335, !alias.scope !337, !noalias !338 | |
%113 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %102), !dbg !592 | |
%114 = bitcast {} addrspace(10)* %113 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !600 | |
%115 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %114 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !600 | |
%116 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %115, i64 0, i32 1, !dbg !600 | |
%117 = load i64, i64 addrspace(11)* %116, align 8, !dbg !600, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not47.not = icmp eq i64 %117, %102, !dbg !603 | |
br i1 %.not47.not, label %L72, label %L127, !dbg !602 | |
L72: ; preds = %L59 | |
%.not49.not = icmp eq i64 %102, 0, !dbg !610 | |
br i1 %.not49.not, label %L131, label %L92.preheader, !dbg !619 | |
L92.preheader: ; preds = %L72 | |
%118 = add nsw i64 %97, -1, !dbg !625 | |
%119 = bitcast {} addrspace(10)* %3 to double addrspace(13)* addrspace(10)* | |
%120 = addrspacecast double addrspace(13)* addrspace(10)* %119 to double addrspace(13)* addrspace(11)* | |
%121 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %120, align 8 | |
%122 = bitcast {} addrspace(10)* %113 to double addrspace(13)* addrspace(10)* | |
%123 = addrspacecast double addrspace(13)* addrspace(10)* %122 to double addrspace(13)* addrspace(11)* | |
br label %L92, !dbg !630 | |
L92: ; preds = %L92.preheader, %L100 | |
%value_phi17 = phi i64 [ %134, %L100 ], [ 1, %L92.preheader ] | |
%value_phi19 = phi i1 [ %132, %L100 ], [ false, %L92.preheader ] | |
%value_phi20 = phi i64 [ %value_phi23, %L100 ], [ 1, %L92.preheader ] | |
br i1 %value_phi19, label %L131, label %L100, !dbg !630 | |
L100: ; preds = %L92 | |
%124 = add nsw i64 %value_phi17, -1, !dbg !625 | |
%125 = mul i64 %124, %107, !dbg !625 | |
%126 = add i64 %118, %125, !dbg !625 | |
%127 = getelementptr inbounds double, double addrspace(13)* %121, i64 %126, !dbg !625 | |
%128 = load double, double addrspace(13)* %127, align 8, !dbg !625, !tbaa !67, !alias.scope !70, !noalias !71 | |
%129 = add i64 %value_phi20, -1, !dbg !631 | |
%130 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %123, align 8, !dbg !631, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%131 = getelementptr inbounds double, double addrspace(13)* %130, i64 %129, !dbg !631 | |
store double %128, double addrspace(13)* %131, align 8, !dbg !631, !tbaa !67, !alias.scope !70, !noalias !148 | |
%132 = icmp eq i64 %value_phi20, %102, !dbg !632 | |
%133 = add i64 %value_phi20, 1, !dbg !633 | |
%value_phi23 = select i1 %132, i64 undef, i64 %133, !dbg !633 | |
%.not50 = icmp eq i64 %value_phi17, %102, !dbg !635 | |
%134 = add nuw nsw i64 %value_phi17, 1, !dbg !636 | |
br i1 %.not50, label %L131, label %L92, !dbg !638 | |
L127: ; preds = %L59 | |
%135 = addrspacecast [1 x [1 x i64]]* %5 to [1 x [1 x i64]] addrspace(11)*, !dbg !602 | |
call fastcc void @julia_throw_checksize_error_2097({} addrspace(10)* nocapture noundef nonnull readonly align 16 dereferenceable(40) %113, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %135) #56, !dbg !602 | |
unreachable, !dbg !602 | |
L131: ; preds = %L92, %L100, %L72 | |
%136 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !561 | |
br label %common.ret | |
post_box_union: ; preds = %L3 | |
call void @ijl_type_error(i8* noundef getelementptr inbounds ([11 x i8], [11 x i8]* @_j_str1, i64 0, i64 0), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809581499376 to {}*) to {} addrspace(10)*), {} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(12)*)) #51, !dbg !545 | |
unreachable, !dbg !545 | |
pass: ; preds = %L3 | |
%137 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !639 | |
%138 = addrspacecast {} addrspace(10)* addrspace(10)* %137 to {} addrspace(10)* addrspace(11)*, !dbg !639 | |
%139 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %138, i64 4, !dbg !639 | |
%140 = bitcast {} addrspace(10)* addrspace(11)* %139 to i64 addrspace(11)*, !dbg !639 | |
%141 = load i64, i64 addrspace(11)* %140, align 16, !dbg !639, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%142 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %141), !dbg !641 | |
%143 = bitcast {} addrspace(10)* %142 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !643 | |
%144 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %143 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !643 | |
%145 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %144, i64 0, i32 1, !dbg !643 | |
%146 = load i64, i64 addrspace(11)* %145, align 8, !dbg !643, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not45.not = icmp eq i64 %146, 0, !dbg !650 | |
br i1 %.not45.not, label %L37, label %L20.preheader, !dbg !649 | |
L20.preheader: ; preds = %pass | |
%147 = bitcast {} addrspace(10)* %142 to double addrspace(13)* addrspace(10)* | |
%148 = addrspacecast double addrspace(13)* addrspace(10)* %147 to double addrspace(13)* addrspace(11)* | |
%149 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %148, align 8, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%150 = add nsw i64 %146, -1, !dbg !557 | |
%xtraiter = and i64 %146, 7, !dbg !557 | |
%151 = icmp ult i64 %150, 7, !dbg !557 | |
br i1 %151, label %L37.loopexit.unr-lcssa, label %L20.preheader.new, !dbg !557 | |
L20.preheader.new: ; preds = %L20.preheader | |
%unroll_iter = and i64 %146, 9223372036854775800, !dbg !557 | |
%152 = add nsw i64 %unroll_iter, -8, !dbg !557 | |
%153 = lshr exact i64 %152, 3, !dbg !557 | |
%154 = add nuw nsw i64 %153, 1, !dbg !557 | |
%xtraiter55 = and i64 %154, 1, !dbg !557 | |
%155 = icmp eq i64 %152, 0, !dbg !557 | |
br i1 %155, label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, label %L20.preheader.new.new, !dbg !557 | |
L20.preheader.new.new: ; preds = %L20.preheader.new | |
%unroll_iter61 = and i64 %154, 4611686018427387902, !dbg !557 | |
br label %L20, !dbg !557 | |
} | |
; Function Attrs: noreturn | |
declare void @ijl_type_error(i8*, {} addrspace(10)*, {} addrspace(12)*) local_unnamed_addr #6 | |
define internal fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %0) unnamed_addr #24 !dbg !654 { | |
top: | |
%1 = call {}*** @julia.get_pgcstack() | |
%2 = bitcast {} addrspace(10)* %0 to i64 addrspace(10)*, !dbg !655 | |
%3 = addrspacecast i64 addrspace(10)* %2 to i64 addrspace(11)*, !dbg !655 | |
%4 = load i64, i64 addrspace(11)* %3, align 8, !dbg !655, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %4, label %L12 [ | |
i64 0, label %L4 | |
i64 1, label %L9 | |
], !dbg !657 | |
common.ret: ; preds = %pass2, %pass4, %pass, %L4 | |
%common.ret.op = phi i8 [ %9, %L4 ], [ %23, %pass ], [ %26, %pass4 ], [ 0, %pass2 ] | |
ret i8 %common.ret.op, !dbg !658 | |
L4: ; preds = %top | |
%5 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !659 | |
%6 = addrspacecast i8 addrspace(10)* %5 to i8 addrspace(11)*, !dbg !659 | |
%7 = getelementptr inbounds i8, i8 addrspace(11)* %6, i64 8, !dbg !659 | |
%8 = load i8, i8 addrspace(11)* %7, align 8, !dbg !659, !tbaa !154, !alias.scope !70, !noalias !71 | |
%9 = and i8 %8, 1, !dbg !659 | |
br label %common.ret | |
L9: ; preds = %top | |
%10 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !661 | |
%11 = addrspacecast i8 addrspace(10)* %10 to i8 addrspace(11)*, !dbg !661 | |
%12 = getelementptr inbounds i8, i8 addrspace(11)* %11, i64 48, !dbg !661 | |
%13 = bitcast i8 addrspace(11)* %12 to {} addrspace(10)* addrspace(11)*, !dbg !661 | |
%14 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %13 unordered, align 8, !dbg !661, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not11 = icmp eq {} addrspace(10)* %14, null, !dbg !661 | |
br i1 %.not11, label %fail, label %pass, !dbg !661 | |
L12: ; preds = %top | |
%15 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !663 | |
%16 = addrspacecast i8 addrspace(10)* %15 to i8 addrspace(11)*, !dbg !663 | |
%17 = getelementptr inbounds i8, i8 addrspace(11)* %16, i64 48, !dbg !663 | |
%18 = bitcast i8 addrspace(11)* %17 to {} addrspace(10)* addrspace(11)*, !dbg !663 | |
%19 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %18 unordered, align 8, !dbg !663, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not12 = icmp eq {} addrspace(10)* %19, null, !dbg !663 | |
br i1 %.not12, label %fail1, label %pass2, !dbg !663 | |
L15: ; preds = %pass2 | |
%20 = getelementptr inbounds i8, i8 addrspace(11)* %16, i64 56, !dbg !663 | |
%21 = bitcast i8 addrspace(11)* %20 to {} addrspace(10)* addrspace(11)*, !dbg !663 | |
%22 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %21 unordered, align 8, !dbg !663, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not14 = icmp eq {} addrspace(10)* %22, null, !dbg !663 | |
br i1 %.not14, label %fail3, label %pass4, !dbg !663 | |
fail: ; preds = %L9 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !661 | |
unreachable, !dbg !661 | |
pass: ; preds = %L9 | |
%23 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %14) #53, !dbg !662 | |
br label %common.ret | |
fail1: ; preds = %L12 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !663 | |
unreachable, !dbg !663 | |
pass2: ; preds = %L12 | |
%24 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %19) #53, !dbg !664 | |
%25 = and i8 %24, 1, !dbg !664 | |
%.not13 = icmp eq i8 %25, 0, !dbg !664 | |
br i1 %.not13, label %common.ret, label %L15, !dbg !664 | |
fail3: ; preds = %L15 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !663 | |
unreachable, !dbg !663 | |
pass4: ; preds = %L15 | |
%26 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %22) #53, !dbg !664 | |
br label %common.ret | |
} | |
define internal fastcc void @julia__eval_constant_tree_2089({ double, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ double, i8 }) align 8 dereferenceable(16) %0, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %1, [4 x {} addrspace(10)*] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(32) %2) unnamed_addr #25 !dbg !665 { | |
top: | |
%3 = call {}*** @julia.get_pgcstack() | |
%4 = bitcast {} addrspace(10)* %1 to i64 addrspace(10)*, !dbg !666 | |
%5 = addrspacecast i64 addrspace(10)* %4 to i64 addrspace(11)*, !dbg !666 | |
%6 = load i64, i64 addrspace(11)* %5, align 8, !dbg !666, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %6, label %L17 [ | |
i64 0, label %L4 | |
i64 1, label %L12 | |
], !dbg !668 | |
L4: ; preds = %top | |
%7 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !669 | |
%8 = addrspacecast i8 addrspace(10)* %7 to i8 addrspace(11)*, !dbg !669 | |
%9 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 24, !dbg !669 | |
%10 = load i8, i8 addrspace(11)* %9, align 8, !dbg !669, !tbaa !492, !range !546, !alias.scope !337, !noalias !547 | |
%11 = icmp eq i8 %10, 1, !dbg !670 | |
br i1 %11, label %pass, label %post_box_union, !dbg !670 | |
L12: ; preds = %top | |
%12 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %2, i64 0, i64 1, !dbg !673 | |
%13 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %12 unordered, align 8, !dbg !673, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%14 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !673 | |
%15 = addrspacecast i8 addrspace(10)* %14 to i8 addrspace(11)*, !dbg !673 | |
%16 = getelementptr inbounds i8, i8 addrspace(11)* %15, i64 40, !dbg !673 | |
%17 = bitcast i8 addrspace(11)* %16 to i64 addrspace(11)*, !dbg !673 | |
%18 = load i64, i64 addrspace(11)* %17, align 8, !dbg !673, !tbaa !154, !alias.scope !70, !noalias !71 | |
%19 = add i64 %18, -1, !dbg !677 | |
%20 = bitcast {} addrspace(10)* %13 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !677 | |
%21 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %20 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !677 | |
%22 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %21, i64 0, i32 1, !dbg !677 | |
%23 = load i64, i64 addrspace(11)* %22, align 8, !dbg !677, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%24 = icmp ult i64 %19, %23, !dbg !677 | |
br i1 %24, label %idxend, label %oob, !dbg !677 | |
L17: ; preds = %top | |
%25 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %2, i64 0, i64 0, !dbg !679 | |
%26 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %25 unordered, align 8, !dbg !679, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%27 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !679 | |
%28 = addrspacecast i8 addrspace(10)* %27 to i8 addrspace(11)*, !dbg !679 | |
%29 = getelementptr inbounds i8, i8 addrspace(11)* %28, i64 40, !dbg !679 | |
%30 = bitcast i8 addrspace(11)* %29 to i64 addrspace(11)*, !dbg !679 | |
%31 = load i64, i64 addrspace(11)* %30, align 8, !dbg !679, !tbaa !154, !alias.scope !70, !noalias !71 | |
%32 = add i64 %31, -1, !dbg !681 | |
%33 = bitcast {} addrspace(10)* %26 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !681 | |
%34 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %33 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !681 | |
%35 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %34, i64 0, i32 1, !dbg !681 | |
%36 = load i64, i64 addrspace(11)* %35, align 8, !dbg !681, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%37 = icmp ult i64 %32, %36, !dbg !681 | |
br i1 %37, label %idxend7, label %oob6, !dbg !681 | |
post_box_union: ; preds = %L4 | |
call void @ijl_type_error(i8* noundef getelementptr inbounds ([11 x i8], [11 x i8]* @_j_str1, i64 0, i64 0), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809581499376 to {}*) to {} addrspace(10)*), {} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(12)*)) #51, !dbg !670 | |
unreachable, !dbg !670 | |
common.ret: ; preds = %pass9, %pass4, %pass | |
ret void, !dbg !682 | |
pass: ; preds = %L4 | |
%38 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 16, !dbg !669 | |
%39 = bitcast i8 addrspace(11)* %38 to i64 addrspace(11)*, !dbg !669 | |
%40 = load i64, i64 addrspace(11)* %39, align 8, !dbg !669, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.sroa.0.0..sroa_cast = bitcast { double, i8 }* %0 to i64*, !dbg !672 | |
store i64 %40, i64* %.sroa.0.0..sroa_cast, align 8, !dbg !672, !noalias !423 | |
%.sroa.2.0..sroa_idx = getelementptr inbounds { double, i8 }, { double, i8 }* %0, i64 0, i32 1, !dbg !672 | |
store i8 1, i8* %.sroa.2.0..sroa_idx, align 8, !dbg !672, !noalias !423 | |
br label %common.ret | |
oob: ; preds = %L12 | |
%41 = alloca i64, align 8, !dbg !677 | |
store i64 %18, i64* %41, align 8, !dbg !677, !noalias !423 | |
%42 = addrspacecast {} addrspace(10)* %13 to {} addrspace(12)*, !dbg !677 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %42, i64* noundef nonnull align 8 %41, i64 noundef 1) #51, !dbg !677 | |
unreachable, !dbg !677 | |
idxend: ; preds = %L12 | |
%43 = bitcast {} addrspace(10)* %13 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !677 | |
%44 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %43 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !677 | |
%45 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %44, align 8, !dbg !677, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%46 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %45, i64 %19, !dbg !677 | |
%47 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %46, align 8, !dbg !677, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not21 = icmp eq {} addrspace(10)* %47, null, !dbg !677 | |
br i1 %.not21, label %fail3, label %pass4, !dbg !677 | |
fail3: ; preds = %idxend | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !677 | |
unreachable, !dbg !677 | |
pass4: ; preds = %idxend | |
%current_task522 = getelementptr inbounds {}**, {}*** %3, i64 -13, !dbg !674 | |
%current_task5 = bitcast {}*** %current_task522 to {}**, !dbg !674 | |
%48 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task5, i64 noundef 32, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811454720 to {}*) to {} addrspace(10)*)) #49, !dbg !674 | |
%49 = bitcast {} addrspace(10)* %48 to i8 addrspace(10)*, !dbg !674 | |
%50 = bitcast [4 x {} addrspace(10)*] addrspace(11)* %2 to i8 addrspace(11)*, !dbg !674 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(32) %49, i8 addrspace(11)* nofree noundef nonnull align 8 dereferenceable(32) %50, i64 noundef 32, i1 noundef false), !dbg !674, !tbaa !39, !alias.scope !42, !noalias !46 | |
%51 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811896672 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %1, {} addrspace(10)* nonnull %47, {} addrspace(10)* nonnull %48) #50, !dbg !674 | |
%52 = bitcast { double, i8 }* %0 to i8*, !dbg !674 | |
%53 = bitcast {} addrspace(10)* %51 to i8 addrspace(10)*, !dbg !674 | |
%54 = addrspacecast i8 addrspace(10)* %53 to i8 addrspace(11)*, !dbg !674 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %52, i8 addrspace(11)* noundef align 1 dereferenceable(16) %54, i64 noundef 16, i1 noundef false), !dbg !674, !noalias !423 | |
br label %common.ret | |
oob6: ; preds = %L17 | |
%55 = alloca i64, align 8, !dbg !681 | |
store i64 %31, i64* %55, align 8, !dbg !681, !noalias !423 | |
%56 = addrspacecast {} addrspace(10)* %26 to {} addrspace(12)*, !dbg !681 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %56, i64* noundef nonnull align 8 %55, i64 noundef 1) #51, !dbg !681 | |
unreachable, !dbg !681 | |
idxend7: ; preds = %L17 | |
%57 = bitcast {} addrspace(10)* %26 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !681 | |
%58 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %57 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !681 | |
%59 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %58, align 8, !dbg !681, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%60 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %59, i64 %32, !dbg !681 | |
%61 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %60, align 8, !dbg !681, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not23 = icmp eq {} addrspace(10)* %61, null, !dbg !681 | |
br i1 %.not23, label %fail8, label %pass9, !dbg !681 | |
fail8: ; preds = %idxend7 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !681 | |
unreachable, !dbg !681 | |
pass9: ; preds = %idxend7 | |
%current_task1024 = getelementptr inbounds {}**, {}*** %3, i64 -13, !dbg !680 | |
%current_task10 = bitcast {}*** %current_task1024 to {}**, !dbg !680 | |
%62 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task10, i64 noundef 32, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811454720 to {}*) to {} addrspace(10)*)) #49, !dbg !680 | |
%63 = bitcast {} addrspace(10)* %62 to i8 addrspace(10)*, !dbg !680 | |
%64 = bitcast [4 x {} addrspace(10)*] addrspace(11)* %2 to i8 addrspace(11)*, !dbg !680 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(32) %63, i8 addrspace(11)* nofree noundef nonnull align 8 dereferenceable(32) %64, i64 noundef 32, i1 noundef false), !dbg !680, !tbaa !39, !alias.scope !42, !noalias !46 | |
%65 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811939520 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %1, {} addrspace(10)* nonnull %61, {} addrspace(10)* nonnull %62) #50, !dbg !680 | |
%66 = bitcast { double, i8 }* %0 to i8*, !dbg !680 | |
%67 = bitcast {} addrspace(10)* %65 to i8 addrspace(10)*, !dbg !680 | |
%68 = addrspacecast i8 addrspace(10)* %67 to i8 addrspace(11)*, !dbg !680 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %66, i8 addrspace(11)* noundef align 1 dereferenceable(16) %68, i64 noundef 16, i1 noundef false), !dbg !680, !noalias !423 | |
br label %common.ret | |
} | |
; Function Attrs: nofree | |
declare nonnull {} addrspace(10)* @ijl_apply_generic({} addrspace(10)*, {} addrspace(10)** noalias nocapture noundef readonly, i32) #2 | |
declare nonnull {} addrspace(10)* @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) local_unnamed_addr #3 | |
define internal fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %0, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull writeonly align 8 dereferenceable(8) %1, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %2, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) unnamed_addr #26 !dbg !685 { | |
top: | |
%5 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%6 = alloca [1 x {} addrspace(10)*], align 8 | |
%7 = alloca { double, i8 }, align 8 | |
%8 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%9 = alloca [1 x {} addrspace(10)*], align 8 | |
%10 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%11 = alloca [1 x {} addrspace(10)*], align 8 | |
%12 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%13 = alloca [1 x {} addrspace(10)*], align 8 | |
%14 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%15 = alloca [1 x {} addrspace(10)*], align 8 | |
%16 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%17 = alloca [1 x {} addrspace(10)*], align 8 | |
%18 = call {}*** @julia.get_pgcstack() | |
%19 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !686 | |
%20 = addrspacecast {} addrspace(10)* addrspace(10)* %19 to {} addrspace(10)* addrspace(11)*, !dbg !686 | |
%21 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %20, i64 4, !dbg !686 | |
%22 = bitcast {} addrspace(10)* addrspace(11)* %21 to i64 addrspace(11)*, !dbg !686 | |
%23 = load i64, i64 addrspace(11)* %22, align 16, !dbg !686, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%24 = bitcast {} addrspace(10)* %2 to i64 addrspace(10)*, !dbg !689 | |
%25 = addrspacecast i64 addrspace(10)* %24 to i64 addrspace(11)*, !dbg !689 | |
%26 = load i64, i64 addrspace(11)* %25, align 8, !dbg !689, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %26, label %L18 [ | |
i64 0, label %L5 | |
i64 1, label %L15 | |
], !dbg !691 | |
common.ret: ; preds = %pass36, %pass24, %L440, %L437, %L386, %L377, %L326, %L318, %L315, %L264, %L252, %L249, %L198, %L186, %L170, %L167, %L116, %L67, %L32, %L5 | |
ret void, !dbg !692 | |
L5: ; preds = %top | |
call fastcc void @julia_deg0_eval_2091({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %5, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %6, {} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %2, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3) #53, !dbg !693 | |
%27 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %5, i64 0, i32 0, !dbg !693 | |
%28 = load {} addrspace(10)*, {} addrspace(10)** %27, align 8, !dbg !693 | |
%29 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !693 | |
store {} addrspace(10)* %28, {} addrspace(10)** %29, align 8, !dbg !693, !noalias !423 | |
%30 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !693 | |
%31 = bitcast { {} addrspace(10)*, i8 }* %5 to i8*, !dbg !693 | |
call void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %30, i8* noundef nonnull align 8 dereferenceable(16) %31, i64 noundef 16, i1 noundef false), !dbg !693, !noalias !423 | |
br label %common.ret | |
L15: ; preds = %top | |
%32 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !694 | |
%33 = addrspacecast i8 addrspace(10)* %32 to i8 addrspace(11)*, !dbg !694 | |
%34 = getelementptr inbounds i8, i8 addrspace(11)* %33, i64 48, !dbg !694 | |
%35 = bitcast i8 addrspace(11)* %34 to {} addrspace(10)* addrspace(11)*, !dbg !694 | |
%36 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %35 unordered, align 8, !dbg !694, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not187 = icmp eq {} addrspace(10)* %36, null, !dbg !694 | |
br i1 %.not187, label %fail74, label %pass75, !dbg !694 | |
L18: ; preds = %top | |
%37 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !698 | |
%38 = addrspacecast i8 addrspace(10)* %37 to i8 addrspace(11)*, !dbg !698 | |
%39 = getelementptr inbounds i8, i8 addrspace(11)* %38, i64 48, !dbg !698 | |
%40 = bitcast i8 addrspace(11)* %39 to {} addrspace(10)* addrspace(11)*, !dbg !698 | |
%41 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %40 unordered, align 8, !dbg !698, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not188 = icmp eq {} addrspace(10)* %41, null, !dbg !698 | |
br i1 %.not188, label %fail76, label %pass77, !dbg !698 | |
L21: ; preds = %pass77 | |
%42 = getelementptr inbounds i8, i8 addrspace(11)* %38, i64 56, !dbg !698 | |
%43 = bitcast i8 addrspace(11)* %42 to {} addrspace(10)* addrspace(11)*, !dbg !698 | |
%44 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %43 unordered, align 8, !dbg !698, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not190 = icmp eq {} addrspace(10)* %44, null, !dbg !698 | |
br i1 %.not190, label %fail78, label %pass79, !dbg !698 | |
L25: ; preds = %pass79, %pass75 | |
%value_phi = phi i8 [ %605, %pass75 ], [ %608, %pass79 ] | |
%45 = and i8 %value_phi, 1, !dbg !697 | |
%.not128 = icmp eq i8 %45, 0, !dbg !697 | |
br i1 %.not128, label %L69, label %L27, !dbg !697 | |
L27: ; preds = %L25 | |
call fastcc void @julia__eval_constant_tree_2089({ double, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ double, i8 }) align 8 dereferenceable(16) %7, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %2, [4 x {} addrspace(10)*] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(32) %4) #53, !dbg !700 | |
%46 = getelementptr inbounds { double, i8 }, { double, i8 }* %7, i64 0, i32 0, !dbg !701 | |
%47 = getelementptr inbounds { double, i8 }, { double, i8 }* %7, i64 0, i32 1, !dbg !703 | |
%48 = load i8, i8* %47, align 8, !dbg !704, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not129.not = icmp eq i8 %48, 0, !dbg !704 | |
br i1 %.not129.not, label %L32, label %L36, !dbg !706 | |
L32: ; preds = %L27 | |
%49 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %23), !dbg !707 | |
%50 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %49, 0, !dbg !706 | |
%51 = insertvalue { {} addrspace(10)*, i8 } %50, i8 0, 1, !dbg !706 | |
%52 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !706 | |
store {} addrspace(10)* %49, {} addrspace(10)** %52, align 8, !dbg !706, !noalias !423 | |
store { {} addrspace(10)*, i8 } %51, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !706, !noalias !423 | |
br label %common.ret | |
L36: ; preds = %L27 | |
%53 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %23), !dbg !709 | |
%54 = bitcast {} addrspace(10)* %53 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !715 | |
%55 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %54 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !715 | |
%56 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %55, i64 0, i32 1, !dbg !715 | |
%57 = load i64, i64 addrspace(11)* %56, align 8, !dbg !715, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not130.not = icmp eq i64 %57, 0, !dbg !724 | |
br i1 %.not130.not, label %L67, label %L50.preheader, !dbg !722 | |
L50.preheader: ; preds = %L36 | |
%58 = bitcast {} addrspace(10)* %53 to double addrspace(13)* addrspace(10)* | |
%59 = addrspacecast double addrspace(13)* addrspace(10)* %58 to double addrspace(13)* addrspace(11)* | |
%60 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %59, align 8, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%61 = load double, double* %46, align 8, !tbaa !335, !alias.scope !337, !noalias !547 | |
%62 = add nsw i64 %57, -1, !dbg !732 | |
%xtraiter245 = and i64 %57, 7, !dbg !732 | |
%63 = icmp ult i64 %62, 7, !dbg !732 | |
br i1 %63, label %L67.loopexit.unr-lcssa, label %L50.preheader.new, !dbg !732 | |
L50.preheader.new: ; preds = %L50.preheader | |
%unroll_iter248 = and i64 %57, 9223372036854775800, !dbg !732 | |
br label %L50, !dbg !732 | |
L50: ; preds = %L50, %L50.preheader.new | |
%value_phi4 = phi i64 [ 1, %L50.preheader.new ], [ %79, %L50 ] | |
%niter249 = phi i64 [ 0, %L50.preheader.new ], [ %niter249.next.7, %L50 ] | |
%64 = add nsw i64 %value_phi4, -1, !dbg !733 | |
%65 = getelementptr inbounds double, double addrspace(13)* %60, i64 %64, !dbg !733 | |
store double %61, double addrspace(13)* %65, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%66 = add nuw nsw i64 %value_phi4, 1, !dbg !736 | |
%67 = getelementptr inbounds double, double addrspace(13)* %60, i64 %value_phi4, !dbg !733 | |
store double %61, double addrspace(13)* %67, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%68 = add nuw nsw i64 %value_phi4, 2, !dbg !736 | |
%69 = getelementptr inbounds double, double addrspace(13)* %60, i64 %66, !dbg !733 | |
store double %61, double addrspace(13)* %69, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%70 = add nuw nsw i64 %value_phi4, 3, !dbg !736 | |
%71 = getelementptr inbounds double, double addrspace(13)* %60, i64 %68, !dbg !733 | |
store double %61, double addrspace(13)* %71, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%72 = add nuw nsw i64 %value_phi4, 4, !dbg !736 | |
%73 = getelementptr inbounds double, double addrspace(13)* %60, i64 %70, !dbg !733 | |
store double %61, double addrspace(13)* %73, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%74 = add nuw nsw i64 %value_phi4, 5, !dbg !736 | |
%75 = getelementptr inbounds double, double addrspace(13)* %60, i64 %72, !dbg !733 | |
store double %61, double addrspace(13)* %75, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%76 = add nuw nsw i64 %value_phi4, 6, !dbg !736 | |
%77 = getelementptr inbounds double, double addrspace(13)* %60, i64 %74, !dbg !733 | |
store double %61, double addrspace(13)* %77, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%78 = getelementptr inbounds double, double addrspace(13)* %60, i64 %76, !dbg !733 | |
store double %61, double addrspace(13)* %78, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%79 = add nuw nsw i64 %value_phi4, 8, !dbg !736 | |
%niter249.next.7 = add nuw i64 %niter249, 8, !dbg !732 | |
%niter249.ncmp.7 = icmp eq i64 %niter249.next.7, %unroll_iter248, !dbg !732 | |
br i1 %niter249.ncmp.7, label %L67.loopexit.unr-lcssa, label %L50, !dbg !732 | |
L67.loopexit.unr-lcssa: ; preds = %L50, %L50.preheader | |
%value_phi4.unr = phi i64 [ 1, %L50.preheader ], [ %79, %L50 ] | |
%lcmp.mod247.not = icmp eq i64 %xtraiter245, 0, !dbg !732 | |
br i1 %lcmp.mod247.not, label %L67, label %L50.epil, !dbg !732 | |
L50.epil: ; preds = %L67.loopexit.unr-lcssa, %L50.epil | |
%value_phi4.epil = phi i64 [ %82, %L50.epil ], [ %value_phi4.unr, %L67.loopexit.unr-lcssa ] | |
%epil.iter246 = phi i64 [ %epil.iter246.next, %L50.epil ], [ 0, %L67.loopexit.unr-lcssa ] | |
%80 = add nsw i64 %value_phi4.epil, -1, !dbg !733 | |
%81 = getelementptr inbounds double, double addrspace(13)* %60, i64 %80, !dbg !733 | |
store double %61, double addrspace(13)* %81, align 8, !dbg !733, !tbaa !67, !alias.scope !70, !noalias !148 | |
%82 = add nuw nsw i64 %value_phi4.epil, 1, !dbg !736 | |
%epil.iter246.next = add nuw nsw i64 %epil.iter246, 1, !dbg !732 | |
%epil.iter246.cmp.not = icmp eq i64 %epil.iter246.next, %xtraiter245, !dbg !732 | |
br i1 %epil.iter246.cmp.not, label %L67, label %L50.epil, !dbg !732, !llvm.loop !737 | |
L67: ; preds = %L50.epil, %L67.loopexit.unr-lcssa, %L36 | |
%83 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %53, 0, !dbg !714 | |
%84 = insertvalue { {} addrspace(10)*, i8 } %83, i8 1, 1, !dbg !714 | |
%85 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !714 | |
store {} addrspace(10)* %53, {} addrspace(10)** %85, align 8, !dbg !714, !noalias !423 | |
store { {} addrspace(10)*, i8 } %84, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !714, !noalias !423 | |
br label %common.ret | |
L69: ; preds = %pass77, %L25 | |
%86 = load i64, i64 addrspace(11)* %25, align 8, !dbg !738, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %86, label %L442 [ | |
i64 1, label %L72 | |
i64 2, label %L175 | |
], !dbg !739 | |
L72: ; preds = %L69 | |
%87 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %4, i64 0, i64 1, !dbg !740 | |
%88 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %87 unordered, align 8, !dbg !740, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%89 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !740 | |
%90 = addrspacecast i8 addrspace(10)* %89 to i8 addrspace(11)*, !dbg !740 | |
%91 = getelementptr inbounds i8, i8 addrspace(11)* %90, i64 40, !dbg !740 | |
%92 = bitcast i8 addrspace(11)* %91 to i64 addrspace(11)*, !dbg !740 | |
%93 = load i64, i64 addrspace(11)* %92, align 8, !dbg !740, !tbaa !154, !alias.scope !70, !noalias !71 | |
%94 = add i64 %93, -1, !dbg !742 | |
%95 = bitcast {} addrspace(10)* %88 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !742 | |
%96 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %95 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !742 | |
%97 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %96, i64 0, i32 1, !dbg !742 | |
%98 = load i64, i64 addrspace(11)* %97, align 8, !dbg !742, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%99 = icmp ult i64 %94, %98, !dbg !742 | |
br i1 %99, label %idxend, label %oob, !dbg !742 | |
L116: ; preds = %pass38 | |
%100 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %567, 0, !dbg !744 | |
%101 = insertvalue { {} addrspace(10)*, i8 } %100, i8 0, 1, !dbg !744 | |
%102 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !744 | |
store {} addrspace(10)* %567, {} addrspace(10)** %102, align 8, !dbg !744, !noalias !423 | |
store { {} addrspace(10)*, i8 } %101, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !744, !noalias !423 | |
br label %common.ret | |
L118: ; preds = %pass38 | |
%103 = bitcast {} addrspace(10)* %567 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !748 | |
%104 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %103 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !748 | |
%105 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %104, i64 0, i32 1, !dbg !748 | |
%106 = load i64, i64 addrspace(11)* %105, align 8, !dbg !748, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %106, label %L130 [ | |
i64 0, label %L160 | |
i64 1, label %L128 | |
], !dbg !775 | |
L128: ; preds = %L118 | |
%107 = bitcast {} addrspace(10)* %567 to double addrspace(13)* addrspace(10)*, !dbg !776 | |
%108 = addrspacecast double addrspace(13)* addrspace(10)* %107 to double addrspace(13)* addrspace(11)*, !dbg !776 | |
%109 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %108, align 16, !dbg !776, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%110 = load double, double addrspace(13)* %109, align 8, !dbg !776, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L160, !dbg !736 | |
L130: ; preds = %L118 | |
%111 = icmp ugt i64 %106, 15, !dbg !778 | |
br i1 %111, label %L146, label %L132, !dbg !779 | |
L132: ; preds = %L130 | |
%112 = bitcast {} addrspace(10)* %567 to double addrspace(13)* addrspace(10)*, !dbg !780 | |
%113 = addrspacecast double addrspace(13)* addrspace(10)* %112 to double addrspace(13)* addrspace(11)*, !dbg !780 | |
%114 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %113, align 16, !dbg !780, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%115 = load double, double addrspace(13)* %114, align 8, !dbg !780, !tbaa !67, !alias.scope !70, !noalias !71 | |
%116 = getelementptr inbounds double, double addrspace(13)* %114, i64 1, !dbg !782 | |
%117 = load double, double addrspace(13)* %116, align 8, !dbg !782, !tbaa !67, !alias.scope !70, !noalias !71 | |
%118 = fadd double %115, %117, !dbg !784 | |
%.not155193 = icmp ugt i64 %106, 2, !dbg !789 | |
br i1 %.not155193, label %L141.lr.ph, label %L160, !dbg !790 | |
L141.lr.ph: ; preds = %L132 | |
%119 = add nsw i64 %106, -2, !dbg !790 | |
%120 = add nsw i64 %106, -3, !dbg !790 | |
%xtraiter = and i64 %119, 7, !dbg !790 | |
%121 = icmp ult i64 %120, 7, !dbg !790 | |
br i1 %121, label %L135.L160.loopexit_crit_edge.unr-lcssa, label %L141.lr.ph.new, !dbg !790 | |
L141.lr.ph.new: ; preds = %L141.lr.ph | |
%unroll_iter = and i64 %119, -8, !dbg !790 | |
br label %L141, !dbg !790 | |
L141: ; preds = %L141, %L141.lr.ph.new | |
%value_phi41195 = phi i64 [ 2, %L141.lr.ph.new ], [ %150, %L141 ] | |
%value_phi40194 = phi double [ %118, %L141.lr.ph.new ], [ %153, %L141 ] | |
%niter = phi i64 [ 0, %L141.lr.ph.new ], [ %niter.next.7, %L141 ] | |
%122 = or i64 %value_phi41195, 1, !dbg !791 | |
%123 = getelementptr inbounds double, double addrspace(13)* %114, i64 %value_phi41195, !dbg !794 | |
%124 = load double, double addrspace(13)* %123, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%125 = fadd double %value_phi40194, %124, !dbg !795 | |
%126 = add nuw nsw i64 %value_phi41195, 2, !dbg !791 | |
%127 = getelementptr inbounds double, double addrspace(13)* %114, i64 %122, !dbg !794 | |
%128 = load double, double addrspace(13)* %127, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%129 = fadd double %125, %128, !dbg !795 | |
%130 = add nuw nsw i64 %value_phi41195, 3, !dbg !791 | |
%131 = getelementptr inbounds double, double addrspace(13)* %114, i64 %126, !dbg !794 | |
%132 = load double, double addrspace(13)* %131, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%133 = fadd double %129, %132, !dbg !795 | |
%134 = add nuw nsw i64 %value_phi41195, 4, !dbg !791 | |
%135 = getelementptr inbounds double, double addrspace(13)* %114, i64 %130, !dbg !794 | |
%136 = load double, double addrspace(13)* %135, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%137 = fadd double %133, %136, !dbg !795 | |
%138 = add nuw nsw i64 %value_phi41195, 5, !dbg !791 | |
%139 = getelementptr inbounds double, double addrspace(13)* %114, i64 %134, !dbg !794 | |
%140 = load double, double addrspace(13)* %139, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%141 = fadd double %137, %140, !dbg !795 | |
%142 = add nuw nsw i64 %value_phi41195, 6, !dbg !791 | |
%143 = getelementptr inbounds double, double addrspace(13)* %114, i64 %138, !dbg !794 | |
%144 = load double, double addrspace(13)* %143, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%145 = fadd double %141, %144, !dbg !795 | |
%146 = add nuw nsw i64 %value_phi41195, 7, !dbg !791 | |
%147 = getelementptr inbounds double, double addrspace(13)* %114, i64 %142, !dbg !794 | |
%148 = load double, double addrspace(13)* %147, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%149 = fadd double %145, %148, !dbg !795 | |
%150 = add nuw nsw i64 %value_phi41195, 8, !dbg !791 | |
%151 = getelementptr inbounds double, double addrspace(13)* %114, i64 %146, !dbg !794 | |
%152 = load double, double addrspace(13)* %151, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%153 = fadd double %149, %152, !dbg !795 | |
%niter.next.7 = add i64 %niter, 8, !dbg !790 | |
%niter.ncmp.7.not = icmp eq i64 %niter.next.7, %unroll_iter, !dbg !790 | |
br i1 %niter.ncmp.7.not, label %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit, label %L141, !dbg !790 | |
L146: ; preds = %L130 | |
%154 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %567, i64 noundef signext 1, i64 signext %106, i64 noundef signext 1024) #53, !dbg !798 | |
br label %L160, !dbg !736 | |
L135.L160.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L141 | |
%155 = or i64 %unroll_iter, 2, !dbg !790 | |
br label %L135.L160.loopexit_crit_edge.unr-lcssa, !dbg !790 | |
L135.L160.loopexit_crit_edge.unr-lcssa: ; preds = %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit, %L141.lr.ph | |
%.lcssa.ph = phi double [ undef, %L141.lr.ph ], [ %153, %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi41195.unr = phi i64 [ 2, %L141.lr.ph ], [ %155, %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi40194.unr = phi double [ %118, %L141.lr.ph ], [ %153, %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !790 | |
br i1 %lcmp.mod.not, label %L160, label %L141.epil, !dbg !790 | |
L141.epil: ; preds = %L135.L160.loopexit_crit_edge.unr-lcssa, %L141.epil | |
%value_phi41195.epil = phi i64 [ %156, %L141.epil ], [ %value_phi41195.unr, %L135.L160.loopexit_crit_edge.unr-lcssa ] | |
%value_phi40194.epil = phi double [ %159, %L141.epil ], [ %value_phi40194.unr, %L135.L160.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter = phi i64 [ %epil.iter.next, %L141.epil ], [ 0, %L135.L160.loopexit_crit_edge.unr-lcssa ] | |
%156 = add nuw nsw i64 %value_phi41195.epil, 1, !dbg !791 | |
%157 = getelementptr inbounds double, double addrspace(13)* %114, i64 %value_phi41195.epil, !dbg !794 | |
%158 = load double, double addrspace(13)* %157, align 8, !dbg !794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%159 = fadd double %value_phi40194.epil, %158, !dbg !795 | |
%epil.iter.next = add nuw nsw i64 %epil.iter, 1, !dbg !790 | |
%epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter, !dbg !790 | |
br i1 %epil.iter.cmp.not, label %L160, label %L141.epil, !dbg !790, !llvm.loop !801 | |
L160: ; preds = %L141.epil, %L132, %L135.L160.loopexit_crit_edge.unr-lcssa, %L118, %L128, %L146 | |
%value_phi39 = phi double [ %110, %L128 ], [ %154, %L146 ], [ 0.000000e+00, %L118 ], [ %118, %L132 ], [ %.lcssa.ph, %L135.L160.loopexit_crit_edge.unr-lcssa ], [ %159, %L141.epil ] | |
%160 = fsub double %value_phi39, %value_phi39, !dbg !802 | |
%161 = fcmp oeq double %160, 0.000000e+00, !dbg !806 | |
br i1 %161, label %L170, label %L167, !dbg !774 | |
L167: ; preds = %L160 | |
%162 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %23), !dbg !809 | |
%163 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %162, 0, !dbg !810 | |
%164 = insertvalue { {} addrspace(10)*, i8 } %163, i8 0, 1, !dbg !810 | |
%165 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !810 | |
store {} addrspace(10)* %162, {} addrspace(10)** %165, align 8, !dbg !810, !noalias !423 | |
store { {} addrspace(10)*, i8 } %164, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !810, !noalias !423 | |
br label %common.ret | |
L170: ; preds = %L160 | |
%166 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811939408 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %567, {} addrspace(10)* nonnull %494, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #50, !dbg !811 | |
%167 = bitcast {} addrspace(10)* %166 to {} addrspace(10)* addrspace(10)*, !dbg !811 | |
%168 = addrspacecast {} addrspace(10)* addrspace(10)* %167 to {} addrspace(10)* addrspace(11)*, !dbg !811 | |
%169 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %168, align 8, !dbg !811 | |
%170 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !811 | |
store {} addrspace(10)* %169, {} addrspace(10)** %170, align 8, !dbg !811, !noalias !423 | |
%171 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !811 | |
%172 = bitcast {} addrspace(10)* %166 to i8 addrspace(10)*, !dbg !811 | |
%173 = addrspacecast i8 addrspace(10)* %172 to i8 addrspace(11)*, !dbg !811 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %171, i8 addrspace(11)* noundef align 1 dereferenceable(16) %173, i64 noundef 16, i1 noundef false), !dbg !811, !noalias !423 | |
br label %common.ret | |
L175: ; preds = %L69 | |
%174 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %4, i64 0, i64 0, !dbg !812 | |
%175 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %174 unordered, align 8, !dbg !812, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%176 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !812 | |
%177 = addrspacecast i8 addrspace(10)* %176 to i8 addrspace(11)*, !dbg !812 | |
%178 = getelementptr inbounds i8, i8 addrspace(11)* %177, i64 40, !dbg !812 | |
%179 = bitcast i8 addrspace(11)* %178 to i64 addrspace(11)*, !dbg !812 | |
%180 = load i64, i64 addrspace(11)* %179, align 8, !dbg !812, !tbaa !154, !alias.scope !70, !noalias !71 | |
%181 = add i64 %180, -1, !dbg !814 | |
%182 = bitcast {} addrspace(10)* %175 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !814 | |
%183 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %182 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !814 | |
%184 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %183, i64 0, i32 1, !dbg !814 | |
%185 = load i64, i64 addrspace(11)* %184, align 8, !dbg !814, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%186 = icmp ult i64 %181, %185, !dbg !814 | |
br i1 %186, label %idxend43, label %oob42, !dbg !814 | |
L182: ; preds = %pass47 | |
%187 = getelementptr inbounds i8, i8 addrspace(11)* %177, i64 56, !dbg !815 | |
%188 = bitcast i8 addrspace(11)* %187 to {} addrspace(10)* addrspace(11)*, !dbg !815 | |
%189 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %188 unordered, align 8, !dbg !815, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not160 = icmp eq {} addrspace(10)* %189, null, !dbg !815 | |
br i1 %.not160, label %fail48, label %pass49, !dbg !815 | |
L186: ; preds = %pass49 | |
%190 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811865808 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull align 16 dereferenceable(40) %3, {} addrspace(10)* nonnull %576, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #50, !dbg !817 | |
%191 = bitcast {} addrspace(10)* %190 to {} addrspace(10)* addrspace(10)*, !dbg !817 | |
%192 = addrspacecast {} addrspace(10)* addrspace(10)* %191 to {} addrspace(10)* addrspace(11)*, !dbg !817 | |
%193 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %192, align 8, !dbg !817 | |
%194 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !817 | |
store {} addrspace(10)* %193, {} addrspace(10)** %194, align 8, !dbg !817, !noalias !423 | |
%195 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !817 | |
%196 = bitcast {} addrspace(10)* %190 to i8 addrspace(10)*, !dbg !817 | |
%197 = addrspacecast i8 addrspace(10)* %196 to i8 addrspace(11)*, !dbg !817 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %195, i8 addrspace(11)* noundef align 1 dereferenceable(16) %197, i64 noundef 16, i1 noundef false), !dbg !817, !noalias !423 | |
br label %common.ret | |
L188: ; preds = %pass47 | |
%.phi.trans.insert = getelementptr inbounds i8, i8 addrspace(11)* %177, i64 56 | |
%.phi.trans.insert250 = bitcast i8 addrspace(11)* %.phi.trans.insert to {} addrspace(10)* addrspace(11)* | |
%.pre = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %.phi.trans.insert250 unordered, align 8, !dbg !818, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not162 = icmp eq {} addrspace(10)* %.pre, null, !dbg !818 | |
br i1 %.not162, label %fail50, label %pass51.thread, !dbg !818 | |
L198: ; preds = %pass53 | |
%198 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %590, 0, !dbg !820 | |
%199 = insertvalue { {} addrspace(10)*, i8 } %198, i8 0, 1, !dbg !820 | |
%200 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !820 | |
store {} addrspace(10)* %590, {} addrspace(10)** %200, align 8, !dbg !820, !noalias !423 | |
store { {} addrspace(10)*, i8 } %199, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !820, !noalias !423 | |
br label %common.ret | |
L200: ; preds = %pass53 | |
%201 = bitcast {} addrspace(10)* %590 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !822 | |
%202 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %201 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !822 | |
%203 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %202, i64 0, i32 1, !dbg !822 | |
%204 = load i64, i64 addrspace(11)* %203, align 8, !dbg !822, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %204, label %L212 [ | |
i64 0, label %L242 | |
i64 1, label %L210 | |
], !dbg !837 | |
L210: ; preds = %L200 | |
%205 = bitcast {} addrspace(10)* %590 to double addrspace(13)* addrspace(10)*, !dbg !838 | |
%206 = addrspacecast double addrspace(13)* addrspace(10)* %205 to double addrspace(13)* addrspace(11)*, !dbg !838 | |
%207 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %206, align 8, !dbg !838, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%208 = load double, double addrspace(13)* %207, align 8, !dbg !838, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L242, !dbg !736 | |
L212: ; preds = %L200 | |
%209 = icmp ugt i64 %204, 15, !dbg !840 | |
br i1 %209, label %L228, label %L214, !dbg !841 | |
L214: ; preds = %L212 | |
%210 = bitcast {} addrspace(10)* %590 to double addrspace(13)* addrspace(10)*, !dbg !842 | |
%211 = addrspacecast double addrspace(13)* addrspace(10)* %210 to double addrspace(13)* addrspace(11)*, !dbg !842 | |
%212 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %211, align 8, !dbg !842, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%213 = load double, double addrspace(13)* %212, align 8, !dbg !842, !tbaa !67, !alias.scope !70, !noalias !71 | |
%214 = getelementptr inbounds double, double addrspace(13)* %212, i64 1, !dbg !844 | |
%215 = load double, double addrspace(13)* %214, align 8, !dbg !844, !tbaa !67, !alias.scope !70, !noalias !71 | |
%216 = fadd double %213, %215, !dbg !846 | |
%.not168196 = icmp ugt i64 %204, 2, !dbg !849 | |
br i1 %.not168196, label %L223.lr.ph, label %L242, !dbg !850 | |
L223.lr.ph: ; preds = %L214 | |
%217 = add nsw i64 %204, -2, !dbg !850 | |
%218 = add nsw i64 %204, -3, !dbg !850 | |
%xtraiter217 = and i64 %217, 7, !dbg !850 | |
%219 = icmp ult i64 %218, 7, !dbg !850 | |
br i1 %219, label %L217.L242.loopexit_crit_edge.unr-lcssa, label %L223.lr.ph.new, !dbg !850 | |
L223.lr.ph.new: ; preds = %L223.lr.ph | |
%unroll_iter222 = and i64 %217, -8, !dbg !850 | |
br label %L223, !dbg !850 | |
L223: ; preds = %L223, %L223.lr.ph.new | |
%value_phi56198 = phi i64 [ 2, %L223.lr.ph.new ], [ %248, %L223 ] | |
%value_phi55197 = phi double [ %216, %L223.lr.ph.new ], [ %251, %L223 ] | |
%niter223 = phi i64 [ 0, %L223.lr.ph.new ], [ %niter223.next.7, %L223 ] | |
%220 = or i64 %value_phi56198, 1, !dbg !851 | |
%221 = getelementptr inbounds double, double addrspace(13)* %212, i64 %value_phi56198, !dbg !853 | |
%222 = load double, double addrspace(13)* %221, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%223 = fadd double %value_phi55197, %222, !dbg !854 | |
%224 = add nuw nsw i64 %value_phi56198, 2, !dbg !851 | |
%225 = getelementptr inbounds double, double addrspace(13)* %212, i64 %220, !dbg !853 | |
%226 = load double, double addrspace(13)* %225, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%227 = fadd double %223, %226, !dbg !854 | |
%228 = add nuw nsw i64 %value_phi56198, 3, !dbg !851 | |
%229 = getelementptr inbounds double, double addrspace(13)* %212, i64 %224, !dbg !853 | |
%230 = load double, double addrspace(13)* %229, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%231 = fadd double %227, %230, !dbg !854 | |
%232 = add nuw nsw i64 %value_phi56198, 4, !dbg !851 | |
%233 = getelementptr inbounds double, double addrspace(13)* %212, i64 %228, !dbg !853 | |
%234 = load double, double addrspace(13)* %233, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%235 = fadd double %231, %234, !dbg !854 | |
%236 = add nuw nsw i64 %value_phi56198, 5, !dbg !851 | |
%237 = getelementptr inbounds double, double addrspace(13)* %212, i64 %232, !dbg !853 | |
%238 = load double, double addrspace(13)* %237, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%239 = fadd double %235, %238, !dbg !854 | |
%240 = add nuw nsw i64 %value_phi56198, 6, !dbg !851 | |
%241 = getelementptr inbounds double, double addrspace(13)* %212, i64 %236, !dbg !853 | |
%242 = load double, double addrspace(13)* %241, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%243 = fadd double %239, %242, !dbg !854 | |
%244 = add nuw nsw i64 %value_phi56198, 7, !dbg !851 | |
%245 = getelementptr inbounds double, double addrspace(13)* %212, i64 %240, !dbg !853 | |
%246 = load double, double addrspace(13)* %245, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%247 = fadd double %243, %246, !dbg !854 | |
%248 = add nuw nsw i64 %value_phi56198, 8, !dbg !851 | |
%249 = getelementptr inbounds double, double addrspace(13)* %212, i64 %244, !dbg !853 | |
%250 = load double, double addrspace(13)* %249, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%251 = fadd double %247, %250, !dbg !854 | |
%niter223.next.7 = add i64 %niter223, 8, !dbg !850 | |
%niter223.ncmp.7.not = icmp eq i64 %niter223.next.7, %unroll_iter222, !dbg !850 | |
br i1 %niter223.ncmp.7.not, label %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit, label %L223, !dbg !850 | |
L228: ; preds = %L212 | |
%252 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %590, i64 noundef signext 1, i64 signext %204, i64 noundef signext 1024) #53, !dbg !857 | |
br label %L242, !dbg !736 | |
L217.L242.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L223 | |
%253 = or i64 %unroll_iter222, 2, !dbg !850 | |
br label %L217.L242.loopexit_crit_edge.unr-lcssa, !dbg !850 | |
L217.L242.loopexit_crit_edge.unr-lcssa: ; preds = %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit, %L223.lr.ph | |
%.lcssa212.ph = phi double [ undef, %L223.lr.ph ], [ %251, %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi56198.unr = phi i64 [ 2, %L223.lr.ph ], [ %253, %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi55197.unr = phi double [ %216, %L223.lr.ph ], [ %251, %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod220.not = icmp eq i64 %xtraiter217, 0, !dbg !850 | |
br i1 %lcmp.mod220.not, label %L242, label %L223.epil, !dbg !850 | |
L223.epil: ; preds = %L217.L242.loopexit_crit_edge.unr-lcssa, %L223.epil | |
%value_phi56198.epil = phi i64 [ %254, %L223.epil ], [ %value_phi56198.unr, %L217.L242.loopexit_crit_edge.unr-lcssa ] | |
%value_phi55197.epil = phi double [ %257, %L223.epil ], [ %value_phi55197.unr, %L217.L242.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter219 = phi i64 [ %epil.iter219.next, %L223.epil ], [ 0, %L217.L242.loopexit_crit_edge.unr-lcssa ] | |
%254 = add nuw nsw i64 %value_phi56198.epil, 1, !dbg !851 | |
%255 = getelementptr inbounds double, double addrspace(13)* %212, i64 %value_phi56198.epil, !dbg !853 | |
%256 = load double, double addrspace(13)* %255, align 8, !dbg !853, !tbaa !67, !alias.scope !70, !noalias !71 | |
%257 = fadd double %value_phi55197.epil, %256, !dbg !854 | |
%epil.iter219.next = add nuw nsw i64 %epil.iter219, 1, !dbg !850 | |
%epil.iter219.cmp.not = icmp eq i64 %epil.iter219.next, %xtraiter217, !dbg !850 | |
br i1 %epil.iter219.cmp.not, label %L242, label %L223.epil, !dbg !850, !llvm.loop !859 | |
L242: ; preds = %L223.epil, %L214, %L217.L242.loopexit_crit_edge.unr-lcssa, %L200, %L210, %L228 | |
%value_phi54 = phi double [ %208, %L210 ], [ %252, %L228 ], [ 0.000000e+00, %L200 ], [ %216, %L214 ], [ %.lcssa212.ph, %L217.L242.loopexit_crit_edge.unr-lcssa ], [ %257, %L223.epil ] | |
%258 = fsub double %value_phi54, %value_phi54, !dbg !860 | |
%259 = fcmp oeq double %258, 0.000000e+00, !dbg !862 | |
br i1 %259, label %L252, label %L249, !dbg !836 | |
L249: ; preds = %L242 | |
%260 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %23), !dbg !809 | |
%261 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %260, 0, !dbg !810 | |
%262 = insertvalue { {} addrspace(10)*, i8 } %261, i8 0, 1, !dbg !810 | |
%263 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !810 | |
store {} addrspace(10)* %260, {} addrspace(10)** %263, align 8, !dbg !810, !noalias !423 | |
store { {} addrspace(10)*, i8 } %262, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !810, !noalias !423 | |
br label %common.ret | |
L252: ; preds = %L242 | |
%264 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811920752 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull %590, {} addrspace(10)* nonnull %3, {} addrspace(10)* nonnull %576, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #50, !dbg !864 | |
%265 = bitcast {} addrspace(10)* %264 to {} addrspace(10)* addrspace(10)*, !dbg !864 | |
%266 = addrspacecast {} addrspace(10)* addrspace(10)* %265 to {} addrspace(10)* addrspace(11)*, !dbg !864 | |
%267 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %266, align 8, !dbg !864 | |
%268 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !864 | |
store {} addrspace(10)* %267, {} addrspace(10)** %268, align 8, !dbg !864, !noalias !423 | |
%269 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !864 | |
%270 = bitcast {} addrspace(10)* %264 to i8 addrspace(10)*, !dbg !864 | |
%271 = addrspacecast i8 addrspace(10)* %270 to i8 addrspace(11)*, !dbg !864 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %269, i8 addrspace(11)* noundef align 1 dereferenceable(16) %271, i64 16, i1 false), !dbg !864, !noalias !423 | |
br label %common.ret | |
L264: ; preds = %pass60 | |
%272 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %594, 0, !dbg !865 | |
%273 = insertvalue { {} addrspace(10)*, i8 } %272, i8 0, 1, !dbg !865 | |
%274 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !865 | |
store {} addrspace(10)* %594, {} addrspace(10)** %274, align 8, !dbg !865, !noalias !423 | |
store { {} addrspace(10)*, i8 } %273, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !865, !noalias !423 | |
br label %common.ret | |
L266: ; preds = %pass60 | |
%275 = bitcast {} addrspace(10)* %594 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !867 | |
%276 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %275 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !867 | |
%277 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %276, i64 0, i32 1, !dbg !867 | |
%278 = load i64, i64 addrspace(11)* %277, align 8, !dbg !867, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %278, label %L278 [ | |
i64 0, label %L308 | |
i64 1, label %L276 | |
], !dbg !882 | |
L276: ; preds = %L266 | |
%279 = bitcast {} addrspace(10)* %594 to double addrspace(13)* addrspace(10)*, !dbg !883 | |
%280 = addrspacecast double addrspace(13)* addrspace(10)* %279 to double addrspace(13)* addrspace(11)*, !dbg !883 | |
%281 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %280, align 8, !dbg !883, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%282 = load double, double addrspace(13)* %281, align 8, !dbg !883, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L308, !dbg !736 | |
L278: ; preds = %L266 | |
%283 = icmp ugt i64 %278, 15, !dbg !885 | |
br i1 %283, label %L294, label %L280, !dbg !886 | |
L280: ; preds = %L278 | |
%284 = bitcast {} addrspace(10)* %594 to double addrspace(13)* addrspace(10)*, !dbg !887 | |
%285 = addrspacecast double addrspace(13)* addrspace(10)* %284 to double addrspace(13)* addrspace(11)*, !dbg !887 | |
%286 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %285, align 8, !dbg !887, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%287 = load double, double addrspace(13)* %286, align 8, !dbg !887, !tbaa !67, !alias.scope !70, !noalias !71 | |
%288 = getelementptr inbounds double, double addrspace(13)* %286, i64 1, !dbg !889 | |
%289 = load double, double addrspace(13)* %288, align 8, !dbg !889, !tbaa !67, !alias.scope !70, !noalias !71 | |
%290 = fadd double %287, %289, !dbg !891 | |
%.not175200 = icmp ugt i64 %278, 2, !dbg !894 | |
br i1 %.not175200, label %L289.lr.ph, label %L308, !dbg !895 | |
L289.lr.ph: ; preds = %L280 | |
%291 = add nsw i64 %278, -2, !dbg !895 | |
%292 = add nsw i64 %278, -3, !dbg !895 | |
%xtraiter224 = and i64 %291, 7, !dbg !895 | |
%293 = icmp ult i64 %292, 7, !dbg !895 | |
br i1 %293, label %L283.L308.loopexit_crit_edge.unr-lcssa, label %L289.lr.ph.new, !dbg !895 | |
L289.lr.ph.new: ; preds = %L289.lr.ph | |
%unroll_iter229 = and i64 %291, -8, !dbg !895 | |
br label %L289, !dbg !895 | |
L289: ; preds = %L289, %L289.lr.ph.new | |
%value_phi63202 = phi i64 [ 2, %L289.lr.ph.new ], [ %322, %L289 ] | |
%value_phi62201 = phi double [ %290, %L289.lr.ph.new ], [ %325, %L289 ] | |
%niter230 = phi i64 [ 0, %L289.lr.ph.new ], [ %niter230.next.7, %L289 ] | |
%294 = or i64 %value_phi63202, 1, !dbg !896 | |
%295 = getelementptr inbounds double, double addrspace(13)* %286, i64 %value_phi63202, !dbg !898 | |
%296 = load double, double addrspace(13)* %295, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%297 = fadd double %value_phi62201, %296, !dbg !899 | |
%298 = add nuw nsw i64 %value_phi63202, 2, !dbg !896 | |
%299 = getelementptr inbounds double, double addrspace(13)* %286, i64 %294, !dbg !898 | |
%300 = load double, double addrspace(13)* %299, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%301 = fadd double %297, %300, !dbg !899 | |
%302 = add nuw nsw i64 %value_phi63202, 3, !dbg !896 | |
%303 = getelementptr inbounds double, double addrspace(13)* %286, i64 %298, !dbg !898 | |
%304 = load double, double addrspace(13)* %303, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%305 = fadd double %301, %304, !dbg !899 | |
%306 = add nuw nsw i64 %value_phi63202, 4, !dbg !896 | |
%307 = getelementptr inbounds double, double addrspace(13)* %286, i64 %302, !dbg !898 | |
%308 = load double, double addrspace(13)* %307, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%309 = fadd double %305, %308, !dbg !899 | |
%310 = add nuw nsw i64 %value_phi63202, 5, !dbg !896 | |
%311 = getelementptr inbounds double, double addrspace(13)* %286, i64 %306, !dbg !898 | |
%312 = load double, double addrspace(13)* %311, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%313 = fadd double %309, %312, !dbg !899 | |
%314 = add nuw nsw i64 %value_phi63202, 6, !dbg !896 | |
%315 = getelementptr inbounds double, double addrspace(13)* %286, i64 %310, !dbg !898 | |
%316 = load double, double addrspace(13)* %315, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%317 = fadd double %313, %316, !dbg !899 | |
%318 = add nuw nsw i64 %value_phi63202, 7, !dbg !896 | |
%319 = getelementptr inbounds double, double addrspace(13)* %286, i64 %314, !dbg !898 | |
%320 = load double, double addrspace(13)* %319, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%321 = fadd double %317, %320, !dbg !899 | |
%322 = add nuw nsw i64 %value_phi63202, 8, !dbg !896 | |
%323 = getelementptr inbounds double, double addrspace(13)* %286, i64 %318, !dbg !898 | |
%324 = load double, double addrspace(13)* %323, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%325 = fadd double %321, %324, !dbg !899 | |
%niter230.next.7 = add i64 %niter230, 8, !dbg !895 | |
%niter230.ncmp.7.not = icmp eq i64 %niter230.next.7, %unroll_iter229, !dbg !895 | |
br i1 %niter230.ncmp.7.not, label %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit, label %L289, !dbg !895 | |
L294: ; preds = %L278 | |
%326 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %594, i64 noundef signext 1, i64 signext %278, i64 noundef signext 1024) #53, !dbg !902 | |
br label %L308, !dbg !736 | |
L283.L308.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L289 | |
%327 = or i64 %unroll_iter229, 2, !dbg !895 | |
br label %L283.L308.loopexit_crit_edge.unr-lcssa, !dbg !895 | |
L283.L308.loopexit_crit_edge.unr-lcssa: ; preds = %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit, %L289.lr.ph | |
%.lcssa213.ph = phi double [ undef, %L289.lr.ph ], [ %325, %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi63202.unr = phi i64 [ 2, %L289.lr.ph ], [ %327, %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi62201.unr = phi double [ %290, %L289.lr.ph ], [ %325, %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod227.not = icmp eq i64 %xtraiter224, 0, !dbg !895 | |
br i1 %lcmp.mod227.not, label %L308, label %L289.epil, !dbg !895 | |
L289.epil: ; preds = %L283.L308.loopexit_crit_edge.unr-lcssa, %L289.epil | |
%value_phi63202.epil = phi i64 [ %328, %L289.epil ], [ %value_phi63202.unr, %L283.L308.loopexit_crit_edge.unr-lcssa ] | |
%value_phi62201.epil = phi double [ %331, %L289.epil ], [ %value_phi62201.unr, %L283.L308.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter226 = phi i64 [ %epil.iter226.next, %L289.epil ], [ 0, %L283.L308.loopexit_crit_edge.unr-lcssa ] | |
%328 = add nuw nsw i64 %value_phi63202.epil, 1, !dbg !896 | |
%329 = getelementptr inbounds double, double addrspace(13)* %286, i64 %value_phi63202.epil, !dbg !898 | |
%330 = load double, double addrspace(13)* %329, align 8, !dbg !898, !tbaa !67, !alias.scope !70, !noalias !71 | |
%331 = fadd double %value_phi62201.epil, %330, !dbg !899 | |
%epil.iter226.next = add nuw nsw i64 %epil.iter226, 1, !dbg !895 | |
%epil.iter226.cmp.not = icmp eq i64 %epil.iter226.next, %xtraiter224, !dbg !895 | |
br i1 %epil.iter226.cmp.not, label %L308, label %L289.epil, !dbg !895, !llvm.loop !904 | |
L308: ; preds = %L289.epil, %L280, %L283.L308.loopexit_crit_edge.unr-lcssa, %L266, %L276, %L294 | |
%value_phi61 = phi double [ %282, %L276 ], [ %326, %L294 ], [ 0.000000e+00, %L266 ], [ %290, %L280 ], [ %.lcssa213.ph, %L283.L308.loopexit_crit_edge.unr-lcssa ], [ %331, %L289.epil ] | |
%332 = fsub double %value_phi61, %value_phi61, !dbg !905 | |
%333 = fcmp oeq double %332, 0.000000e+00, !dbg !907 | |
br i1 %333, label %L318, label %L315, !dbg !881 | |
L315: ; preds = %L308 | |
%334 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %23), !dbg !809 | |
%335 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %334, 0, !dbg !810 | |
%336 = insertvalue { {} addrspace(10)*, i8 } %335, i8 0, 1, !dbg !810 | |
%337 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !810 | |
store {} addrspace(10)* %334, {} addrspace(10)** %337, align 8, !dbg !810, !noalias !423 | |
store { {} addrspace(10)*, i8 } %336, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !810, !noalias !423 | |
br label %common.ret | |
L318: ; preds = %L308 | |
%338 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811939568 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull %594, {} addrspace(10)* nonnull %3, {} addrspace(10)* nonnull %576, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #50, !dbg !909 | |
%339 = bitcast {} addrspace(10)* %338 to {} addrspace(10)* addrspace(10)*, !dbg !909 | |
%340 = addrspacecast {} addrspace(10)* addrspace(10)* %339 to {} addrspace(10)* addrspace(11)*, !dbg !909 | |
%341 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %340, align 8, !dbg !909 | |
%342 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !909 | |
store {} addrspace(10)* %341, {} addrspace(10)** %342, align 8, !dbg !909, !noalias !423 | |
%343 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !909 | |
%344 = bitcast {} addrspace(10)* %338 to i8 addrspace(10)*, !dbg !909 | |
%345 = addrspacecast i8 addrspace(10)* %344 to i8 addrspace(11)*, !dbg !909 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %343, i8 addrspace(11)* noundef align 1 dereferenceable(16) %345, i64 16, i1 false), !dbg !909, !noalias !423 | |
br label %common.ret | |
L326: ; preds = %pass65 | |
%346 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %598, 0, !dbg !910 | |
%347 = insertvalue { {} addrspace(10)*, i8 } %346, i8 0, 1, !dbg !910 | |
%348 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !910 | |
store {} addrspace(10)* %598, {} addrspace(10)** %348, align 8, !dbg !910, !noalias !423 | |
store { {} addrspace(10)*, i8 } %347, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !910, !noalias !423 | |
br label %common.ret | |
L328: ; preds = %pass65 | |
%349 = bitcast {} addrspace(10)* %598 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !912 | |
%350 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %349 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !912 | |
%351 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %350, i64 0, i32 1, !dbg !912 | |
%352 = load i64, i64 addrspace(11)* %351, align 8, !dbg !912, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %352, label %L340 [ | |
i64 0, label %L370 | |
i64 1, label %L338 | |
], !dbg !927 | |
L338: ; preds = %L328 | |
%353 = bitcast {} addrspace(10)* %598 to double addrspace(13)* addrspace(10)*, !dbg !928 | |
%354 = addrspacecast double addrspace(13)* addrspace(10)* %353 to double addrspace(13)* addrspace(11)*, !dbg !928 | |
%355 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %354, align 8, !dbg !928, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%356 = load double, double addrspace(13)* %355, align 8, !dbg !928, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L370, !dbg !736 | |
L340: ; preds = %L328 | |
%357 = icmp ugt i64 %352, 15, !dbg !930 | |
br i1 %357, label %L356, label %L342, !dbg !931 | |
L342: ; preds = %L340 | |
%358 = bitcast {} addrspace(10)* %598 to double addrspace(13)* addrspace(10)*, !dbg !932 | |
%359 = addrspacecast double addrspace(13)* addrspace(10)* %358 to double addrspace(13)* addrspace(11)*, !dbg !932 | |
%360 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %359, align 8, !dbg !932, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%361 = load double, double addrspace(13)* %360, align 8, !dbg !932, !tbaa !67, !alias.scope !70, !noalias !71 | |
%362 = getelementptr inbounds double, double addrspace(13)* %360, i64 1, !dbg !934 | |
%363 = load double, double addrspace(13)* %362, align 8, !dbg !934, !tbaa !67, !alias.scope !70, !noalias !71 | |
%364 = fadd double %361, %363, !dbg !936 | |
%.not185208 = icmp ugt i64 %352, 2, !dbg !939 | |
br i1 %.not185208, label %L351.lr.ph, label %L370, !dbg !940 | |
L351.lr.ph: ; preds = %L342 | |
%365 = add nsw i64 %352, -2, !dbg !940 | |
%366 = add nsw i64 %352, -3, !dbg !940 | |
%xtraiter238 = and i64 %365, 7, !dbg !940 | |
%367 = icmp ult i64 %366, 7, !dbg !940 | |
br i1 %367, label %L345.L370.loopexit_crit_edge.unr-lcssa, label %L351.lr.ph.new, !dbg !940 | |
L351.lr.ph.new: ; preds = %L351.lr.ph | |
%unroll_iter243 = and i64 %365, -8, !dbg !940 | |
br label %L351, !dbg !940 | |
L351: ; preds = %L351, %L351.lr.ph.new | |
%value_phi73210 = phi i64 [ 2, %L351.lr.ph.new ], [ %396, %L351 ] | |
%value_phi72209 = phi double [ %364, %L351.lr.ph.new ], [ %399, %L351 ] | |
%niter244 = phi i64 [ 0, %L351.lr.ph.new ], [ %niter244.next.7, %L351 ] | |
%368 = or i64 %value_phi73210, 1, !dbg !941 | |
%369 = getelementptr inbounds double, double addrspace(13)* %360, i64 %value_phi73210, !dbg !943 | |
%370 = load double, double addrspace(13)* %369, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%371 = fadd double %value_phi72209, %370, !dbg !944 | |
%372 = add nuw nsw i64 %value_phi73210, 2, !dbg !941 | |
%373 = getelementptr inbounds double, double addrspace(13)* %360, i64 %368, !dbg !943 | |
%374 = load double, double addrspace(13)* %373, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%375 = fadd double %371, %374, !dbg !944 | |
%376 = add nuw nsw i64 %value_phi73210, 3, !dbg !941 | |
%377 = getelementptr inbounds double, double addrspace(13)* %360, i64 %372, !dbg !943 | |
%378 = load double, double addrspace(13)* %377, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%379 = fadd double %375, %378, !dbg !944 | |
%380 = add nuw nsw i64 %value_phi73210, 4, !dbg !941 | |
%381 = getelementptr inbounds double, double addrspace(13)* %360, i64 %376, !dbg !943 | |
%382 = load double, double addrspace(13)* %381, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%383 = fadd double %379, %382, !dbg !944 | |
%384 = add nuw nsw i64 %value_phi73210, 5, !dbg !941 | |
%385 = getelementptr inbounds double, double addrspace(13)* %360, i64 %380, !dbg !943 | |
%386 = load double, double addrspace(13)* %385, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%387 = fadd double %383, %386, !dbg !944 | |
%388 = add nuw nsw i64 %value_phi73210, 6, !dbg !941 | |
%389 = getelementptr inbounds double, double addrspace(13)* %360, i64 %384, !dbg !943 | |
%390 = load double, double addrspace(13)* %389, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%391 = fadd double %387, %390, !dbg !944 | |
%392 = add nuw nsw i64 %value_phi73210, 7, !dbg !941 | |
%393 = getelementptr inbounds double, double addrspace(13)* %360, i64 %388, !dbg !943 | |
%394 = load double, double addrspace(13)* %393, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%395 = fadd double %391, %394, !dbg !944 | |
%396 = add nuw nsw i64 %value_phi73210, 8, !dbg !941 | |
%397 = getelementptr inbounds double, double addrspace(13)* %360, i64 %392, !dbg !943 | |
%398 = load double, double addrspace(13)* %397, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%399 = fadd double %395, %398, !dbg !944 | |
%niter244.next.7 = add i64 %niter244, 8, !dbg !940 | |
%niter244.ncmp.7.not = icmp eq i64 %niter244.next.7, %unroll_iter243, !dbg !940 | |
br i1 %niter244.ncmp.7.not, label %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit, label %L351, !dbg !940 | |
L356: ; preds = %L340 | |
%400 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %598, i64 noundef signext 1, i64 signext %352, i64 noundef signext 1024) #53, !dbg !947 | |
br label %L370, !dbg !736 | |
L345.L370.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L351 | |
%401 = or i64 %unroll_iter243, 2, !dbg !940 | |
br label %L345.L370.loopexit_crit_edge.unr-lcssa, !dbg !940 | |
L345.L370.loopexit_crit_edge.unr-lcssa: ; preds = %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit, %L351.lr.ph | |
%.lcssa215.ph = phi double [ undef, %L351.lr.ph ], [ %399, %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi73210.unr = phi i64 [ 2, %L351.lr.ph ], [ %401, %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi72209.unr = phi double [ %364, %L351.lr.ph ], [ %399, %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod241.not = icmp eq i64 %xtraiter238, 0, !dbg !940 | |
br i1 %lcmp.mod241.not, label %L370, label %L351.epil, !dbg !940 | |
L351.epil: ; preds = %L345.L370.loopexit_crit_edge.unr-lcssa, %L351.epil | |
%value_phi73210.epil = phi i64 [ %402, %L351.epil ], [ %value_phi73210.unr, %L345.L370.loopexit_crit_edge.unr-lcssa ] | |
%value_phi72209.epil = phi double [ %405, %L351.epil ], [ %value_phi72209.unr, %L345.L370.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter240 = phi i64 [ %epil.iter240.next, %L351.epil ], [ 0, %L345.L370.loopexit_crit_edge.unr-lcssa ] | |
%402 = add nuw nsw i64 %value_phi73210.epil, 1, !dbg !941 | |
%403 = getelementptr inbounds double, double addrspace(13)* %360, i64 %value_phi73210.epil, !dbg !943 | |
%404 = load double, double addrspace(13)* %403, align 8, !dbg !943, !tbaa !67, !alias.scope !70, !noalias !71 | |
%405 = fadd double %value_phi72209.epil, %404, !dbg !944 | |
%epil.iter240.next = add nuw nsw i64 %epil.iter240, 1, !dbg !940 | |
%epil.iter240.cmp.not = icmp eq i64 %epil.iter240.next, %xtraiter238, !dbg !940 | |
br i1 %epil.iter240.cmp.not, label %L370, label %L351.epil, !dbg !940, !llvm.loop !949 | |
L370: ; preds = %L351.epil, %L342, %L345.L370.loopexit_crit_edge.unr-lcssa, %L328, %L338, %L356 | |
%value_phi66 = phi double [ %356, %L338 ], [ %400, %L356 ], [ 0.000000e+00, %L328 ], [ %364, %L342 ], [ %.lcssa215.ph, %L345.L370.loopexit_crit_edge.unr-lcssa ], [ %405, %L351.epil ] | |
%406 = fsub double %value_phi66, %value_phi66, !dbg !950 | |
%407 = fcmp oeq double %406, 0.000000e+00, !dbg !952 | |
br i1 %407, label %L380, label %L377, !dbg !926 | |
L377: ; preds = %L370 | |
%408 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %23), !dbg !809 | |
%409 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %408, 0, !dbg !810 | |
%410 = insertvalue { {} addrspace(10)*, i8 } %409, i8 0, 1, !dbg !810 | |
%411 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !810 | |
store {} addrspace(10)* %408, {} addrspace(10)** %411, align 8, !dbg !810, !noalias !423 | |
store { {} addrspace(10)*, i8 } %410, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !810, !noalias !423 | |
br label %common.ret | |
L380: ; preds = %L370 | |
%412 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %.phi.trans.insert250 unordered, align 8, !dbg !954, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not179 = icmp eq {} addrspace(10)* %412, null, !dbg !954 | |
br i1 %.not179, label %fail67, label %pass68, !dbg !954 | |
L386: ; preds = %pass68 | |
%413 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %602, 0, !dbg !956 | |
%414 = insertvalue { {} addrspace(10)*, i8 } %413, i8 0, 1, !dbg !956 | |
%415 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !956 | |
store {} addrspace(10)* %602, {} addrspace(10)** %415, align 8, !dbg !956, !noalias !423 | |
store { {} addrspace(10)*, i8 } %414, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !956, !noalias !423 | |
br label %common.ret | |
L388: ; preds = %pass68 | |
%416 = bitcast {} addrspace(10)* %602 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !958 | |
%417 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %416 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !958 | |
%418 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %417, i64 0, i32 1, !dbg !958 | |
%419 = load i64, i64 addrspace(11)* %418, align 8, !dbg !958, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %419, label %L400 [ | |
i64 0, label %L430 | |
i64 1, label %L398 | |
], !dbg !973 | |
L398: ; preds = %L388 | |
%420 = bitcast {} addrspace(10)* %602 to double addrspace(13)* addrspace(10)*, !dbg !974 | |
%421 = addrspacecast double addrspace(13)* addrspace(10)* %420 to double addrspace(13)* addrspace(11)*, !dbg !974 | |
%422 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %421, align 8, !dbg !974, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%423 = load double, double addrspace(13)* %422, align 8, !dbg !974, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L430, !dbg !736 | |
L400: ; preds = %L388 | |
%424 = icmp ugt i64 %419, 15, !dbg !976 | |
br i1 %424, label %L416, label %L402, !dbg !977 | |
L402: ; preds = %L400 | |
%425 = bitcast {} addrspace(10)* %602 to double addrspace(13)* addrspace(10)*, !dbg !978 | |
%426 = addrspacecast double addrspace(13)* addrspace(10)* %425 to double addrspace(13)* addrspace(11)*, !dbg !978 | |
%427 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %426, align 8, !dbg !978, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%428 = load double, double addrspace(13)* %427, align 8, !dbg !978, !tbaa !67, !alias.scope !70, !noalias !71 | |
%429 = getelementptr inbounds double, double addrspace(13)* %427, i64 1, !dbg !980 | |
%430 = load double, double addrspace(13)* %429, align 8, !dbg !980, !tbaa !67, !alias.scope !70, !noalias !71 | |
%431 = fadd double %428, %430, !dbg !982 | |
%.not183204 = icmp ugt i64 %419, 2, !dbg !985 | |
br i1 %.not183204, label %L411.lr.ph, label %L430, !dbg !986 | |
L411.lr.ph: ; preds = %L402 | |
%432 = add nsw i64 %419, -2, !dbg !986 | |
%433 = add nsw i64 %419, -3, !dbg !986 | |
%xtraiter231 = and i64 %432, 7, !dbg !986 | |
%434 = icmp ult i64 %433, 7, !dbg !986 | |
br i1 %434, label %L405.L430.loopexit_crit_edge.unr-lcssa, label %L411.lr.ph.new, !dbg !986 | |
L411.lr.ph.new: ; preds = %L411.lr.ph | |
%unroll_iter236 = and i64 %432, -8, !dbg !986 | |
br label %L411, !dbg !986 | |
L411: ; preds = %L411, %L411.lr.ph.new | |
%value_phi71206 = phi i64 [ 2, %L411.lr.ph.new ], [ %463, %L411 ] | |
%value_phi70205 = phi double [ %431, %L411.lr.ph.new ], [ %466, %L411 ] | |
%niter237 = phi i64 [ 0, %L411.lr.ph.new ], [ %niter237.next.7, %L411 ] | |
%435 = or i64 %value_phi71206, 1, !dbg !987 | |
%436 = getelementptr inbounds double, double addrspace(13)* %427, i64 %value_phi71206, !dbg !989 | |
%437 = load double, double addrspace(13)* %436, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%438 = fadd double %value_phi70205, %437, !dbg !990 | |
%439 = add nuw nsw i64 %value_phi71206, 2, !dbg !987 | |
%440 = getelementptr inbounds double, double addrspace(13)* %427, i64 %435, !dbg !989 | |
%441 = load double, double addrspace(13)* %440, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%442 = fadd double %438, %441, !dbg !990 | |
%443 = add nuw nsw i64 %value_phi71206, 3, !dbg !987 | |
%444 = getelementptr inbounds double, double addrspace(13)* %427, i64 %439, !dbg !989 | |
%445 = load double, double addrspace(13)* %444, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%446 = fadd double %442, %445, !dbg !990 | |
%447 = add nuw nsw i64 %value_phi71206, 4, !dbg !987 | |
%448 = getelementptr inbounds double, double addrspace(13)* %427, i64 %443, !dbg !989 | |
%449 = load double, double addrspace(13)* %448, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%450 = fadd double %446, %449, !dbg !990 | |
%451 = add nuw nsw i64 %value_phi71206, 5, !dbg !987 | |
%452 = getelementptr inbounds double, double addrspace(13)* %427, i64 %447, !dbg !989 | |
%453 = load double, double addrspace(13)* %452, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%454 = fadd double %450, %453, !dbg !990 | |
%455 = add nuw nsw i64 %value_phi71206, 6, !dbg !987 | |
%456 = getelementptr inbounds double, double addrspace(13)* %427, i64 %451, !dbg !989 | |
%457 = load double, double addrspace(13)* %456, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%458 = fadd double %454, %457, !dbg !990 | |
%459 = add nuw nsw i64 %value_phi71206, 7, !dbg !987 | |
%460 = getelementptr inbounds double, double addrspace(13)* %427, i64 %455, !dbg !989 | |
%461 = load double, double addrspace(13)* %460, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%462 = fadd double %458, %461, !dbg !990 | |
%463 = add nuw nsw i64 %value_phi71206, 8, !dbg !987 | |
%464 = getelementptr inbounds double, double addrspace(13)* %427, i64 %459, !dbg !989 | |
%465 = load double, double addrspace(13)* %464, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%466 = fadd double %462, %465, !dbg !990 | |
%niter237.next.7 = add i64 %niter237, 8, !dbg !986 | |
%niter237.ncmp.7.not = icmp eq i64 %niter237.next.7, %unroll_iter236, !dbg !986 | |
br i1 %niter237.ncmp.7.not, label %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit, label %L411, !dbg !986 | |
L416: ; preds = %L400 | |
%467 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %602, i64 noundef signext 1, i64 signext %419, i64 noundef signext 1024) #53, !dbg !993 | |
br label %L430, !dbg !736 | |
L405.L430.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L411 | |
%468 = or i64 %unroll_iter236, 2, !dbg !986 | |
br label %L405.L430.loopexit_crit_edge.unr-lcssa, !dbg !986 | |
L405.L430.loopexit_crit_edge.unr-lcssa: ; preds = %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit, %L411.lr.ph | |
%.lcssa214.ph = phi double [ undef, %L411.lr.ph ], [ %466, %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi71206.unr = phi i64 [ 2, %L411.lr.ph ], [ %468, %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi70205.unr = phi double [ %431, %L411.lr.ph ], [ %466, %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod234.not = icmp eq i64 %xtraiter231, 0, !dbg !986 | |
br i1 %lcmp.mod234.not, label %L430, label %L411.epil, !dbg !986 | |
L411.epil: ; preds = %L405.L430.loopexit_crit_edge.unr-lcssa, %L411.epil | |
%value_phi71206.epil = phi i64 [ %469, %L411.epil ], [ %value_phi71206.unr, %L405.L430.loopexit_crit_edge.unr-lcssa ] | |
%value_phi70205.epil = phi double [ %472, %L411.epil ], [ %value_phi70205.unr, %L405.L430.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter233 = phi i64 [ %epil.iter233.next, %L411.epil ], [ 0, %L405.L430.loopexit_crit_edge.unr-lcssa ] | |
%469 = add nuw nsw i64 %value_phi71206.epil, 1, !dbg !987 | |
%470 = getelementptr inbounds double, double addrspace(13)* %427, i64 %value_phi71206.epil, !dbg !989 | |
%471 = load double, double addrspace(13)* %470, align 8, !dbg !989, !tbaa !67, !alias.scope !70, !noalias !71 | |
%472 = fadd double %value_phi70205.epil, %471, !dbg !990 | |
%epil.iter233.next = add nuw nsw i64 %epil.iter233, 1, !dbg !986 | |
%epil.iter233.cmp.not = icmp eq i64 %epil.iter233.next, %xtraiter231, !dbg !986 | |
br i1 %epil.iter233.cmp.not, label %L430, label %L411.epil, !dbg !986, !llvm.loop !995 | |
L430: ; preds = %L411.epil, %L402, %L405.L430.loopexit_crit_edge.unr-lcssa, %L388, %L398, %L416 | |
%value_phi69 = phi double [ %423, %L398 ], [ %467, %L416 ], [ 0.000000e+00, %L388 ], [ %431, %L402 ], [ %.lcssa214.ph, %L405.L430.loopexit_crit_edge.unr-lcssa ], [ %472, %L411.epil ] | |
%473 = fsub double %value_phi69, %value_phi69, !dbg !996 | |
%474 = fcmp oeq double %473, 0.000000e+00, !dbg !998 | |
br i1 %474, label %L440, label %L437, !dbg !972 | |
L437: ; preds = %L430 | |
%475 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %23), !dbg !809 | |
%476 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %475, 0, !dbg !810 | |
%477 = insertvalue { {} addrspace(10)*, i8 } %476, i8 0, 1, !dbg !810 | |
%478 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !810 | |
store {} addrspace(10)* %475, {} addrspace(10)** %478, align 8, !dbg !810, !noalias !423 | |
store { {} addrspace(10)*, i8 } %477, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !810, !noalias !423 | |
br label %common.ret | |
L440: ; preds = %L430 | |
%479 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811865760 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %598, {} addrspace(10)* nonnull %602, {} addrspace(10)* nonnull %576, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #50, !dbg !1000 | |
%480 = bitcast {} addrspace(10)* %479 to {} addrspace(10)* addrspace(10)*, !dbg !1000 | |
%481 = addrspacecast {} addrspace(10)* addrspace(10)* %480 to {} addrspace(10)* addrspace(11)*, !dbg !1000 | |
%482 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %481, align 8, !dbg !1000 | |
%483 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1000 | |
store {} addrspace(10)* %482, {} addrspace(10)** %483, align 8, !dbg !1000, !noalias !423 | |
%484 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1000 | |
%485 = bitcast {} addrspace(10)* %479 to i8 addrspace(10)*, !dbg !1000 | |
%486 = addrspacecast i8 addrspace(10)* %485 to i8 addrspace(11)*, !dbg !1000 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %484, i8 addrspace(11)* noundef align 1 dereferenceable(16) %486, i64 16, i1 false), !dbg !1000, !noalias !423 | |
br label %common.ret | |
L442: ; preds = %L69 | |
%487 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809499750160 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811855216 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*)) #50, !dbg !1000 | |
call void @llvm.trap() #51, !dbg !1000 | |
unreachable, !dbg !1000 | |
oob: ; preds = %L72 | |
%488 = alloca i64, align 8, !dbg !742 | |
store i64 %93, i64* %488, align 8, !dbg !742, !noalias !423 | |
%489 = addrspacecast {} addrspace(10)* %88 to {} addrspace(12)*, !dbg !742 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %489, i64* noundef nonnull align 8 %488, i64 noundef 1) #51, !dbg !742 | |
unreachable, !dbg !742 | |
idxend: ; preds = %L72 | |
%490 = bitcast {} addrspace(10)* %88 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !742 | |
%491 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %490 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !742 | |
%492 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %491, align 8, !dbg !742, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%493 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %492, i64 %94, !dbg !742 | |
%494 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %493, align 8, !dbg !742, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not133 = icmp eq {} addrspace(10)* %494, null, !dbg !742 | |
br i1 %.not133, label %fail, label %pass, !dbg !742 | |
fail: ; preds = %idxend | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !742 | |
unreachable, !dbg !742 | |
pass: ; preds = %idxend | |
%495 = getelementptr inbounds i8, i8 addrspace(11)* %90, i64 48, !dbg !1001 | |
%496 = bitcast i8 addrspace(11)* %495 to {} addrspace(10)* addrspace(11)*, !dbg !1001 | |
%497 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %496 unordered, align 8, !dbg !1001, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not134 = icmp eq {} addrspace(10)* %497, null, !dbg !1001 | |
br i1 %.not134, label %fail9, label %pass10, !dbg !1001 | |
fail9: ; preds = %pass | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !1001 | |
unreachable, !dbg !1001 | |
pass10: ; preds = %pass | |
%498 = bitcast {} addrspace(10)* %497 to i64 addrspace(10)*, !dbg !1001 | |
%499 = addrspacecast i64 addrspace(10)* %498 to i64 addrspace(11)*, !dbg !1001 | |
%500 = load i64, i64 addrspace(11)* %499, align 8, !dbg !1001, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %500, label %pass38 [ | |
i64 2, label %pass12 | |
i64 1, label %pass28 | |
], !dbg !1002 | |
pass12: ; preds = %pass10 | |
%501 = bitcast {} addrspace(10)* %497 to i8 addrspace(10)*, !dbg !1001 | |
%502 = addrspacecast i8 addrspace(10)* %501 to i8 addrspace(11)*, !dbg !1001 | |
%503 = getelementptr inbounds i8, i8 addrspace(11)* %502, i64 48, !dbg !1001 | |
%504 = bitcast i8 addrspace(11)* %503 to {} addrspace(10)* addrspace(11)*, !dbg !1001 | |
%505 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %504 unordered, align 8, !dbg !1001, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not137 = icmp eq {} addrspace(10)* %505, null, !dbg !1001 | |
br i1 %.not137, label %fail13, label %pass14, !dbg !1001 | |
fail13: ; preds = %pass12 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !1001 | |
unreachable, !dbg !1001 | |
pass14: ; preds = %pass12 | |
%506 = bitcast {} addrspace(10)* %505 to i64 addrspace(10)*, !dbg !1001 | |
%507 = addrspacecast i64 addrspace(10)* %506 to i64 addrspace(11)*, !dbg !1001 | |
%508 = load i64, i64 addrspace(11)* %507, align 8, !dbg !1001, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not138 = icmp eq i64 %508, 0, !dbg !1003 | |
br i1 %.not138, label %pass16, label %pass38, !dbg !1002 | |
pass16: ; preds = %pass14 | |
%509 = getelementptr inbounds i8, i8 addrspace(11)* %502, i64 56, !dbg !1001 | |
%510 = bitcast i8 addrspace(11)* %509 to {} addrspace(10)* addrspace(11)*, !dbg !1001 | |
%511 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %510 unordered, align 8, !dbg !1001, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not140 = icmp eq {} addrspace(10)* %511, null, !dbg !1001 | |
br i1 %.not140, label %fail17, label %pass18, !dbg !1001 | |
fail17: ; preds = %pass16 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !1001 | |
unreachable, !dbg !1001 | |
pass18: ; preds = %pass16 | |
%512 = bitcast {} addrspace(10)* %511 to i64 addrspace(10)*, !dbg !1001 | |
%513 = addrspacecast i64 addrspace(10)* %512 to i64 addrspace(11)*, !dbg !1001 | |
%514 = load i64, i64 addrspace(11)* %513, align 8, !dbg !1001, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not141 = icmp eq i64 %514, 0, !dbg !1003 | |
br i1 %.not141, label %pass20, label %pass38, !dbg !1002 | |
pass20: ; preds = %pass18 | |
%515 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %4, i64 0, i64 0, !dbg !1005 | |
%516 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %515 unordered, align 8, !dbg !1005, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%517 = getelementptr inbounds i8, i8 addrspace(11)* %502, i64 40, !dbg !1005 | |
%518 = bitcast i8 addrspace(11)* %517 to i64 addrspace(11)*, !dbg !1005 | |
%519 = load i64, i64 addrspace(11)* %518, align 8, !dbg !1005, !tbaa !154, !alias.scope !70, !noalias !71 | |
%520 = add i64 %519, -1, !dbg !1007 | |
%521 = bitcast {} addrspace(10)* %516 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1007 | |
%522 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %521 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1007 | |
%523 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %522, i64 0, i32 1, !dbg !1007 | |
%524 = load i64, i64 addrspace(11)* %523, align 8, !dbg !1007, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%525 = icmp ult i64 %520, %524, !dbg !1007 | |
br i1 %525, label %idxend22, label %oob21, !dbg !1007 | |
oob21: ; preds = %pass20 | |
%526 = alloca i64, align 8, !dbg !1007 | |
store i64 %519, i64* %526, align 8, !dbg !1007, !noalias !423 | |
%527 = addrspacecast {} addrspace(10)* %516 to {} addrspace(12)*, !dbg !1007 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %527, i64* nonnull align 8 %526, i64 1), !dbg !1007 | |
unreachable, !dbg !1007 | |
idxend22: ; preds = %pass20 | |
%528 = bitcast {} addrspace(10)* %516 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !1007 | |
%529 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %528 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !1007 | |
%530 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %529, align 8, !dbg !1007, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%531 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %530, i64 %520, !dbg !1007 | |
%532 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %531, align 8, !dbg !1007, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not143 = icmp eq {} addrspace(10)* %532, null, !dbg !1007 | |
br i1 %.not143, label %fail23, label %pass24, !dbg !1007 | |
fail23: ; preds = %idxend22 | |
call void @ijl_throw({} addrspace(12)* addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)), !dbg !1007 | |
unreachable, !dbg !1007 | |
pass24: ; preds = %idxend22 | |
%533 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811912176 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull %3, {} addrspace(10)* nonnull %494, {} addrspace(10)* nonnull %532, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #50, !dbg !1008 | |
%534 = bitcast {} addrspace(10)* %533 to {} addrspace(10)* addrspace(10)*, !dbg !1008 | |
%535 = addrspacecast {} addrspace(10)* addrspace(10)* %534 to {} addrspace(10)* addrspace(11)*, !dbg !1008 | |
%536 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %535, align 8, !dbg !1008 | |
%537 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1008 | |
store {} addrspace(10)* %536, {} addrspace(10)** %537, align 8, !dbg !1008, !noalias !423 | |
%538 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1008 | |
%539 = bitcast {} addrspace(10)* %533 to i8 addrspace(10)*, !dbg !1008 | |
%540 = addrspacecast i8 addrspace(10)* %539 to i8 addrspace(11)*, !dbg !1008 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %538, i8 addrspace(11)* noundef align 1 dereferenceable(16) %540, i64 16, i1 false), !dbg !1008, !noalias !423 | |
br label %common.ret | |
pass28: ; preds = %pass10 | |
%541 = bitcast {} addrspace(10)* %497 to i8 addrspace(10)*, !dbg !1009 | |
%542 = addrspacecast i8 addrspace(10)* %541 to i8 addrspace(11)*, !dbg !1009 | |
%543 = getelementptr inbounds i8, i8 addrspace(11)* %542, i64 48, !dbg !1009 | |
%544 = bitcast i8 addrspace(11)* %543 to {} addrspace(10)* addrspace(11)*, !dbg !1009 | |
%545 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %544 unordered, align 8, !dbg !1009, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not147 = icmp eq {} addrspace(10)* %545, null, !dbg !1009 | |
br i1 %.not147, label %fail29, label %pass30, !dbg !1009 | |
fail29: ; preds = %pass28 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !1009 | |
unreachable, !dbg !1009 | |
pass30: ; preds = %pass28 | |
%546 = bitcast {} addrspace(10)* %545 to i64 addrspace(10)*, !dbg !1009 | |
%547 = addrspacecast i64 addrspace(10)* %546 to i64 addrspace(11)*, !dbg !1009 | |
%548 = load i64, i64 addrspace(11)* %547, align 8, !dbg !1009, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not148 = icmp eq i64 %548, 0, !dbg !1011 | |
br i1 %.not148, label %pass32, label %pass38, !dbg !1010 | |
pass32: ; preds = %pass30 | |
%549 = getelementptr inbounds i8, i8 addrspace(11)* %542, i64 40, !dbg !1012 | |
%550 = bitcast i8 addrspace(11)* %549 to i64 addrspace(11)*, !dbg !1012 | |
%551 = load i64, i64 addrspace(11)* %550, align 8, !dbg !1012, !tbaa !154, !alias.scope !70, !noalias !71 | |
%552 = add i64 %551, -1, !dbg !1014 | |
%553 = icmp ult i64 %552, %98, !dbg !1014 | |
br i1 %553, label %idxend34, label %oob33, !dbg !1014 | |
oob33: ; preds = %pass32 | |
%554 = alloca i64, align 8, !dbg !1014 | |
store i64 %551, i64* %554, align 8, !dbg !1014, !noalias !423 | |
%555 = addrspacecast {} addrspace(10)* %88 to {} addrspace(12)*, !dbg !1014 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %555, i64* noundef nonnull align 8 %554, i64 noundef 1) #51, !dbg !1014 | |
unreachable, !dbg !1014 | |
idxend34: ; preds = %pass32 | |
%556 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %492, i64 %552, !dbg !1014 | |
%557 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %556, align 8, !dbg !1014, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not150 = icmp eq {} addrspace(10)* %557, null, !dbg !1014 | |
br i1 %.not150, label %fail35, label %pass36, !dbg !1014 | |
fail35: ; preds = %idxend34 | |
call void @ijl_throw({} addrspace(12)* addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)), !dbg !1014 | |
unreachable, !dbg !1014 | |
pass36: ; preds = %idxend34 | |
%558 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811937824 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull %3, {} addrspace(10)* nonnull %494, {} addrspace(10)* nonnull %557, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #50, !dbg !1015 | |
%559 = bitcast {} addrspace(10)* %558 to {} addrspace(10)* addrspace(10)*, !dbg !1015 | |
%560 = addrspacecast {} addrspace(10)* addrspace(10)* %559 to {} addrspace(10)* addrspace(11)*, !dbg !1015 | |
%561 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %560, align 8, !dbg !1015 | |
%562 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1015 | |
store {} addrspace(10)* %561, {} addrspace(10)** %562, align 8, !dbg !1015, !noalias !423 | |
%563 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1015 | |
%564 = bitcast {} addrspace(10)* %558 to i8 addrspace(10)*, !dbg !1015 | |
%565 = addrspacecast i8 addrspace(10)* %564 to i8 addrspace(11)*, !dbg !1015 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %563, i8 addrspace(11)* noundef align 1 dereferenceable(16) %565, i64 16, i1 false), !dbg !1015, !noalias !423 | |
br label %common.ret | |
pass38: ; preds = %pass10, %pass18, %pass14, %pass30 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %8, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %9, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %497, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #53, !dbg !1016 | |
%566 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %8, i64 0, i32 0, !dbg !1017 | |
%567 = load atomic {} addrspace(10)*, {} addrspace(10)** %566 unordered, align 8, !dbg !1017, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%568 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %8, i64 0, i32 1, !dbg !1018 | |
%569 = load i8, i8* %568, align 8, !dbg !1019, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not152.not = icmp eq i8 %569, 0, !dbg !1019 | |
br i1 %.not152.not, label %L116, label %L118, !dbg !747 | |
oob42: ; preds = %L175 | |
%570 = alloca i64, align 8, !dbg !814 | |
store i64 %180, i64* %570, align 8, !dbg !814, !noalias !423 | |
%571 = addrspacecast {} addrspace(10)* %175 to {} addrspace(12)*, !dbg !814 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %571, i64* noundef nonnull align 8 %570, i64 noundef 1) #51, !dbg !814 | |
unreachable, !dbg !814 | |
idxend43: ; preds = %L175 | |
%572 = bitcast {} addrspace(10)* %175 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !814 | |
%573 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %572 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !814 | |
%574 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %573, align 8, !dbg !814, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%575 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %574, i64 %181, !dbg !814 | |
%576 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %575, align 8, !dbg !814, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not157 = icmp eq {} addrspace(10)* %576, null, !dbg !814 | |
br i1 %.not157, label %fail44, label %pass45, !dbg !814 | |
fail44: ; preds = %idxend43 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !814 | |
unreachable, !dbg !814 | |
pass45: ; preds = %idxend43 | |
%577 = getelementptr inbounds i8, i8 addrspace(11)* %177, i64 48, !dbg !815 | |
%578 = bitcast i8 addrspace(11)* %577 to {} addrspace(10)* addrspace(11)*, !dbg !815 | |
%579 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %578 unordered, align 8, !dbg !815, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not158 = icmp eq {} addrspace(10)* %579, null, !dbg !815 | |
br i1 %.not158, label %fail46, label %pass47, !dbg !815 | |
fail46: ; preds = %pass45 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !815 | |
unreachable, !dbg !815 | |
pass47: ; preds = %pass45 | |
%580 = bitcast {} addrspace(10)* %579 to i64 addrspace(10)*, !dbg !815 | |
%581 = addrspacecast i64 addrspace(10)* %580 to i64 addrspace(11)*, !dbg !815 | |
%582 = load i64, i64 addrspace(11)* %581, align 8, !dbg !815, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not159 = icmp eq i64 %582, 0, !dbg !1020 | |
br i1 %.not159, label %L182, label %L188, !dbg !816 | |
fail48: ; preds = %L182 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !815 | |
unreachable, !dbg !815 | |
pass49: ; preds = %L182 | |
%583 = bitcast {} addrspace(10)* %189 to i64 addrspace(10)*, !dbg !815 | |
%584 = addrspacecast i64 addrspace(10)* %583 to i64 addrspace(11)*, !dbg !815 | |
%585 = load i64, i64 addrspace(11)* %584, align 8, !dbg !815, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not161 = icmp eq i64 %585, 0, !dbg !1020 | |
br i1 %.not161, label %L186, label %pass60, !dbg !816 | |
fail50: ; preds = %L188 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !818 | |
unreachable, !dbg !818 | |
pass51.thread: ; preds = %L188 | |
%586 = bitcast {} addrspace(10)* %.pre to i64 addrspace(10)*, !dbg !818 | |
%587 = addrspacecast i64 addrspace(10)* %586 to i64 addrspace(11)*, !dbg !818 | |
%588 = load i64, i64 addrspace(11)* %587, align 8, !dbg !818, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not163256 = icmp eq i64 %588, 0, !dbg !1021 | |
br i1 %.not163256, label %pass53, label %pass65, !dbg !819 | |
pass53: ; preds = %pass51.thread | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %10, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %11, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %579, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #53, !dbg !1022 | |
%589 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %10, i64 0, i32 0, !dbg !1023 | |
%590 = load atomic {} addrspace(10)*, {} addrspace(10)** %589 unordered, align 8, !dbg !1023, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%591 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %10, i64 0, i32 1, !dbg !1024 | |
%592 = load i8, i8* %591, align 8, !dbg !1025, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not165.not = icmp eq i8 %592, 0, !dbg !1025 | |
br i1 %.not165.not, label %L198, label %L200, !dbg !821 | |
pass60: ; preds = %pass49 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %12, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %13, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %189, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #53, !dbg !1026 | |
%593 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %12, i64 0, i32 0, !dbg !1027 | |
%594 = load atomic {} addrspace(10)*, {} addrspace(10)** %593 unordered, align 8, !dbg !1027, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%595 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %12, i64 0, i32 1, !dbg !1028 | |
%596 = load i8, i8* %595, align 8, !dbg !1029, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not172.not = icmp eq i8 %596, 0, !dbg !1029 | |
br i1 %.not172.not, label %L264, label %L266, !dbg !866 | |
pass65: ; preds = %pass51.thread | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %14, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %15, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %579, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #53, !dbg !1030 | |
%597 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %14, i64 0, i32 0, !dbg !1031 | |
%598 = load atomic {} addrspace(10)*, {} addrspace(10)** %597 unordered, align 8, !dbg !1031, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%599 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %14, i64 0, i32 1, !dbg !1032 | |
%600 = load i8, i8* %599, align 8, !dbg !1033, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not177.not = icmp eq i8 %600, 0, !dbg !1033 | |
br i1 %.not177.not, label %L326, label %L328, !dbg !911 | |
fail67: ; preds = %L380 | |
call void @ijl_throw({} addrspace(12)* addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)), !dbg !954 | |
unreachable, !dbg !954 | |
pass68: ; preds = %L380 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %16, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %17, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %412, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #53, !dbg !955 | |
%601 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %16, i64 0, i32 0, !dbg !1034 | |
%602 = load atomic {} addrspace(10)*, {} addrspace(10)** %601 unordered, align 8, !dbg !1034, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%603 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %16, i64 0, i32 1, !dbg !1035 | |
%604 = load i8, i8* %603, align 8, !dbg !1036, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not180.not = icmp eq i8 %604, 0, !dbg !1036 | |
br i1 %.not180.not, label %L386, label %L388, !dbg !957 | |
fail74: ; preds = %L15 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !694 | |
unreachable, !dbg !694 | |
pass75: ; preds = %L15 | |
%605 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %36) #53, !dbg !695 | |
br label %L25, !dbg !695 | |
fail76: ; preds = %L18 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !698 | |
unreachable, !dbg !698 | |
pass77: ; preds = %L18 | |
%606 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %41) #53, !dbg !699 | |
%607 = and i8 %606, 1, !dbg !699 | |
%.not189 = icmp eq i8 %607, 0, !dbg !699 | |
br i1 %.not189, label %L69, label %L21, !dbg !699 | |
fail78: ; preds = %L21 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #51, !dbg !698 | |
unreachable, !dbg !698 | |
pass79: ; preds = %L21 | |
%608 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %44) #53, !dbg !699 | |
br label %L25, !dbg !699 | |
} | |
define internal fastcc void @julia__eval_tree_array_1_2070({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %0, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull readnone align 8 dereferenceable(8) %1, i8 zeroext %2, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %3, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %4, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %5) unnamed_addr #27 !dbg !1037 { | |
top: | |
%6 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%7 = alloca [1 x {} addrspace(10)*], align 8 | |
%8 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%9 = alloca [1 x {} addrspace(10)*], align 8 | |
%10 = call {}*** @julia.get_pgcstack() | |
%11 = bitcast {} addrspace(10)* %4 to {} addrspace(10)* addrspace(10)*, !dbg !1038 | |
%12 = addrspacecast {} addrspace(10)* addrspace(10)* %11 to {} addrspace(10)* addrspace(11)*, !dbg !1038 | |
%13 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %12, i64 4, !dbg !1038 | |
%14 = bitcast {} addrspace(10)* addrspace(11)* %13 to i64 addrspace(11)*, !dbg !1038 | |
%15 = load i64, i64 addrspace(11)* %14, align 16, !dbg !1038, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
br label %L49, !dbg !1041 | |
L5.preheader: ; No predecessors! | |
unreachable | |
L13.lr.ph: ; No predecessors! | |
unreachable | |
L34: ; No predecessors! | |
unreachable | |
L45: ; No predecessors! | |
unreachable | |
L49: ; preds = %top | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %8, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %9, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %3, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %4, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %5) #53, !dbg !1042 | |
%.fca.0.gep = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %8, i64 0, i32 0 | |
%.fca.0.load = load {} addrspace(10)*, {} addrspace(10)** %.fca.0.gep, align 8 | |
%.fca.1.gep = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %8, i64 0, i32 1 | |
%.fca.1.load = load i8, i8* %.fca.1.gep, align 8 | |
br label %L54, !dbg !1042 | |
L54: ; preds = %L49 | |
%.fca.0.insert27.pn = insertvalue { {} addrspace(10)*, i8 } undef, {} addrspace(10)* %.fca.0.load, 0 | |
%value_phi5 = insertvalue { {} addrspace(10)*, i8 } %.fca.0.insert27.pn, i8 %.fca.1.load, 1 | |
%16 = and i8 %.fca.1.load, 1, !dbg !1043 | |
%.not36.not = icmp eq i8 %16, 0, !dbg !1043 | |
br i1 %.not36.not, label %L59, label %L61, !dbg !1045 | |
common.ret: ; preds = %L113, %L110, %L59 | |
ret void, !dbg !1046 | |
L59: ; preds = %L54 | |
%17 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %.fca.0.load, 0, !dbg !1047 | |
%18 = insertvalue { {} addrspace(10)*, i8 } %17, i8 0, 1, !dbg !1047 | |
%19 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1047 | |
store { {} addrspace(10)*, i8 } %18, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1047, !noalias !423 | |
br label %common.ret | |
L61: ; preds = %L54 | |
%20 = bitcast {} addrspace(10)* %.fca.0.load to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1049 | |
%21 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %20 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1049 | |
%22 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %21, i64 0, i32 1, !dbg !1049 | |
%23 = load i64, i64 addrspace(11)* %22, align 8, !dbg !1049, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %23, label %L73 [ | |
i64 0, label %L103 | |
i64 1, label %L71 | |
], !dbg !1076 | |
L71: ; preds = %L61 | |
%24 = bitcast {} addrspace(10)* %.fca.0.load to double addrspace(13)* addrspace(10)*, !dbg !1077 | |
%25 = addrspacecast double addrspace(13)* addrspace(10)* %24 to double addrspace(13)* addrspace(11)*, !dbg !1077 | |
%26 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %25, align 8, !dbg !1077, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%27 = load double, double addrspace(13)* %26, align 8, !dbg !1077, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L103, !dbg !1080 | |
L73: ; preds = %L61 | |
%28 = icmp ugt i64 %23, 15, !dbg !1081 | |
br i1 %28, label %L89, label %L75, !dbg !1083 | |
L75: ; preds = %L73 | |
%29 = bitcast {} addrspace(10)* %.fca.0.load to double addrspace(13)* addrspace(10)*, !dbg !1084 | |
%30 = addrspacecast double addrspace(13)* addrspace(10)* %29 to double addrspace(13)* addrspace(11)*, !dbg !1084 | |
%31 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %30, align 8, !dbg !1084, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%32 = load double, double addrspace(13)* %31, align 8, !dbg !1084, !tbaa !67, !alias.scope !70, !noalias !71 | |
%33 = getelementptr inbounds double, double addrspace(13)* %31, i64 1, !dbg !1086 | |
%34 = load double, double addrspace(13)* %33, align 8, !dbg !1086, !tbaa !67, !alias.scope !70, !noalias !71 | |
%35 = fadd double %32, %34, !dbg !1088 | |
%.not3943 = icmp ugt i64 %23, 2, !dbg !1093 | |
br i1 %.not3943, label %L84.lr.ph, label %L103, !dbg !1094 | |
L84.lr.ph: ; preds = %L75 | |
%36 = add nsw i64 %23, -2, !dbg !1094 | |
%37 = add nsw i64 %23, -3, !dbg !1094 | |
%xtraiter = and i64 %36, 7, !dbg !1094 | |
%38 = icmp ult i64 %37, 7, !dbg !1094 | |
br i1 %38, label %L78.L103.loopexit_crit_edge.unr-lcssa, label %L84.lr.ph.new, !dbg !1094 | |
L84.lr.ph.new: ; preds = %L84.lr.ph | |
%unroll_iter = and i64 %36, -8, !dbg !1094 | |
br label %L84, !dbg !1094 | |
L84: ; preds = %L84, %L84.lr.ph.new | |
%value_phi845 = phi i64 [ 2, %L84.lr.ph.new ], [ %67, %L84 ] | |
%value_phi744 = phi double [ %35, %L84.lr.ph.new ], [ %70, %L84 ] | |
%niter = phi i64 [ 0, %L84.lr.ph.new ], [ %niter.next.7, %L84 ] | |
%39 = or i64 %value_phi845, 1, !dbg !1095 | |
%40 = getelementptr inbounds double, double addrspace(13)* %31, i64 %value_phi845, !dbg !1098 | |
%41 = load double, double addrspace(13)* %40, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%42 = fadd double %value_phi744, %41, !dbg !1099 | |
%43 = add nuw nsw i64 %value_phi845, 2, !dbg !1095 | |
%44 = getelementptr inbounds double, double addrspace(13)* %31, i64 %39, !dbg !1098 | |
%45 = load double, double addrspace(13)* %44, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%46 = fadd double %42, %45, !dbg !1099 | |
%47 = add nuw nsw i64 %value_phi845, 3, !dbg !1095 | |
%48 = getelementptr inbounds double, double addrspace(13)* %31, i64 %43, !dbg !1098 | |
%49 = load double, double addrspace(13)* %48, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%50 = fadd double %46, %49, !dbg !1099 | |
%51 = add nuw nsw i64 %value_phi845, 4, !dbg !1095 | |
%52 = getelementptr inbounds double, double addrspace(13)* %31, i64 %47, !dbg !1098 | |
%53 = load double, double addrspace(13)* %52, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%54 = fadd double %50, %53, !dbg !1099 | |
%55 = add nuw nsw i64 %value_phi845, 5, !dbg !1095 | |
%56 = getelementptr inbounds double, double addrspace(13)* %31, i64 %51, !dbg !1098 | |
%57 = load double, double addrspace(13)* %56, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%58 = fadd double %54, %57, !dbg !1099 | |
%59 = add nuw nsw i64 %value_phi845, 6, !dbg !1095 | |
%60 = getelementptr inbounds double, double addrspace(13)* %31, i64 %55, !dbg !1098 | |
%61 = load double, double addrspace(13)* %60, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%62 = fadd double %58, %61, !dbg !1099 | |
%63 = add nuw nsw i64 %value_phi845, 7, !dbg !1095 | |
%64 = getelementptr inbounds double, double addrspace(13)* %31, i64 %59, !dbg !1098 | |
%65 = load double, double addrspace(13)* %64, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%66 = fadd double %62, %65, !dbg !1099 | |
%67 = add nuw nsw i64 %value_phi845, 8, !dbg !1095 | |
%68 = getelementptr inbounds double, double addrspace(13)* %31, i64 %63, !dbg !1098 | |
%69 = load double, double addrspace(13)* %68, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%70 = fadd double %66, %69, !dbg !1099 | |
%niter.next.7 = add i64 %niter, 8, !dbg !1094 | |
%niter.ncmp.7.not = icmp eq i64 %niter.next.7, %unroll_iter, !dbg !1094 | |
br i1 %niter.ncmp.7.not, label %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit, label %L84, !dbg !1094 | |
L89: ; preds = %L73 | |
%71 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %.fca.0.load, i64 noundef signext 1, i64 signext %23, i64 noundef signext 1024) #53, !dbg !1102 | |
br label %L103, !dbg !1104 | |
L78.L103.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L84 | |
%72 = or i64 %unroll_iter, 2, !dbg !1094 | |
br label %L78.L103.loopexit_crit_edge.unr-lcssa, !dbg !1094 | |
L78.L103.loopexit_crit_edge.unr-lcssa: ; preds = %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit, %L84.lr.ph | |
%.lcssa.ph = phi double [ undef, %L84.lr.ph ], [ %70, %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi845.unr = phi i64 [ 2, %L84.lr.ph ], [ %72, %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi744.unr = phi double [ %35, %L84.lr.ph ], [ %70, %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !1094 | |
br i1 %lcmp.mod.not, label %L103, label %L84.epil, !dbg !1094 | |
L84.epil: ; preds = %L78.L103.loopexit_crit_edge.unr-lcssa, %L84.epil | |
%value_phi845.epil = phi i64 [ %73, %L84.epil ], [ %value_phi845.unr, %L78.L103.loopexit_crit_edge.unr-lcssa ] | |
%value_phi744.epil = phi double [ %76, %L84.epil ], [ %value_phi744.unr, %L78.L103.loopexit_crit_edge.unr-lcssa ] | |
%epil.iter = phi i64 [ %epil.iter.next, %L84.epil ], [ 0, %L78.L103.loopexit_crit_edge.unr-lcssa ] | |
%73 = add nuw nsw i64 %value_phi845.epil, 1, !dbg !1095 | |
%74 = getelementptr inbounds double, double addrspace(13)* %31, i64 %value_phi845.epil, !dbg !1098 | |
%75 = load double, double addrspace(13)* %74, align 8, !dbg !1098, !tbaa !67, !alias.scope !70, !noalias !71 | |
%76 = fadd double %value_phi744.epil, %75, !dbg !1099 | |
%epil.iter.next = add nuw nsw i64 %epil.iter, 1, !dbg !1094 | |
%epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter, !dbg !1094 | |
br i1 %epil.iter.cmp.not, label %L103, label %L84.epil, !dbg !1094, !llvm.loop !1105 | |
L103: ; preds = %L84.epil, %L75, %L78.L103.loopexit_crit_edge.unr-lcssa, %L61, %L71, %L89 | |
%value_phi6 = phi double [ %27, %L71 ], [ %71, %L89 ], [ 0.000000e+00, %L61 ], [ %35, %L75 ], [ %.lcssa.ph, %L78.L103.loopexit_crit_edge.unr-lcssa ], [ %76, %L84.epil ] | |
%77 = fsub double %value_phi6, %value_phi6, !dbg !1106 | |
%78 = fcmp oeq double %77, 0.000000e+00, !dbg !1110 | |
br i1 %78, label %L113, label %L110, !dbg !1075 | |
L110: ; preds = %L103 | |
%79 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %15), !dbg !1113 | |
%80 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %79, 0, !dbg !1115 | |
%81 = insertvalue { {} addrspace(10)*, i8 } %80, i8 0, 1, !dbg !1115 | |
%82 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1115 | |
store { {} addrspace(10)*, i8 } %81, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1115, !noalias !423 | |
br label %common.ret | |
L113: ; preds = %L103 | |
%83 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1116 | |
store { {} addrspace(10)*, i8 } %value_phi5, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1116, !noalias !423 | |
br label %common.ret | |
} | |
; Function Attrs: inaccessiblememonly | |
declare noalias {} addrspace(10)* @ijl_array_copy({} addrspace(10)*) local_unnamed_addr #28 | |
; Function Attrs: inaccessiblememonly | |
declare noalias {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)*, i64) local_unnamed_addr #28 | |
; Function Attrs: nofree readonly | |
declare i32 @ijl_types_equal({} addrspace(10)*, {} addrspace(10)*) local_unnamed_addr #29 | |
define void @julia_get_loss__2048_inner.1({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %4, [4 x {} addrspace(10)*] %5) local_unnamed_addr #30 !dbg !1117 { | |
entry: | |
%6 = alloca [8 x i8], align 8 | |
%7 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%8 = alloca [1 x {} addrspace(10)*], align 8 | |
%9 = alloca [1 x [1 x i64]], align 8 | |
%10 = alloca [1 x [1 x i64]], align 8 | |
%11 = alloca [4 x {} addrspace(10)*], align 8, !dbg !1118 | |
%12 = addrspacecast [4 x {} addrspace(10)*]* %11 to [4 x {} addrspace(10)*] addrspace(11)*, !dbg !1118 | |
%.fca.0.extract = extractvalue [4 x {} addrspace(10)*] %5, 0, !dbg !1118 | |
%.fca.0.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 0, !dbg !1118 | |
store {} addrspace(10)* %.fca.0.extract, {} addrspace(10)** %.fca.0.gep, align 8, !dbg !1118, !noalias !423 | |
%.fca.1.extract = extractvalue [4 x {} addrspace(10)*] %5, 1, !dbg !1118 | |
%.fca.1.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 1, !dbg !1118 | |
store {} addrspace(10)* %.fca.1.extract, {} addrspace(10)** %.fca.1.gep, align 8, !dbg !1118, !noalias !423 | |
%.fca.2.extract = extractvalue [4 x {} addrspace(10)*] %5, 2, !dbg !1118 | |
%.fca.2.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 2, !dbg !1118 | |
store {} addrspace(10)* %.fca.2.extract, {} addrspace(10)** %.fca.2.gep, align 8, !dbg !1118, !noalias !423 | |
%.fca.3.extract = extractvalue [4 x {} addrspace(10)*] %5, 3, !dbg !1118 | |
%.fca.3.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 3, !dbg !1118 | |
store {} addrspace(10)* %.fca.3.extract, {} addrspace(10)** %.fca.3.gep, align 8, !dbg !1118, !noalias !423 | |
%13 = getelementptr inbounds [8 x i8], [8 x i8]* %6, i64 0, i64 0 | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %13) | |
%14 = bitcast { {} addrspace(10)*, i8 }* %7 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 16, i8* noundef nonnull align 8 dereferenceable(16) %14) | |
%15 = bitcast [1 x {} addrspace(10)*]* %8 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %15) | |
%16 = bitcast [1 x [1 x i64]]* %9 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %16) | |
%17 = bitcast [1 x [1 x i64]]* %10 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %17) | |
%18 = call {}*** @julia.get_pgcstack() | |
%19 = call fastcc { {} addrspace(10)*, i8 } @julia_set_constants_2105([8 x i8]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %6, {} addrspace(10)* nocapture noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2) #53, !dbg !1119 | |
call fastcc void @julia__eval_tree_array_1_2070({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %7, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %8, i8 zeroext undef, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %12) #53, !dbg !1121 | |
%20 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %7, i64 0, i32 0, !dbg !1124 | |
%21 = load atomic {} addrspace(10)*, {} addrspace(10)** %20 unordered, align 8, !dbg !1124, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%22 = bitcast {} addrspace(10)* %21 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1127 | |
%23 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %22 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1127 | |
%24 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %23, i64 0, i32 1, !dbg !1127 | |
%25 = load i64, i64 addrspace(11)* %24, align 8, !dbg !1127, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%26 = bitcast {} addrspace(10)* %4 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1127 | |
%27 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %26 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1127 | |
%28 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %27, i64 0, i32 1, !dbg !1127 | |
%29 = load i64, i64 addrspace(11)* %28, align 8, !dbg !1127, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%30 = icmp ne i64 %29, %25, !dbg !1138 | |
%31 = icmp ne i64 %25, 1, !dbg !1150 | |
%32 = and i1 %31, %30, !dbg !1151 | |
br i1 %32, label %L21.i, label %L33.i, !dbg !1151 | |
L21.i: ; preds = %entry | |
%.not29 = icmp eq i64 %29, 1, !dbg !1150 | |
br i1 %.not29, label %L33.i, label %L29.i, !dbg !1151 | |
L29.i: ; preds = %L21.i | |
%33 = call nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %25), !dbg !1151 | |
%34 = call nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %29), !dbg !1151 | |
%35 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809548588912 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809496386432 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809505945488 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %33, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809505945456 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %34) #50, !dbg !1151 | |
%current_task15.i30 = getelementptr inbounds {}**, {}*** %18, i64 -13, !dbg !1151 | |
%current_task15.i = bitcast {}*** %current_task15.i30 to {}**, !dbg !1151 | |
%36 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task15.i, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809549581744 to {}*) to {} addrspace(10)*)) #49, !dbg !1151 | |
%37 = bitcast {} addrspace(10)* %36 to {} addrspace(10)* addrspace(10)*, !dbg !1151 | |
store {} addrspace(10)* %35, {} addrspace(10)* addrspace(10)* %37, align 8, !dbg !1151, !tbaa !145, !alias.scope !70, !noalias !148 | |
%38 = addrspacecast {} addrspace(10)* %36 to {} addrspace(12)*, !dbg !1151 | |
call void @ijl_throw({} addrspace(12)* %38) #51, !dbg !1151 | |
unreachable, !dbg !1151 | |
L33.i: ; preds = %L21.i, %entry | |
%.sroa.04.0 = phi i64 [ %29, %entry ], [ %25, %L21.i ] | |
%39 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %9, i64 0, i64 0, i64 0, !dbg !1152 | |
store i64 %.sroa.04.0, i64* %39, align 8, !dbg !1152, !tbaa !335, !alias.scope !337, !noalias !338 | |
%40 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %.sroa.04.0), !dbg !1153 | |
%41 = bitcast {} addrspace(10)* %40 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1165 | |
%42 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %41 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1165 | |
%43 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %42, i64 0, i32 1, !dbg !1165 | |
%44 = load i64, i64 addrspace(11)* %43, align 8, !dbg !1165, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not.not = icmp eq i64 %44, %.sroa.04.0, !dbg !1170 | |
br i1 %.not.not, label %L56.i, label %L152.i, !dbg !1176 | |
L56.i: ; preds = %L33.i | |
%45 = addrspacecast {} addrspace(10)* %40 to {} addrspace(11)*, !dbg !1177 | |
%46 = addrspacecast {} addrspace(10)* %21 to {} addrspace(11)*, !dbg !1177 | |
%.not = icmp eq {} addrspace(11)* %45, %46, !dbg !1177 | |
br i1 %.not, label %L72.i, label %L59.i, !dbg !1177 | |
L59.i: ; preds = %L56.i | |
%47 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %45) #57, !dbg !1185 | |
%48 = bitcast {}* %47 to i8**, !dbg !1185 | |
%49 = load i8*, i8** %48, align 8, !dbg !1185, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%50 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* noundef %46) #57, !dbg !1185 | |
%51 = bitcast {}* %50 to i8**, !dbg !1185 | |
%52 = load i8*, i8** %51, align 8, !dbg !1185, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%.not28 = icmp eq i8* %49, %52, !dbg !1196 | |
br i1 %.not28, label %L67.i, label %L72.i, !dbg !1201 | |
L67.i: ; preds = %L59.i | |
%53 = call nonnull {} addrspace(10)* @ijl_array_copy({} addrspace(10)* noundef nonnull %21), !dbg !1202 | |
%.phi.trans.insert = bitcast {} addrspace(10)* %53 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* | |
%.phi.trans.insert54 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %.phi.trans.insert to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* | |
%.phi.trans.insert55 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %.phi.trans.insert54, i64 0, i32 1 | |
%.pre = load i64, i64 addrspace(11)* %.phi.trans.insert55, align 8, !dbg !1206, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
br label %L72.i, !dbg !1201 | |
L72.i: ; preds = %L67.i, %L59.i, %L56.i | |
%54 = phi i64 [ %25, %L56.i ], [ %.pre, %L67.i ], [ %25, %L59.i ], !dbg !1206 | |
%value_phi7.i = phi {} addrspace(10)* [ %21, %L56.i ], [ %53, %L67.i ], [ %21, %L59.i ] | |
%55 = icmp eq i64 %54, 1, !dbg !1212 | |
%56 = addrspacecast {} addrspace(10)* %4 to {} addrspace(11)*, !dbg !1218 | |
%.not23 = icmp eq {} addrspace(11)* %45, %56, !dbg !1218 | |
br i1 %.not23, label %L97.i, label %L84.i, !dbg !1218 | |
L84.i: ; preds = %L72.i | |
%57 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %45) #57, !dbg !1221 | |
%58 = bitcast {}* %57 to i8**, !dbg !1221 | |
%59 = load i8*, i8** %58, align 8, !dbg !1221, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%60 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* noundef %56) #57, !dbg !1221 | |
%61 = bitcast {}* %60 to i8**, !dbg !1221 | |
%62 = load i8*, i8** %61, align 8, !dbg !1221, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%.not27 = icmp eq i8* %59, %62, !dbg !1227 | |
br i1 %.not27, label %L92.i, label %L97.i, !dbg !1230 | |
L92.i: ; preds = %L84.i | |
%63 = call nonnull {} addrspace(10)* @ijl_array_copy({} addrspace(10)* noundef nonnull %4), !dbg !1231 | |
%.phi.trans.insert56 = bitcast {} addrspace(10)* %63 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* | |
%.phi.trans.insert57 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %.phi.trans.insert56 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* | |
%.phi.trans.insert58 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %.phi.trans.insert57, i64 0, i32 1 | |
%.pre59 = load i64, i64 addrspace(11)* %.phi.trans.insert58, align 8, !dbg !1233, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
br label %L97.i, !dbg !1230 | |
L97.i: ; preds = %L84.i, %L72.i, %L92.i | |
%64 = phi i64 [ %.pre59, %L92.i ], [ %29, %L72.i ], [ %29, %L84.i ], !dbg !1233 | |
%value_phi8.i = phi {} addrspace(10)* [ %63, %L92.i ], [ %4, %L72.i ], [ %4, %L84.i ] | |
%65 = icmp eq i64 %64, 1, !dbg !1237 | |
%.not24 = icmp eq i64 %.sroa.04.0, 0, !dbg !1241 | |
br i1 %.not24, label %L150.i, label %L118.i.lr.ph, !dbg !1246 | |
L118.i.lr.ph: ; preds = %L97.i | |
%66 = bitcast {} addrspace(10)* %value_phi7.i to double addrspace(13)* addrspace(10)* | |
%67 = addrspacecast double addrspace(13)* addrspace(10)* %66 to double addrspace(13)* addrspace(11)* | |
%68 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %67, align 8, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%69 = bitcast {} addrspace(10)* %value_phi8.i to double addrspace(13)* addrspace(10)* | |
%70 = addrspacecast double addrspace(13)* addrspace(10)* %69 to double addrspace(13)* addrspace(11)* | |
%71 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %70, align 8, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
%72 = bitcast {} addrspace(10)* %40 to double addrspace(13)* addrspace(10)* | |
%73 = addrspacecast double addrspace(13)* addrspace(10)* %72 to double addrspace(13)* addrspace(11)* | |
%74 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %73, align 8, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
br i1 %55, label %L118.i.lr.ph.split.us, label %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge, !dbg !1247 | |
L118.i.lr.ph.L118.i.lr.ph.split_crit_edge: ; preds = %L118.i.lr.ph | |
br i1 %65, label %L118.i.lr.ph.split.split.us, label %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge, !dbg !1247 | |
L118.i.lr.ph.split.us: ; preds = %L118.i.lr.ph | |
br i1 %65, label %L118.i.lr.ph.split.us.split.us, label %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge, !dbg !1247 | |
L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge: ; preds = %L118.i.lr.ph.split.us | |
%75 = add nsw i64 %.sroa.04.0, -1, !dbg !1247 | |
%xtraiter36 = and i64 %.sroa.04.0, 7, !dbg !1247 | |
%76 = icmp ult i64 %75, 7, !dbg !1247 | |
br i1 %76, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, label %L118.i.lr.ph.split.us.split.new, !dbg !1247 | |
L118.i.lr.ph.split.us.split.us: ; preds = %L118.i.lr.ph.split.us | |
%77 = add nsw i64 %.sroa.04.0, -1, !dbg !1247 | |
%xtraiter48 = and i64 %.sroa.04.0, 7, !dbg !1247 | |
%78 = icmp ult i64 %77, 7, !dbg !1247 | |
br i1 %78, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, label %L118.i.lr.ph.split.us.split.us.new, !dbg !1247 | |
L118.i.lr.ph.split.us.split.us.new: ; preds = %L118.i.lr.ph.split.us.split.us | |
%unroll_iter52 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1247 | |
br label %L118.i.us.us, !dbg !1247 | |
L118.i.us.us: ; preds = %L118.i.us.us, %L118.i.lr.ph.split.us.split.us.new | |
%value_phi9.i32.us.us = phi i64 [ 0, %L118.i.lr.ph.split.us.split.us.new ], [ %118, %L118.i.us.us ] | |
%79 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%80 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%81 = fsub double %79, %80, !dbg !1263 | |
%82 = getelementptr inbounds double, double addrspace(13)* %74, i64 %value_phi9.i32.us.us, !dbg !1268 | |
store double %81, double addrspace(13)* %82, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%83 = or i64 %value_phi9.i32.us.us, 1, !dbg !1270 | |
%84 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%85 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%86 = fsub double %84, %85, !dbg !1263 | |
%87 = getelementptr inbounds double, double addrspace(13)* %74, i64 %83, !dbg !1268 | |
store double %86, double addrspace(13)* %87, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%88 = or i64 %value_phi9.i32.us.us, 2, !dbg !1270 | |
%89 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%90 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%91 = fsub double %89, %90, !dbg !1263 | |
%92 = getelementptr inbounds double, double addrspace(13)* %74, i64 %88, !dbg !1268 | |
store double %91, double addrspace(13)* %92, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%93 = or i64 %value_phi9.i32.us.us, 3, !dbg !1270 | |
%94 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%95 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%96 = fsub double %94, %95, !dbg !1263 | |
%97 = getelementptr inbounds double, double addrspace(13)* %74, i64 %93, !dbg !1268 | |
store double %96, double addrspace(13)* %97, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%98 = or i64 %value_phi9.i32.us.us, 4, !dbg !1270 | |
%99 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%100 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%101 = fsub double %99, %100, !dbg !1263 | |
%102 = getelementptr inbounds double, double addrspace(13)* %74, i64 %98, !dbg !1268 | |
store double %101, double addrspace(13)* %102, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%103 = or i64 %value_phi9.i32.us.us, 5, !dbg !1270 | |
%104 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%105 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%106 = fsub double %104, %105, !dbg !1263 | |
%107 = getelementptr inbounds double, double addrspace(13)* %74, i64 %103, !dbg !1268 | |
store double %106, double addrspace(13)* %107, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%108 = or i64 %value_phi9.i32.us.us, 6, !dbg !1270 | |
%109 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%110 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%111 = fsub double %109, %110, !dbg !1263 | |
%112 = getelementptr inbounds double, double addrspace(13)* %74, i64 %108, !dbg !1268 | |
store double %111, double addrspace(13)* %112, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%113 = or i64 %value_phi9.i32.us.us, 7, !dbg !1270 | |
%114 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%115 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%116 = fsub double %114, %115, !dbg !1263 | |
%117 = getelementptr inbounds double, double addrspace(13)* %74, i64 %113, !dbg !1268 | |
store double %116, double addrspace(13)* %117, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%118 = add nuw nsw i64 %value_phi9.i32.us.us, 8, !dbg !1270 | |
%niter53.ncmp.7.not = icmp eq i64 %118, %unroll_iter52, !dbg !1247 | |
br i1 %niter53.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, label %L118.i.us.us, !dbg !1247, !llvm.loop !1273 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa: ; preds = %L118.i.us.us, %L118.i.lr.ph.split.us.split.us | |
%value_phi9.i32.us.us.unr = phi i64 [ 0, %L118.i.lr.ph.split.us.split.us ], [ %unroll_iter52, %L118.i.us.us ] | |
%lcmp.mod51.not = icmp eq i64 %xtraiter48, 0, !dbg !1247 | |
br i1 %lcmp.mod51.not, label %L150.i, label %L118.i.us.us.epil, !dbg !1247 | |
L118.i.us.us.epil: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, %L118.i.us.us.epil | |
%value_phi9.i32.us.us.epil = phi i64 [ %123, %L118.i.us.us.epil ], [ %value_phi9.i32.us.us.unr, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa ] | |
%epil.iter50 = phi i64 [ %epil.iter50.next, %L118.i.us.us.epil ], [ 0, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa ] | |
%119 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%120 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%121 = fsub double %119, %120, !dbg !1263 | |
%122 = getelementptr inbounds double, double addrspace(13)* %74, i64 %value_phi9.i32.us.us.epil, !dbg !1268 | |
store double %121, double addrspace(13)* %122, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%123 = add nuw nsw i64 %value_phi9.i32.us.us.epil, 1, !dbg !1270 | |
%epil.iter50.next = add nuw nsw i64 %epil.iter50, 1, !dbg !1247 | |
%epil.iter50.cmp.not = icmp eq i64 %epil.iter50.next, %xtraiter48, !dbg !1247 | |
br i1 %epil.iter50.cmp.not, label %L150.i, label %L118.i.us.us.epil, !dbg !1247, !llvm.loop !1274 | |
L118.i.lr.ph.split.us.split.new: ; preds = %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge | |
%unroll_iter40 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1247 | |
br label %L118.i.us, !dbg !1247 | |
L118.i.us: ; preds = %L118.i.us, %L118.i.lr.ph.split.us.split.new | |
%value_phi9.i32.us = phi i64 [ 0, %L118.i.lr.ph.split.us.split.new ], [ %171, %L118.i.us ] | |
%124 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%125 = getelementptr inbounds double, double addrspace(13)* %71, i64 %value_phi9.i32.us, !dbg !1260 | |
%126 = load double, double addrspace(13)* %125, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%127 = fsub double %124, %126, !dbg !1263 | |
%128 = getelementptr inbounds double, double addrspace(13)* %74, i64 %value_phi9.i32.us, !dbg !1268 | |
store double %127, double addrspace(13)* %128, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%129 = or i64 %value_phi9.i32.us, 1, !dbg !1270 | |
%130 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%131 = getelementptr inbounds double, double addrspace(13)* %71, i64 %129, !dbg !1260 | |
%132 = load double, double addrspace(13)* %131, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%133 = fsub double %130, %132, !dbg !1263 | |
%134 = getelementptr inbounds double, double addrspace(13)* %74, i64 %129, !dbg !1268 | |
store double %133, double addrspace(13)* %134, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%135 = or i64 %value_phi9.i32.us, 2, !dbg !1270 | |
%136 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%137 = getelementptr inbounds double, double addrspace(13)* %71, i64 %135, !dbg !1260 | |
%138 = load double, double addrspace(13)* %137, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%139 = fsub double %136, %138, !dbg !1263 | |
%140 = getelementptr inbounds double, double addrspace(13)* %74, i64 %135, !dbg !1268 | |
store double %139, double addrspace(13)* %140, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%141 = or i64 %value_phi9.i32.us, 3, !dbg !1270 | |
%142 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%143 = getelementptr inbounds double, double addrspace(13)* %71, i64 %141, !dbg !1260 | |
%144 = load double, double addrspace(13)* %143, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%145 = fsub double %142, %144, !dbg !1263 | |
%146 = getelementptr inbounds double, double addrspace(13)* %74, i64 %141, !dbg !1268 | |
store double %145, double addrspace(13)* %146, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%147 = or i64 %value_phi9.i32.us, 4, !dbg !1270 | |
%148 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%149 = getelementptr inbounds double, double addrspace(13)* %71, i64 %147, !dbg !1260 | |
%150 = load double, double addrspace(13)* %149, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%151 = fsub double %148, %150, !dbg !1263 | |
%152 = getelementptr inbounds double, double addrspace(13)* %74, i64 %147, !dbg !1268 | |
store double %151, double addrspace(13)* %152, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%153 = or i64 %value_phi9.i32.us, 5, !dbg !1270 | |
%154 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%155 = getelementptr inbounds double, double addrspace(13)* %71, i64 %153, !dbg !1260 | |
%156 = load double, double addrspace(13)* %155, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%157 = fsub double %154, %156, !dbg !1263 | |
%158 = getelementptr inbounds double, double addrspace(13)* %74, i64 %153, !dbg !1268 | |
store double %157, double addrspace(13)* %158, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%159 = or i64 %value_phi9.i32.us, 6, !dbg !1270 | |
%160 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%161 = getelementptr inbounds double, double addrspace(13)* %71, i64 %159, !dbg !1260 | |
%162 = load double, double addrspace(13)* %161, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%163 = fsub double %160, %162, !dbg !1263 | |
%164 = getelementptr inbounds double, double addrspace(13)* %74, i64 %159, !dbg !1268 | |
store double %163, double addrspace(13)* %164, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%165 = or i64 %value_phi9.i32.us, 7, !dbg !1270 | |
%166 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%167 = getelementptr inbounds double, double addrspace(13)* %71, i64 %165, !dbg !1260 | |
%168 = load double, double addrspace(13)* %167, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%169 = fsub double %166, %168, !dbg !1263 | |
%170 = getelementptr inbounds double, double addrspace(13)* %74, i64 %165, !dbg !1268 | |
store double %169, double addrspace(13)* %170, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%171 = add nuw nsw i64 %value_phi9.i32.us, 8, !dbg !1270 | |
%niter41.ncmp.7.not = icmp eq i64 %171, %unroll_iter40, !dbg !1247 | |
br i1 %niter41.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, label %L118.i.us, !dbg !1247, !llvm.loop !1273 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa: ; preds = %L118.i.us, %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge | |
%value_phi9.i32.us.unr = phi i64 [ 0, %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge ], [ %unroll_iter40, %L118.i.us ] | |
%lcmp.mod39.not = icmp eq i64 %xtraiter36, 0, !dbg !1247 | |
br i1 %lcmp.mod39.not, label %L150.i, label %L118.i.us.epil, !dbg !1247 | |
L118.i.us.epil: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, %L118.i.us.epil | |
%value_phi9.i32.us.epil = phi i64 [ %177, %L118.i.us.epil ], [ %value_phi9.i32.us.unr, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa ] | |
%epil.iter38 = phi i64 [ %epil.iter38.next, %L118.i.us.epil ], [ 0, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa ] | |
%172 = load double, double addrspace(13)* %68, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%173 = getelementptr inbounds double, double addrspace(13)* %71, i64 %value_phi9.i32.us.epil, !dbg !1260 | |
%174 = load double, double addrspace(13)* %173, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%175 = fsub double %172, %174, !dbg !1263 | |
%176 = getelementptr inbounds double, double addrspace(13)* %74, i64 %value_phi9.i32.us.epil, !dbg !1268 | |
store double %175, double addrspace(13)* %176, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%177 = add nuw nsw i64 %value_phi9.i32.us.epil, 1, !dbg !1270 | |
%epil.iter38.next = add nuw nsw i64 %epil.iter38, 1, !dbg !1247 | |
%epil.iter38.cmp.not = icmp eq i64 %epil.iter38.next, %xtraiter36, !dbg !1247 | |
br i1 %epil.iter38.cmp.not, label %L150.i, label %L118.i.us.epil, !dbg !1247, !llvm.loop !1275 | |
L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge: ; preds = %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge | |
%178 = add nsw i64 %.sroa.04.0, -1, !dbg !1247 | |
%xtraiter = and i64 %.sroa.04.0, 7, !dbg !1247 | |
%179 = icmp ult i64 %178, 7, !dbg !1247 | |
br i1 %179, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, label %L118.i.lr.ph.split.split.new, !dbg !1247 | |
L118.i.lr.ph.split.split.us: ; preds = %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge | |
%180 = add nsw i64 %.sroa.04.0, -1, !dbg !1247 | |
%xtraiter42 = and i64 %.sroa.04.0, 7, !dbg !1247 | |
%181 = icmp ult i64 %180, 7, !dbg !1247 | |
br i1 %181, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, label %L118.i.lr.ph.split.split.us.new, !dbg !1247 | |
L118.i.lr.ph.split.split.us.new: ; preds = %L118.i.lr.ph.split.split.us | |
%unroll_iter46 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1247 | |
br label %L118.i.us33, !dbg !1247 | |
L118.i.us33: ; preds = %L118.i.us33, %L118.i.lr.ph.split.split.us.new | |
%value_phi9.i32.us34 = phi i64 [ 0, %L118.i.lr.ph.split.split.us.new ], [ %229, %L118.i.us33 ] | |
%182 = getelementptr inbounds double, double addrspace(13)* %68, i64 %value_phi9.i32.us34, !dbg !1248 | |
%183 = load double, double addrspace(13)* %182, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%184 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%185 = fsub double %183, %184, !dbg !1263 | |
%186 = getelementptr inbounds double, double addrspace(13)* %74, i64 %value_phi9.i32.us34, !dbg !1268 | |
store double %185, double addrspace(13)* %186, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%187 = or i64 %value_phi9.i32.us34, 1, !dbg !1270 | |
%188 = getelementptr inbounds double, double addrspace(13)* %68, i64 %187, !dbg !1248 | |
%189 = load double, double addrspace(13)* %188, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%190 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%191 = fsub double %189, %190, !dbg !1263 | |
%192 = getelementptr inbounds double, double addrspace(13)* %74, i64 %187, !dbg !1268 | |
store double %191, double addrspace(13)* %192, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%193 = or i64 %value_phi9.i32.us34, 2, !dbg !1270 | |
%194 = getelementptr inbounds double, double addrspace(13)* %68, i64 %193, !dbg !1248 | |
%195 = load double, double addrspace(13)* %194, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%196 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%197 = fsub double %195, %196, !dbg !1263 | |
%198 = getelementptr inbounds double, double addrspace(13)* %74, i64 %193, !dbg !1268 | |
store double %197, double addrspace(13)* %198, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%199 = or i64 %value_phi9.i32.us34, 3, !dbg !1270 | |
%200 = getelementptr inbounds double, double addrspace(13)* %68, i64 %199, !dbg !1248 | |
%201 = load double, double addrspace(13)* %200, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%202 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%203 = fsub double %201, %202, !dbg !1263 | |
%204 = getelementptr inbounds double, double addrspace(13)* %74, i64 %199, !dbg !1268 | |
store double %203, double addrspace(13)* %204, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%205 = or i64 %value_phi9.i32.us34, 4, !dbg !1270 | |
%206 = getelementptr inbounds double, double addrspace(13)* %68, i64 %205, !dbg !1248 | |
%207 = load double, double addrspace(13)* %206, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%208 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%209 = fsub double %207, %208, !dbg !1263 | |
%210 = getelementptr inbounds double, double addrspace(13)* %74, i64 %205, !dbg !1268 | |
store double %209, double addrspace(13)* %210, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%211 = or i64 %value_phi9.i32.us34, 5, !dbg !1270 | |
%212 = getelementptr inbounds double, double addrspace(13)* %68, i64 %211, !dbg !1248 | |
%213 = load double, double addrspace(13)* %212, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%214 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%215 = fsub double %213, %214, !dbg !1263 | |
%216 = getelementptr inbounds double, double addrspace(13)* %74, i64 %211, !dbg !1268 | |
store double %215, double addrspace(13)* %216, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%217 = or i64 %value_phi9.i32.us34, 6, !dbg !1270 | |
%218 = getelementptr inbounds double, double addrspace(13)* %68, i64 %217, !dbg !1248 | |
%219 = load double, double addrspace(13)* %218, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%220 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%221 = fsub double %219, %220, !dbg !1263 | |
%222 = getelementptr inbounds double, double addrspace(13)* %74, i64 %217, !dbg !1268 | |
store double %221, double addrspace(13)* %222, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%223 = or i64 %value_phi9.i32.us34, 7, !dbg !1270 | |
%224 = getelementptr inbounds double, double addrspace(13)* %68, i64 %223, !dbg !1248 | |
%225 = load double, double addrspace(13)* %224, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%226 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%227 = fsub double %225, %226, !dbg !1263 | |
%228 = getelementptr inbounds double, double addrspace(13)* %74, i64 %223, !dbg !1268 | |
store double %227, double addrspace(13)* %228, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%229 = add nuw nsw i64 %value_phi9.i32.us34, 8, !dbg !1270 | |
%niter47.ncmp.7.not = icmp eq i64 %229, %unroll_iter46, !dbg !1247 | |
br i1 %niter47.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, label %L118.i.us33, !dbg !1247, !llvm.loop !1273 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa: ; preds = %L118.i.us33, %L118.i.lr.ph.split.split.us | |
%value_phi9.i32.us34.unr = phi i64 [ 0, %L118.i.lr.ph.split.split.us ], [ %unroll_iter46, %L118.i.us33 ] | |
%lcmp.mod45.not = icmp eq i64 %xtraiter42, 0, !dbg !1247 | |
br i1 %lcmp.mod45.not, label %L150.i, label %L118.i.us33.epil, !dbg !1247 | |
L118.i.us33.epil: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, %L118.i.us33.epil | |
%value_phi9.i32.us34.epil = phi i64 [ %235, %L118.i.us33.epil ], [ %value_phi9.i32.us34.unr, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa ] | |
%epil.iter44 = phi i64 [ %epil.iter44.next, %L118.i.us33.epil ], [ 0, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa ] | |
%230 = getelementptr inbounds double, double addrspace(13)* %68, i64 %value_phi9.i32.us34.epil, !dbg !1248 | |
%231 = load double, double addrspace(13)* %230, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%232 = load double, double addrspace(13)* %71, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%233 = fsub double %231, %232, !dbg !1263 | |
%234 = getelementptr inbounds double, double addrspace(13)* %74, i64 %value_phi9.i32.us34.epil, !dbg !1268 | |
store double %233, double addrspace(13)* %234, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%235 = add nuw nsw i64 %value_phi9.i32.us34.epil, 1, !dbg !1270 | |
%epil.iter44.next = add nuw nsw i64 %epil.iter44, 1, !dbg !1247 | |
%epil.iter44.cmp.not = icmp eq i64 %epil.iter44.next, %xtraiter42, !dbg !1247 | |
br i1 %epil.iter44.cmp.not, label %L150.i, label %L118.i.us33.epil, !dbg !1247, !llvm.loop !1276 | |
L118.i.lr.ph.split.split.new: ; preds = %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge | |
%unroll_iter = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1247 | |
br label %L118.i, !dbg !1247 | |
L118.i: ; preds = %L118.i, %L118.i.lr.ph.split.split.new | |
%value_phi9.i32 = phi i64 [ 0, %L118.i.lr.ph.split.split.new ], [ %291, %L118.i ] | |
%236 = getelementptr inbounds double, double addrspace(13)* %68, i64 %value_phi9.i32, !dbg !1248 | |
%237 = load double, double addrspace(13)* %236, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%238 = getelementptr inbounds double, double addrspace(13)* %71, i64 %value_phi9.i32, !dbg !1260 | |
%239 = load double, double addrspace(13)* %238, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%240 = fsub double %237, %239, !dbg !1263 | |
%241 = getelementptr inbounds double, double addrspace(13)* %74, i64 %value_phi9.i32, !dbg !1268 | |
store double %240, double addrspace(13)* %241, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%242 = or i64 %value_phi9.i32, 1, !dbg !1270 | |
%243 = getelementptr inbounds double, double addrspace(13)* %68, i64 %242, !dbg !1248 | |
%244 = load double, double addrspace(13)* %243, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%245 = getelementptr inbounds double, double addrspace(13)* %71, i64 %242, !dbg !1260 | |
%246 = load double, double addrspace(13)* %245, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%247 = fsub double %244, %246, !dbg !1263 | |
%248 = getelementptr inbounds double, double addrspace(13)* %74, i64 %242, !dbg !1268 | |
store double %247, double addrspace(13)* %248, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%249 = or i64 %value_phi9.i32, 2, !dbg !1270 | |
%250 = getelementptr inbounds double, double addrspace(13)* %68, i64 %249, !dbg !1248 | |
%251 = load double, double addrspace(13)* %250, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%252 = getelementptr inbounds double, double addrspace(13)* %71, i64 %249, !dbg !1260 | |
%253 = load double, double addrspace(13)* %252, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%254 = fsub double %251, %253, !dbg !1263 | |
%255 = getelementptr inbounds double, double addrspace(13)* %74, i64 %249, !dbg !1268 | |
store double %254, double addrspace(13)* %255, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%256 = or i64 %value_phi9.i32, 3, !dbg !1270 | |
%257 = getelementptr inbounds double, double addrspace(13)* %68, i64 %256, !dbg !1248 | |
%258 = load double, double addrspace(13)* %257, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%259 = getelementptr inbounds double, double addrspace(13)* %71, i64 %256, !dbg !1260 | |
%260 = load double, double addrspace(13)* %259, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%261 = fsub double %258, %260, !dbg !1263 | |
%262 = getelementptr inbounds double, double addrspace(13)* %74, i64 %256, !dbg !1268 | |
store double %261, double addrspace(13)* %262, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%263 = or i64 %value_phi9.i32, 4, !dbg !1270 | |
%264 = getelementptr inbounds double, double addrspace(13)* %68, i64 %263, !dbg !1248 | |
%265 = load double, double addrspace(13)* %264, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%266 = getelementptr inbounds double, double addrspace(13)* %71, i64 %263, !dbg !1260 | |
%267 = load double, double addrspace(13)* %266, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%268 = fsub double %265, %267, !dbg !1263 | |
%269 = getelementptr inbounds double, double addrspace(13)* %74, i64 %263, !dbg !1268 | |
store double %268, double addrspace(13)* %269, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%270 = or i64 %value_phi9.i32, 5, !dbg !1270 | |
%271 = getelementptr inbounds double, double addrspace(13)* %68, i64 %270, !dbg !1248 | |
%272 = load double, double addrspace(13)* %271, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%273 = getelementptr inbounds double, double addrspace(13)* %71, i64 %270, !dbg !1260 | |
%274 = load double, double addrspace(13)* %273, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%275 = fsub double %272, %274, !dbg !1263 | |
%276 = getelementptr inbounds double, double addrspace(13)* %74, i64 %270, !dbg !1268 | |
store double %275, double addrspace(13)* %276, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%277 = or i64 %value_phi9.i32, 6, !dbg !1270 | |
%278 = getelementptr inbounds double, double addrspace(13)* %68, i64 %277, !dbg !1248 | |
%279 = load double, double addrspace(13)* %278, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%280 = getelementptr inbounds double, double addrspace(13)* %71, i64 %277, !dbg !1260 | |
%281 = load double, double addrspace(13)* %280, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%282 = fsub double %279, %281, !dbg !1263 | |
%283 = getelementptr inbounds double, double addrspace(13)* %74, i64 %277, !dbg !1268 | |
store double %282, double addrspace(13)* %283, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%284 = or i64 %value_phi9.i32, 7, !dbg !1270 | |
%285 = getelementptr inbounds double, double addrspace(13)* %68, i64 %284, !dbg !1248 | |
%286 = load double, double addrspace(13)* %285, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%287 = getelementptr inbounds double, double addrspace(13)* %71, i64 %284, !dbg !1260 | |
%288 = load double, double addrspace(13)* %287, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%289 = fsub double %286, %288, !dbg !1263 | |
%290 = getelementptr inbounds double, double addrspace(13)* %74, i64 %284, !dbg !1268 | |
store double %289, double addrspace(13)* %290, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%291 = add nuw nsw i64 %value_phi9.i32, 8, !dbg !1270 | |
%niter.ncmp.7.not = icmp eq i64 %291, %unroll_iter, !dbg !1247 | |
br i1 %niter.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, label %L118.i, !dbg !1247, !llvm.loop !1273 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa: ; preds = %L118.i, %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge | |
%value_phi9.i32.unr = phi i64 [ 0, %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge ], [ %unroll_iter, %L118.i ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !1247 | |
br i1 %lcmp.mod.not, label %L150.i, label %L118.i.epil, !dbg !1247 | |
L118.i.epil: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, %L118.i.epil | |
%value_phi9.i32.epil = phi i64 [ %298, %L118.i.epil ], [ %value_phi9.i32.unr, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa ] | |
%epil.iter = phi i64 [ %epil.iter.next, %L118.i.epil ], [ 0, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa ] | |
%292 = getelementptr inbounds double, double addrspace(13)* %68, i64 %value_phi9.i32.epil, !dbg !1248 | |
%293 = load double, double addrspace(13)* %292, align 8, !dbg !1248, !tbaa !67, !alias.scope !70, !noalias !71 | |
%294 = getelementptr inbounds double, double addrspace(13)* %71, i64 %value_phi9.i32.epil, !dbg !1260 | |
%295 = load double, double addrspace(13)* %294, align 8, !dbg !1260, !tbaa !67, !alias.scope !70, !noalias !71 | |
%296 = fsub double %293, %295, !dbg !1263 | |
%297 = getelementptr inbounds double, double addrspace(13)* %74, i64 %value_phi9.i32.epil, !dbg !1268 | |
store double %296, double addrspace(13)* %297, align 8, !dbg !1268, !tbaa !67, !alias.scope !70, !noalias !148 | |
%298 = add nuw nsw i64 %value_phi9.i32.epil, 1, !dbg !1270 | |
%epil.iter.next = add nuw nsw i64 %epil.iter, 1, !dbg !1247 | |
%epil.iter.cmp.not = icmp eq i64 %epil.iter.next, %xtraiter, !dbg !1247 | |
br i1 %epil.iter.cmp.not, label %L150.i, label %L118.i.epil, !dbg !1247, !llvm.loop !1277 | |
L150.i: ; preds = %L118.i.epil, %L118.i.us33.epil, %L118.i.us.epil, %L118.i.us.us.epil, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, %L97.i | |
%299 = call fastcc double @julia__mapreduce_2058({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %40) #53, !dbg !1278 | |
%300 = bitcast {} addrspace(10)* %0 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1292 | |
%301 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %300 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1292 | |
%302 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %301, i64 0, i32 1, !dbg !1292 | |
%303 = load i64, i64 addrspace(11)* %302, align 8, !dbg !1292, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not26 = icmp eq i64 %303, 0, !dbg !1292 | |
br i1 %.not26, label %oob.i, label %julia_get_loss__2048_inner.exit, !dbg !1292 | |
L152.i: ; preds = %L33.i | |
%304 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %10, i64 0, i64 0, i64 0, !dbg !1293 | |
store i64 %44, i64* %304, align 8, !dbg !1293, !tbaa !335, !alias.scope !337, !noalias !338 | |
%305 = addrspacecast [1 x [1 x i64]]* %10 to [1 x [1 x i64]] addrspace(11)*, !dbg !1176 | |
%306 = addrspacecast [1 x [1 x i64]]* %9 to [1 x [1 x i64]] addrspace(11)*, !dbg !1176 | |
call fastcc void @julia_throwdm_2056([1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %305, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %306) #56, !dbg !1176 | |
unreachable, !dbg !1176 | |
oob.i: ; preds = %L150.i | |
%307 = alloca i64, align 8, !dbg !1292 | |
store i64 1, i64* %307, align 8, !dbg !1292, !noalias !423 | |
%308 = addrspacecast {} addrspace(10)* %0 to {} addrspace(12)*, !dbg !1292 | |
call void @ijl_bounds_error_ints({} addrspace(12)* noundef %308, i64* noundef nonnull align 8 %307, i64 noundef 1) #51, !dbg !1292 | |
unreachable, !dbg !1292 | |
julia_get_loss__2048_inner.exit: ; preds = %L150.i | |
%309 = load i64, i64 addrspace(11)* %28, align 8, !dbg !1300, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%310 = sitofp i64 %309 to double, !dbg !1302 | |
%311 = fdiv double %299, %310, !dbg !1312 | |
%312 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !1292 | |
%313 = addrspacecast double addrspace(13)* addrspace(10)* %312 to double addrspace(13)* addrspace(11)*, !dbg !1292 | |
%314 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %313, align 16, !dbg !1292, !tbaa !87, !alias.scope !90, !noalias !91, !nonnull !37 | |
store double %311, double addrspace(13)* %314, align 8, !dbg !1292, !tbaa !67, !alias.scope !70, !noalias !148 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %13), !dbg !1314 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 16, i8* noundef nonnull %14), !dbg !1314 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %15), !dbg !1314 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %16), !dbg !1314 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %17), !dbg !1314 | |
ret void, !dbg !1118 | |
} | |
; Function Attrs: nofree nosync nounwind willreturn | |
declare i8* @llvm.stacksave() #31 | |
; Function Attrs: nofree nosync nounwind willreturn | |
declare void @llvm.stackrestore(i8*) #31 | |
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.smax.i64(i64, i64) #32 | |
; Function Attrs: readnone | |
declare void @llvm.enzymefakeuse(...) #33 | |
; Function Attrs: mustprogress willreturn | |
define void @preprocess_julia_get_loss__2048_inner.1({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %4, [4 x {} addrspace(10)*] %5) local_unnamed_addr #34 !dbg !1315 { | |
entry: | |
%6 = alloca [8 x i8], align 8 | |
%7 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%8 = alloca [1 x {} addrspace(10)*], align 8 | |
%9 = alloca [1 x [1 x i64]], align 8 | |
%10 = alloca [1 x [1 x i64]], align 8 | |
%11 = alloca [4 x {} addrspace(10)*], align 8, !dbg !1316 | |
%12 = addrspacecast [4 x {} addrspace(10)*]* %11 to [4 x {} addrspace(10)*] addrspace(11)*, !dbg !1316 | |
%.fca.0.extract = extractvalue [4 x {} addrspace(10)*] %5, 0, !dbg !1316 | |
%.fca.0.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 0, !dbg !1316 | |
store {} addrspace(10)* %.fca.0.extract, {} addrspace(10)** %.fca.0.gep, align 8, !dbg !1316, !noalias !1317 | |
%.fca.1.extract = extractvalue [4 x {} addrspace(10)*] %5, 1, !dbg !1316 | |
%.fca.1.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 1, !dbg !1316 | |
store {} addrspace(10)* %.fca.1.extract, {} addrspace(10)** %.fca.1.gep, align 8, !dbg !1316, !noalias !1317 | |
%.fca.2.extract = extractvalue [4 x {} addrspace(10)*] %5, 2, !dbg !1316 | |
%.fca.2.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 2, !dbg !1316 | |
store {} addrspace(10)* %.fca.2.extract, {} addrspace(10)** %.fca.2.gep, align 8, !dbg !1316, !noalias !1317 | |
%.fca.3.extract = extractvalue [4 x {} addrspace(10)*] %5, 3, !dbg !1316 | |
%.fca.3.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 3, !dbg !1316 | |
store {} addrspace(10)* %.fca.3.extract, {} addrspace(10)** %.fca.3.gep, align 8, !dbg !1316, !noalias !1317 | |
%13 = getelementptr inbounds [8 x i8], [8 x i8]* %6, i64 0, i64 0 | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %13) #58 | |
%14 = bitcast { {} addrspace(10)*, i8 }* %7 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 16, i8* noundef nonnull align 8 dereferenceable(16) %14) #58 | |
%15 = bitcast [1 x {} addrspace(10)*]* %8 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %15) #58 | |
%16 = bitcast [1 x [1 x i64]]* %9 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %16) #58 | |
%17 = bitcast [1 x [1 x i64]]* %10 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %17) #58 | |
%18 = call {}*** @julia.get_pgcstack() #58 | |
%19 = call fastcc { {} addrspace(10)*, i8 } @julia_set_constants_2105([8 x i8]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %6, {} addrspace(10)* nocapture noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2) #59, !dbg !1320 | |
call fastcc void @julia__eval_tree_array_1_2070({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %7, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %8, i8 zeroext undef, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %12) #59, !dbg !1322 | |
%20 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %7, i64 0, i32 0, !dbg !1324 | |
%21 = load atomic {} addrspace(10)*, {} addrspace(10)** %20 unordered, align 8, !dbg !1324, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%22 = bitcast {} addrspace(10)* %21 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1326 | |
%23 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %22 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1326 | |
%24 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %23, i64 0, i32 1, !dbg !1326 | |
%25 = load i64, i64 addrspace(11)* %24, align 8, !dbg !1326, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%26 = bitcast {} addrspace(10)* %4 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1326 | |
%27 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %26 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1326 | |
%28 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %27, i64 0, i32 1, !dbg !1326 | |
%29 = load i64, i64 addrspace(11)* %28, align 8, !dbg !1326, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%30 = icmp ne i64 %29, %25, !dbg !1332 | |
%31 = icmp ne i64 %25, 1, !dbg !1338 | |
%32 = and i1 %31, %30, !dbg !1339 | |
br i1 %32, label %L21.i, label %L33.i, !dbg !1339 | |
L21.i: ; preds = %entry | |
%.not29 = icmp eq i64 %29, 1, !dbg !1338 | |
br i1 %.not29, label %L33.i, label %L29.i, !dbg !1339 | |
L29.i: ; preds = %L21.i | |
%33 = call nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %25) #58, !dbg !1339 | |
%34 = call nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %29) #58, !dbg !1339 | |
%35 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809548588912 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809496386432 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809505945488 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %33, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809505945456 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %34) #60, !dbg !1339 | |
%current_task15.i30 = getelementptr inbounds {}**, {}*** %18, i64 -13, !dbg !1339 | |
%current_task15.i = bitcast {}*** %current_task15.i30 to {}**, !dbg !1339 | |
%36 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task15.i, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809549581744 to {}*) to {} addrspace(10)*)) #61, !dbg !1339 | |
%37 = bitcast {} addrspace(10)* %36 to {} addrspace(10)* addrspace(10)*, !dbg !1339 | |
store {} addrspace(10)* %35, {} addrspace(10)* addrspace(10)* %37, align 8, !dbg !1339, !tbaa !145, !alias.scope !70, !noalias !1340 | |
%38 = addrspacecast {} addrspace(10)* %36 to {} addrspace(12)*, !dbg !1339 | |
call void @ijl_throw({} addrspace(12)* %38) #62, !dbg !1339 | |
unreachable, !dbg !1339 | |
L33.i: ; preds = %L21.i, %entry | |
%.sroa.04.0 = phi i64 [ %29, %entry ], [ %25, %L21.i ] | |
%39 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %9, i64 0, i64 0, i64 0, !dbg !1341 | |
store i64 %.sroa.04.0, i64* %39, align 8, !dbg !1341, !tbaa !335, !alias.scope !337, !noalias !1342 | |
%40 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %.sroa.04.0) #58, !dbg !1343 | |
%41 = bitcast {} addrspace(10)* %40 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1351 | |
%42 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %41 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1351 | |
%43 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %42, i64 0, i32 1, !dbg !1351 | |
%44 = load i64, i64 addrspace(11)* %43, align 8, !dbg !1351, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not.not = icmp eq i64 %44, %.sroa.04.0, !dbg !1355 | |
br i1 %.not.not, label %L56.i, label %L152.i, !dbg !1359 | |
L56.i: ; preds = %L33.i | |
%45 = addrspacecast {} addrspace(10)* %40 to {} addrspace(11)*, !dbg !1360 | |
%46 = addrspacecast {} addrspace(10)* %21 to {} addrspace(11)*, !dbg !1360 | |
%.not = icmp eq {} addrspace(11)* %45, %46, !dbg !1360 | |
br i1 %.not, label %L72.i, label %L59.i, !dbg !1360 | |
L59.i: ; preds = %L56.i | |
%47 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %45) #63, !dbg !1365 | |
%48 = bitcast {}* %47 to i8**, !dbg !1365 | |
%49 = load i8*, i8** %48, align 8, !dbg !1365, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%50 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* noundef %46) #63, !dbg !1365 | |
%51 = bitcast {}* %50 to i8**, !dbg !1365 | |
%52 = load i8*, i8** %51, align 8, !dbg !1365, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%.not28 = icmp eq i8* %49, %52, !dbg !1371 | |
br i1 %.not28, label %L67.i, label %L72.i, !dbg !1374 | |
L67.i: ; preds = %L59.i | |
%53 = call nonnull {} addrspace(10)* @ijl_array_copy({} addrspace(10)* noundef nonnull %21) #58, !dbg !1375 | |
%.phi.trans.insert = bitcast {} addrspace(10)* %53 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* | |
%.phi.trans.insert54 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %.phi.trans.insert to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* | |
%.phi.trans.insert55 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %.phi.trans.insert54, i64 0, i32 1 | |
%.pre = load i64, i64 addrspace(11)* %.phi.trans.insert55, align 8, !dbg !1377, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
br label %L72.i, !dbg !1374 | |
L72.i: ; preds = %L67.i, %L59.i, %L56.i | |
%54 = phi i64 [ %25, %L56.i ], [ %.pre, %L67.i ], [ %25, %L59.i ], !dbg !1377 | |
%value_phi7.i = phi {} addrspace(10)* [ %21, %L56.i ], [ %53, %L67.i ], [ %21, %L59.i ] | |
%55 = icmp eq i64 %54, 1, !dbg !1381 | |
%56 = addrspacecast {} addrspace(10)* %4 to {} addrspace(11)*, !dbg !1385 | |
%.not23 = icmp eq {} addrspace(11)* %45, %56, !dbg !1385 | |
br i1 %.not23, label %L97.i, label %L84.i, !dbg !1385 | |
L84.i: ; preds = %L72.i | |
%57 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %45) #63, !dbg !1388 | |
%58 = bitcast {}* %57 to i8**, !dbg !1388 | |
%59 = load i8*, i8** %58, align 8, !dbg !1388, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%60 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* noundef %56) #63, !dbg !1388 | |
%61 = bitcast {}* %60 to i8**, !dbg !1388 | |
%62 = load i8*, i8** %61, align 8, !dbg !1388, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%.not27 = icmp eq i8* %59, %62, !dbg !1394 | |
br i1 %.not27, label %L92.i, label %L97.i, !dbg !1397 | |
L92.i: ; preds = %L84.i | |
%63 = call nonnull {} addrspace(10)* @ijl_array_copy({} addrspace(10)* noundef nonnull %4) #58, !dbg !1398 | |
%.phi.trans.insert56 = bitcast {} addrspace(10)* %63 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* | |
%.phi.trans.insert57 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %.phi.trans.insert56 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* | |
%.phi.trans.insert58 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %.phi.trans.insert57, i64 0, i32 1 | |
%.pre59 = load i64, i64 addrspace(11)* %.phi.trans.insert58, align 8, !dbg !1400, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
br label %L97.i, !dbg !1397 | |
L97.i: ; preds = %L92.i, %L84.i, %L72.i | |
%64 = phi i64 [ %.pre59, %L92.i ], [ %29, %L72.i ], [ %29, %L84.i ], !dbg !1400 | |
%value_phi8.i = phi {} addrspace(10)* [ %63, %L92.i ], [ %4, %L72.i ], [ %4, %L84.i ] | |
%65 = icmp eq i64 %64, 1, !dbg !1404 | |
%.not24 = icmp eq i64 %.sroa.04.0, 0, !dbg !1408 | |
br i1 %.not24, label %L150.i, label %L118.i.lr.ph, !dbg !1411 | |
L118.i.lr.ph: ; preds = %L97.i | |
%66 = bitcast {} addrspace(10)* %value_phi7.i to double addrspace(13)* addrspace(10)* | |
%67 = addrspacecast double addrspace(13)* addrspace(10)* %66 to double addrspace(13)* addrspace(11)* | |
%68 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %67, align 8, !tbaa !87, !alias.scope !1412, !noalias !91, !nonnull !37 | |
%69 = bitcast {} addrspace(10)* %value_phi8.i to double addrspace(13)* addrspace(10)* | |
%70 = addrspacecast double addrspace(13)* addrspace(10)* %69 to double addrspace(13)* addrspace(11)* | |
%71 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %70, align 8, !tbaa !87, !alias.scope !1412, !noalias !91, !nonnull !37 | |
%72 = bitcast {} addrspace(10)* %40 to double addrspace(13)* addrspace(10)* | |
%73 = addrspacecast double addrspace(13)* addrspace(10)* %72 to double addrspace(13)* addrspace(11)* | |
%74 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %73, align 8, !tbaa !87, !alias.scope !1412, !noalias !91, !nonnull !37 | |
br i1 %55, label %L118.i.lr.ph.split.us, label %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge, !dbg !1413 | |
L118.i.lr.ph.L118.i.lr.ph.split_crit_edge: ; preds = %L118.i.lr.ph | |
br i1 %65, label %L118.i.lr.ph.split.split.us, label %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge, !dbg !1413 | |
L118.i.lr.ph.split.us: ; preds = %L118.i.lr.ph | |
br i1 %65, label %L118.i.lr.ph.split.us.split.us, label %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge, !dbg !1413 | |
L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge: ; preds = %L118.i.lr.ph.split.us | |
%75 = add nsw i64 %.sroa.04.0, -1, !dbg !1413 | |
%xtraiter36 = and i64 %.sroa.04.0, 7, !dbg !1413 | |
%76 = icmp ult i64 %75, 7, !dbg !1413 | |
br i1 %76, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, label %L118.i.lr.ph.split.us.split.new, !dbg !1413 | |
L118.i.lr.ph.split.us.split.us: ; preds = %L118.i.lr.ph.split.us | |
%77 = add nsw i64 %.sroa.04.0, -1, !dbg !1413 | |
%xtraiter48 = and i64 %.sroa.04.0, 7, !dbg !1413 | |
%78 = icmp ult i64 %77, 7, !dbg !1413 | |
br i1 %78, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, label %L118.i.lr.ph.split.us.split.us.new, !dbg !1413 | |
L118.i.lr.ph.split.us.split.us.new: ; preds = %L118.i.lr.ph.split.us.split.us | |
%unroll_iter52 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1413 | |
br label %L118.i.us.us, !dbg !1413 | |
L118.i.us.us: ; preds = %L118.i.us.us, %L118.i.lr.ph.split.us.split.us.new | |
%iv14 = phi i64 [ %iv.next15, %L118.i.us.us ], [ 0, %L118.i.lr.ph.split.us.split.us.new ] | |
%79 = shl i64 %iv14, 3, !dbg !1414 | |
%iv.next15 = add nuw nsw i64 %iv14, 1, !dbg !1414 | |
%80 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%81 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%82 = fsub double %80, %81, !dbg !1424 | |
%83 = getelementptr inbounds double, double addrspace(13)* %74, i64 %79, !dbg !1427 | |
store double %82, double addrspace(13)* %83, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%84 = or i64 %79, 1, !dbg !1428 | |
%85 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%86 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%87 = fsub double %85, %86, !dbg !1424 | |
%88 = getelementptr inbounds double, double addrspace(13)* %74, i64 %84, !dbg !1427 | |
store double %87, double addrspace(13)* %88, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%89 = or i64 %79, 2, !dbg !1428 | |
%90 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%91 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%92 = fsub double %90, %91, !dbg !1424 | |
%93 = getelementptr inbounds double, double addrspace(13)* %74, i64 %89, !dbg !1427 | |
store double %92, double addrspace(13)* %93, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%94 = or i64 %79, 3, !dbg !1428 | |
%95 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%96 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%97 = fsub double %95, %96, !dbg !1424 | |
%98 = getelementptr inbounds double, double addrspace(13)* %74, i64 %94, !dbg !1427 | |
store double %97, double addrspace(13)* %98, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%99 = or i64 %79, 4, !dbg !1428 | |
%100 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%101 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%102 = fsub double %100, %101, !dbg !1424 | |
%103 = getelementptr inbounds double, double addrspace(13)* %74, i64 %99, !dbg !1427 | |
store double %102, double addrspace(13)* %103, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%104 = or i64 %79, 5, !dbg !1428 | |
%105 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%106 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%107 = fsub double %105, %106, !dbg !1424 | |
%108 = getelementptr inbounds double, double addrspace(13)* %74, i64 %104, !dbg !1427 | |
store double %107, double addrspace(13)* %108, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%109 = or i64 %79, 6, !dbg !1428 | |
%110 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%111 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%112 = fsub double %110, %111, !dbg !1424 | |
%113 = getelementptr inbounds double, double addrspace(13)* %74, i64 %109, !dbg !1427 | |
store double %112, double addrspace(13)* %113, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%114 = or i64 %79, 7, !dbg !1428 | |
%115 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%116 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%117 = fsub double %115, %116, !dbg !1424 | |
%118 = getelementptr inbounds double, double addrspace(13)* %74, i64 %114, !dbg !1427 | |
store double %117, double addrspace(13)* %118, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%119 = add nuw nsw i64 %79, 8, !dbg !1428 | |
%niter53.ncmp.7.not = icmp eq i64 %119, %unroll_iter52, !dbg !1413 | |
br i1 %niter53.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit, label %L118.i.us.us, !dbg !1413, !llvm.loop !1430 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit: ; preds = %L118.i.us.us | |
br label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, !dbg !1413 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit, %L118.i.lr.ph.split.us.split.us | |
%value_phi9.i32.us.us.unr = phi i64 [ 0, %L118.i.lr.ph.split.us.split.us ], [ %unroll_iter52, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit ] | |
%lcmp.mod51.not = icmp eq i64 %xtraiter48, 0, !dbg !1413 | |
br i1 %lcmp.mod51.not, label %L150.i, label %L118.i.us.us.epil.preheader, !dbg !1413 | |
L118.i.us.us.epil.preheader: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa | |
br label %L118.i.us.us.epil, !dbg !1413 | |
L118.i.us.us.epil: ; preds = %L118.i.us.us.epil.preheader, %L118.i.us.us.epil | |
%iv16 = phi i64 [ 0, %L118.i.us.us.epil.preheader ], [ %iv.next17, %L118.i.us.us.epil ] | |
%120 = add i64 %value_phi9.i32.us.us.unr, %iv16, !dbg !1414 | |
%iv.next17 = add nuw nsw i64 %iv16, 1, !dbg !1414 | |
%121 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%122 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%123 = fsub double %121, %122, !dbg !1424 | |
%124 = getelementptr inbounds double, double addrspace(13)* %74, i64 %120, !dbg !1427 | |
store double %123, double addrspace(13)* %124, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%125 = add nuw nsw i64 %120, 1, !dbg !1428 | |
%epil.iter50.cmp.not = icmp eq i64 %iv.next17, %xtraiter48, !dbg !1413 | |
br i1 %epil.iter50.cmp.not, label %L150.i.loopexit, label %L118.i.us.us.epil, !dbg !1413, !llvm.loop !1431 | |
L118.i.lr.ph.split.us.split.new: ; preds = %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge | |
%unroll_iter40 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1413 | |
br label %L118.i.us, !dbg !1413 | |
L118.i.us: ; preds = %L118.i.us, %L118.i.lr.ph.split.us.split.new | |
%iv10 = phi i64 [ %iv.next11, %L118.i.us ], [ 0, %L118.i.lr.ph.split.us.split.new ] | |
%126 = shl i64 %iv10, 3, !dbg !1414 | |
%iv.next11 = add nuw nsw i64 %iv10, 1, !dbg !1414 | |
%127 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%128 = getelementptr inbounds double, double addrspace(13)* %71, i64 %126, !dbg !1421 | |
%129 = load double, double addrspace(13)* %128, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%130 = fsub double %127, %129, !dbg !1424 | |
%131 = getelementptr inbounds double, double addrspace(13)* %74, i64 %126, !dbg !1427 | |
store double %130, double addrspace(13)* %131, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%132 = or i64 %126, 1, !dbg !1428 | |
%133 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%134 = getelementptr inbounds double, double addrspace(13)* %71, i64 %132, !dbg !1421 | |
%135 = load double, double addrspace(13)* %134, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%136 = fsub double %133, %135, !dbg !1424 | |
%137 = getelementptr inbounds double, double addrspace(13)* %74, i64 %132, !dbg !1427 | |
store double %136, double addrspace(13)* %137, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%138 = or i64 %126, 2, !dbg !1428 | |
%139 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%140 = getelementptr inbounds double, double addrspace(13)* %71, i64 %138, !dbg !1421 | |
%141 = load double, double addrspace(13)* %140, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%142 = fsub double %139, %141, !dbg !1424 | |
%143 = getelementptr inbounds double, double addrspace(13)* %74, i64 %138, !dbg !1427 | |
store double %142, double addrspace(13)* %143, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%144 = or i64 %126, 3, !dbg !1428 | |
%145 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%146 = getelementptr inbounds double, double addrspace(13)* %71, i64 %144, !dbg !1421 | |
%147 = load double, double addrspace(13)* %146, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%148 = fsub double %145, %147, !dbg !1424 | |
%149 = getelementptr inbounds double, double addrspace(13)* %74, i64 %144, !dbg !1427 | |
store double %148, double addrspace(13)* %149, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%150 = or i64 %126, 4, !dbg !1428 | |
%151 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%152 = getelementptr inbounds double, double addrspace(13)* %71, i64 %150, !dbg !1421 | |
%153 = load double, double addrspace(13)* %152, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%154 = fsub double %151, %153, !dbg !1424 | |
%155 = getelementptr inbounds double, double addrspace(13)* %74, i64 %150, !dbg !1427 | |
store double %154, double addrspace(13)* %155, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%156 = or i64 %126, 5, !dbg !1428 | |
%157 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%158 = getelementptr inbounds double, double addrspace(13)* %71, i64 %156, !dbg !1421 | |
%159 = load double, double addrspace(13)* %158, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%160 = fsub double %157, %159, !dbg !1424 | |
%161 = getelementptr inbounds double, double addrspace(13)* %74, i64 %156, !dbg !1427 | |
store double %160, double addrspace(13)* %161, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%162 = or i64 %126, 6, !dbg !1428 | |
%163 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%164 = getelementptr inbounds double, double addrspace(13)* %71, i64 %162, !dbg !1421 | |
%165 = load double, double addrspace(13)* %164, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%166 = fsub double %163, %165, !dbg !1424 | |
%167 = getelementptr inbounds double, double addrspace(13)* %74, i64 %162, !dbg !1427 | |
store double %166, double addrspace(13)* %167, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%168 = or i64 %126, 7, !dbg !1428 | |
%169 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%170 = getelementptr inbounds double, double addrspace(13)* %71, i64 %168, !dbg !1421 | |
%171 = load double, double addrspace(13)* %170, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%172 = fsub double %169, %171, !dbg !1424 | |
%173 = getelementptr inbounds double, double addrspace(13)* %74, i64 %168, !dbg !1427 | |
store double %172, double addrspace(13)* %173, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%174 = add nuw nsw i64 %126, 8, !dbg !1428 | |
%niter41.ncmp.7.not = icmp eq i64 %174, %unroll_iter40, !dbg !1413 | |
br i1 %niter41.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit, label %L118.i.us, !dbg !1413, !llvm.loop !1430 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit: ; preds = %L118.i.us | |
br label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, !dbg !1413 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit, %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge | |
%value_phi9.i32.us.unr = phi i64 [ 0, %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge ], [ %unroll_iter40, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit ] | |
%lcmp.mod39.not = icmp eq i64 %xtraiter36, 0, !dbg !1413 | |
br i1 %lcmp.mod39.not, label %L150.i, label %L118.i.us.epil.preheader, !dbg !1413 | |
L118.i.us.epil.preheader: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa | |
br label %L118.i.us.epil, !dbg !1413 | |
L118.i.us.epil: ; preds = %L118.i.us.epil.preheader, %L118.i.us.epil | |
%iv12 = phi i64 [ 0, %L118.i.us.epil.preheader ], [ %iv.next13, %L118.i.us.epil ] | |
%175 = add i64 %value_phi9.i32.us.unr, %iv12, !dbg !1414 | |
%iv.next13 = add nuw nsw i64 %iv12, 1, !dbg !1414 | |
%176 = load double, double addrspace(13)* %68, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%177 = getelementptr inbounds double, double addrspace(13)* %71, i64 %175, !dbg !1421 | |
%178 = load double, double addrspace(13)* %177, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%179 = fsub double %176, %178, !dbg !1424 | |
%180 = getelementptr inbounds double, double addrspace(13)* %74, i64 %175, !dbg !1427 | |
store double %179, double addrspace(13)* %180, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%181 = add nuw nsw i64 %175, 1, !dbg !1428 | |
%epil.iter38.cmp.not = icmp eq i64 %iv.next13, %xtraiter36, !dbg !1413 | |
br i1 %epil.iter38.cmp.not, label %L150.i.loopexit1, label %L118.i.us.epil, !dbg !1413, !llvm.loop !1432 | |
L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge: ; preds = %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge | |
%182 = add nsw i64 %.sroa.04.0, -1, !dbg !1413 | |
%xtraiter = and i64 %.sroa.04.0, 7, !dbg !1413 | |
%183 = icmp ult i64 %182, 7, !dbg !1413 | |
br i1 %183, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, label %L118.i.lr.ph.split.split.new, !dbg !1413 | |
L118.i.lr.ph.split.split.us: ; preds = %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge | |
%184 = add nsw i64 %.sroa.04.0, -1, !dbg !1413 | |
%xtraiter42 = and i64 %.sroa.04.0, 7, !dbg !1413 | |
%185 = icmp ult i64 %184, 7, !dbg !1413 | |
br i1 %185, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, label %L118.i.lr.ph.split.split.us.new, !dbg !1413 | |
L118.i.lr.ph.split.split.us.new: ; preds = %L118.i.lr.ph.split.split.us | |
%unroll_iter46 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1413 | |
br label %L118.i.us33, !dbg !1413 | |
L118.i.us33: ; preds = %L118.i.us33, %L118.i.lr.ph.split.split.us.new | |
%iv6 = phi i64 [ %iv.next7, %L118.i.us33 ], [ 0, %L118.i.lr.ph.split.split.us.new ] | |
%186 = shl i64 %iv6, 3, !dbg !1414 | |
%iv.next7 = add nuw nsw i64 %iv6, 1, !dbg !1414 | |
%187 = getelementptr inbounds double, double addrspace(13)* %68, i64 %186, !dbg !1414 | |
%188 = load double, double addrspace(13)* %187, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%189 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%190 = fsub double %188, %189, !dbg !1424 | |
%191 = getelementptr inbounds double, double addrspace(13)* %74, i64 %186, !dbg !1427 | |
store double %190, double addrspace(13)* %191, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%192 = or i64 %186, 1, !dbg !1428 | |
%193 = getelementptr inbounds double, double addrspace(13)* %68, i64 %192, !dbg !1414 | |
%194 = load double, double addrspace(13)* %193, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%195 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%196 = fsub double %194, %195, !dbg !1424 | |
%197 = getelementptr inbounds double, double addrspace(13)* %74, i64 %192, !dbg !1427 | |
store double %196, double addrspace(13)* %197, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%198 = or i64 %186, 2, !dbg !1428 | |
%199 = getelementptr inbounds double, double addrspace(13)* %68, i64 %198, !dbg !1414 | |
%200 = load double, double addrspace(13)* %199, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%201 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%202 = fsub double %200, %201, !dbg !1424 | |
%203 = getelementptr inbounds double, double addrspace(13)* %74, i64 %198, !dbg !1427 | |
store double %202, double addrspace(13)* %203, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%204 = or i64 %186, 3, !dbg !1428 | |
%205 = getelementptr inbounds double, double addrspace(13)* %68, i64 %204, !dbg !1414 | |
%206 = load double, double addrspace(13)* %205, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%207 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%208 = fsub double %206, %207, !dbg !1424 | |
%209 = getelementptr inbounds double, double addrspace(13)* %74, i64 %204, !dbg !1427 | |
store double %208, double addrspace(13)* %209, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%210 = or i64 %186, 4, !dbg !1428 | |
%211 = getelementptr inbounds double, double addrspace(13)* %68, i64 %210, !dbg !1414 | |
%212 = load double, double addrspace(13)* %211, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%213 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%214 = fsub double %212, %213, !dbg !1424 | |
%215 = getelementptr inbounds double, double addrspace(13)* %74, i64 %210, !dbg !1427 | |
store double %214, double addrspace(13)* %215, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%216 = or i64 %186, 5, !dbg !1428 | |
%217 = getelementptr inbounds double, double addrspace(13)* %68, i64 %216, !dbg !1414 | |
%218 = load double, double addrspace(13)* %217, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%219 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%220 = fsub double %218, %219, !dbg !1424 | |
%221 = getelementptr inbounds double, double addrspace(13)* %74, i64 %216, !dbg !1427 | |
store double %220, double addrspace(13)* %221, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%222 = or i64 %186, 6, !dbg !1428 | |
%223 = getelementptr inbounds double, double addrspace(13)* %68, i64 %222, !dbg !1414 | |
%224 = load double, double addrspace(13)* %223, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%225 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%226 = fsub double %224, %225, !dbg !1424 | |
%227 = getelementptr inbounds double, double addrspace(13)* %74, i64 %222, !dbg !1427 | |
store double %226, double addrspace(13)* %227, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%228 = or i64 %186, 7, !dbg !1428 | |
%229 = getelementptr inbounds double, double addrspace(13)* %68, i64 %228, !dbg !1414 | |
%230 = load double, double addrspace(13)* %229, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%231 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%232 = fsub double %230, %231, !dbg !1424 | |
%233 = getelementptr inbounds double, double addrspace(13)* %74, i64 %228, !dbg !1427 | |
store double %232, double addrspace(13)* %233, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%234 = add nuw nsw i64 %186, 8, !dbg !1428 | |
%niter47.ncmp.7.not = icmp eq i64 %234, %unroll_iter46, !dbg !1413 | |
br i1 %niter47.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit, label %L118.i.us33, !dbg !1413, !llvm.loop !1430 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit: ; preds = %L118.i.us33 | |
br label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, !dbg !1413 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit, %L118.i.lr.ph.split.split.us | |
%value_phi9.i32.us34.unr = phi i64 [ 0, %L118.i.lr.ph.split.split.us ], [ %unroll_iter46, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit ] | |
%lcmp.mod45.not = icmp eq i64 %xtraiter42, 0, !dbg !1413 | |
br i1 %lcmp.mod45.not, label %L150.i, label %L118.i.us33.epil.preheader, !dbg !1413 | |
L118.i.us33.epil.preheader: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa | |
br label %L118.i.us33.epil, !dbg !1413 | |
L118.i.us33.epil: ; preds = %L118.i.us33.epil.preheader, %L118.i.us33.epil | |
%iv8 = phi i64 [ 0, %L118.i.us33.epil.preheader ], [ %iv.next9, %L118.i.us33.epil ] | |
%235 = add i64 %value_phi9.i32.us34.unr, %iv8, !dbg !1414 | |
%iv.next9 = add nuw nsw i64 %iv8, 1, !dbg !1414 | |
%236 = getelementptr inbounds double, double addrspace(13)* %68, i64 %235, !dbg !1414 | |
%237 = load double, double addrspace(13)* %236, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%238 = load double, double addrspace(13)* %71, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%239 = fsub double %237, %238, !dbg !1424 | |
%240 = getelementptr inbounds double, double addrspace(13)* %74, i64 %235, !dbg !1427 | |
store double %239, double addrspace(13)* %240, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%241 = add nuw nsw i64 %235, 1, !dbg !1428 | |
%epil.iter44.cmp.not = icmp eq i64 %iv.next9, %xtraiter42, !dbg !1413 | |
br i1 %epil.iter44.cmp.not, label %L150.i.loopexit2, label %L118.i.us33.epil, !dbg !1413, !llvm.loop !1433 | |
L118.i.lr.ph.split.split.new: ; preds = %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge | |
%unroll_iter = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1413 | |
br label %L118.i, !dbg !1413 | |
L118.i: ; preds = %L118.i, %L118.i.lr.ph.split.split.new | |
%iv = phi i64 [ %iv.next, %L118.i ], [ 0, %L118.i.lr.ph.split.split.new ] | |
%242 = shl i64 %iv, 3, !dbg !1414 | |
%iv.next = add nuw nsw i64 %iv, 1, !dbg !1414 | |
%243 = getelementptr inbounds double, double addrspace(13)* %68, i64 %242, !dbg !1414 | |
%244 = load double, double addrspace(13)* %243, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%245 = getelementptr inbounds double, double addrspace(13)* %71, i64 %242, !dbg !1421 | |
%246 = load double, double addrspace(13)* %245, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%247 = fsub double %244, %246, !dbg !1424 | |
%248 = getelementptr inbounds double, double addrspace(13)* %74, i64 %242, !dbg !1427 | |
store double %247, double addrspace(13)* %248, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%249 = or i64 %242, 1, !dbg !1428 | |
%250 = getelementptr inbounds double, double addrspace(13)* %68, i64 %249, !dbg !1414 | |
%251 = load double, double addrspace(13)* %250, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%252 = getelementptr inbounds double, double addrspace(13)* %71, i64 %249, !dbg !1421 | |
%253 = load double, double addrspace(13)* %252, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%254 = fsub double %251, %253, !dbg !1424 | |
%255 = getelementptr inbounds double, double addrspace(13)* %74, i64 %249, !dbg !1427 | |
store double %254, double addrspace(13)* %255, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%256 = or i64 %242, 2, !dbg !1428 | |
%257 = getelementptr inbounds double, double addrspace(13)* %68, i64 %256, !dbg !1414 | |
%258 = load double, double addrspace(13)* %257, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%259 = getelementptr inbounds double, double addrspace(13)* %71, i64 %256, !dbg !1421 | |
%260 = load double, double addrspace(13)* %259, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%261 = fsub double %258, %260, !dbg !1424 | |
%262 = getelementptr inbounds double, double addrspace(13)* %74, i64 %256, !dbg !1427 | |
store double %261, double addrspace(13)* %262, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%263 = or i64 %242, 3, !dbg !1428 | |
%264 = getelementptr inbounds double, double addrspace(13)* %68, i64 %263, !dbg !1414 | |
%265 = load double, double addrspace(13)* %264, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%266 = getelementptr inbounds double, double addrspace(13)* %71, i64 %263, !dbg !1421 | |
%267 = load double, double addrspace(13)* %266, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%268 = fsub double %265, %267, !dbg !1424 | |
%269 = getelementptr inbounds double, double addrspace(13)* %74, i64 %263, !dbg !1427 | |
store double %268, double addrspace(13)* %269, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%270 = or i64 %242, 4, !dbg !1428 | |
%271 = getelementptr inbounds double, double addrspace(13)* %68, i64 %270, !dbg !1414 | |
%272 = load double, double addrspace(13)* %271, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%273 = getelementptr inbounds double, double addrspace(13)* %71, i64 %270, !dbg !1421 | |
%274 = load double, double addrspace(13)* %273, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%275 = fsub double %272, %274, !dbg !1424 | |
%276 = getelementptr inbounds double, double addrspace(13)* %74, i64 %270, !dbg !1427 | |
store double %275, double addrspace(13)* %276, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%277 = or i64 %242, 5, !dbg !1428 | |
%278 = getelementptr inbounds double, double addrspace(13)* %68, i64 %277, !dbg !1414 | |
%279 = load double, double addrspace(13)* %278, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%280 = getelementptr inbounds double, double addrspace(13)* %71, i64 %277, !dbg !1421 | |
%281 = load double, double addrspace(13)* %280, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%282 = fsub double %279, %281, !dbg !1424 | |
%283 = getelementptr inbounds double, double addrspace(13)* %74, i64 %277, !dbg !1427 | |
store double %282, double addrspace(13)* %283, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%284 = or i64 %242, 6, !dbg !1428 | |
%285 = getelementptr inbounds double, double addrspace(13)* %68, i64 %284, !dbg !1414 | |
%286 = load double, double addrspace(13)* %285, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%287 = getelementptr inbounds double, double addrspace(13)* %71, i64 %284, !dbg !1421 | |
%288 = load double, double addrspace(13)* %287, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%289 = fsub double %286, %288, !dbg !1424 | |
%290 = getelementptr inbounds double, double addrspace(13)* %74, i64 %284, !dbg !1427 | |
store double %289, double addrspace(13)* %290, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%291 = or i64 %242, 7, !dbg !1428 | |
%292 = getelementptr inbounds double, double addrspace(13)* %68, i64 %291, !dbg !1414 | |
%293 = load double, double addrspace(13)* %292, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%294 = getelementptr inbounds double, double addrspace(13)* %71, i64 %291, !dbg !1421 | |
%295 = load double, double addrspace(13)* %294, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%296 = fsub double %293, %295, !dbg !1424 | |
%297 = getelementptr inbounds double, double addrspace(13)* %74, i64 %291, !dbg !1427 | |
store double %296, double addrspace(13)* %297, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%298 = add nuw nsw i64 %242, 8, !dbg !1428 | |
%niter.ncmp.7.not = icmp eq i64 %298, %unroll_iter, !dbg !1413 | |
br i1 %niter.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit, label %L118.i, !dbg !1413, !llvm.loop !1430 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit: ; preds = %L118.i | |
br label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, !dbg !1413 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit, %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge | |
%value_phi9.i32.unr = phi i64 [ 0, %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge ], [ %unroll_iter, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !1413 | |
br i1 %lcmp.mod.not, label %L150.i, label %L118.i.epil.preheader, !dbg !1413 | |
L118.i.epil.preheader: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa | |
br label %L118.i.epil, !dbg !1413 | |
L118.i.epil: ; preds = %L118.i.epil.preheader, %L118.i.epil | |
%iv4 = phi i64 [ 0, %L118.i.epil.preheader ], [ %iv.next5, %L118.i.epil ] | |
%299 = add i64 %value_phi9.i32.unr, %iv4, !dbg !1414 | |
%iv.next5 = add nuw nsw i64 %iv4, 1, !dbg !1414 | |
%300 = getelementptr inbounds double, double addrspace(13)* %68, i64 %299, !dbg !1414 | |
%301 = load double, double addrspace(13)* %300, align 8, !dbg !1414, !tbaa !67, !alias.scope !70, !noalias !71 | |
%302 = getelementptr inbounds double, double addrspace(13)* %71, i64 %299, !dbg !1421 | |
%303 = load double, double addrspace(13)* %302, align 8, !dbg !1421, !tbaa !67, !alias.scope !70, !noalias !71 | |
%304 = fsub double %301, %303, !dbg !1424 | |
%305 = getelementptr inbounds double, double addrspace(13)* %74, i64 %299, !dbg !1427 | |
store double %304, double addrspace(13)* %305, align 8, !dbg !1427, !tbaa !67, !alias.scope !70, !noalias !1340 | |
%306 = add nuw nsw i64 %299, 1, !dbg !1428 | |
%epil.iter.cmp.not = icmp eq i64 %iv.next5, %xtraiter, !dbg !1413 | |
br i1 %epil.iter.cmp.not, label %L150.i.loopexit3, label %L118.i.epil, !dbg !1413, !llvm.loop !1434 | |
L150.i.loopexit: ; preds = %L118.i.us.us.epil | |
br label %L150.i, !dbg !1435 | |
L150.i.loopexit1: ; preds = %L118.i.us.epil | |
br label %L150.i, !dbg !1435 | |
L150.i.loopexit2: ; preds = %L118.i.us33.epil | |
br label %L150.i, !dbg !1435 | |
L150.i.loopexit3: ; preds = %L118.i.epil | |
br label %L150.i, !dbg !1435 | |
L150.i: ; preds = %L150.i.loopexit3, %L150.i.loopexit2, %L150.i.loopexit1, %L150.i.loopexit, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, %L97.i | |
%307 = call fastcc double @julia__mapreduce_2058({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %40) #59, !dbg !1435 | |
%308 = bitcast {} addrspace(10)* %0 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1442 | |
%309 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %308 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1442 | |
%310 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %309, i64 0, i32 1, !dbg !1442 | |
%311 = load i64, i64 addrspace(11)* %310, align 8, !dbg !1442, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not26 = icmp eq i64 %311, 0, !dbg !1442 | |
br i1 %.not26, label %oob.i, label %julia_get_loss__2048_inner.exit, !dbg !1442 | |
L152.i: ; preds = %L33.i | |
%312 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %10, i64 0, i64 0, i64 0, !dbg !1443 | |
store i64 %44, i64* %312, align 8, !dbg !1443, !tbaa !335, !alias.scope !337, !noalias !1342 | |
%313 = addrspacecast [1 x [1 x i64]]* %10 to [1 x [1 x i64]] addrspace(11)*, !dbg !1359 | |
%314 = addrspacecast [1 x [1 x i64]]* %9 to [1 x [1 x i64]] addrspace(11)*, !dbg !1359 | |
call fastcc void @julia_throwdm_2056([1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %313, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %314) #64, !dbg !1359 | |
unreachable, !dbg !1359 | |
oob.i: ; preds = %L150.i | |
%315 = alloca i64, align 8, !dbg !1442 | |
store i64 1, i64* %315, align 8, !dbg !1442, !noalias !1317 | |
%316 = addrspacecast {} addrspace(10)* %0 to {} addrspace(12)*, !dbg !1442 | |
call void @ijl_bounds_error_ints({} addrspace(12)* noundef %316, i64* noundef nonnull align 8 %315, i64 noundef 1) #62, !dbg !1442 | |
unreachable, !dbg !1442 | |
julia_get_loss__2048_inner.exit: ; preds = %L150.i | |
%317 = load i64, i64 addrspace(11)* %28, align 8, !dbg !1447, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%318 = sitofp i64 %317 to double, !dbg !1448 | |
%319 = fdiv double %307, %318, !dbg !1453 | |
%320 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !1442 | |
%321 = addrspacecast double addrspace(13)* addrspace(10)* %320 to double addrspace(13)* addrspace(11)*, !dbg !1442 | |
%322 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %321, align 16, !dbg !1442, !tbaa !87, !alias.scope !1412, !noalias !91, !nonnull !37 | |
store double %319, double addrspace(13)* %322, align 8, !dbg !1442, !tbaa !67, !alias.scope !70, !noalias !1340 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %13) #58, !dbg !1454 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 16, i8* noundef nonnull %14) #58, !dbg !1454 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %15) #58, !dbg !1454 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %16) #58, !dbg !1454 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %17) #58, !dbg !1454 | |
ret void, !dbg !1316 | |
} | |
; Function Attrs: mustprogress willreturn | |
define internal void @diffejulia_get_loss__2048_inner.1({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %0, {} addrspace(10)* %"'", {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* %"'1", {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %2, {} addrspace(10)* %"'2", {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %4, [4 x {} addrspace(10)*] %5) local_unnamed_addr #34 !dbg !1455 { | |
entry: | |
%6 = alloca [8 x i8], align 8 | |
%"'ipa" = alloca { {} addrspace(10)*, i8 }, align 8 | |
store { {} addrspace(10)*, i8 } zeroinitializer, { {} addrspace(10)*, i8 }* %"'ipa", align 8 | |
%7 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%8 = alloca [1 x {} addrspace(10)*], align 8 | |
%9 = alloca [1 x [1 x i64]], align 8 | |
%10 = alloca [1 x [1 x i64]], align 8 | |
%11 = alloca [4 x {} addrspace(10)*], align 8, !dbg !1456 | |
%12 = addrspacecast [4 x {} addrspace(10)*]* %11 to [4 x {} addrspace(10)*] addrspace(11)*, !dbg !1456 | |
%.fca.0.extract = extractvalue [4 x {} addrspace(10)*] %5, 0, !dbg !1456 | |
%.fca.0.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 0, !dbg !1456 | |
store {} addrspace(10)* %.fca.0.extract, {} addrspace(10)** %.fca.0.gep, align 8, !dbg !1456, !noalias !1457 | |
%.fca.1.extract = extractvalue [4 x {} addrspace(10)*] %5, 1, !dbg !1456 | |
%.fca.1.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 1, !dbg !1456 | |
store {} addrspace(10)* %.fca.1.extract, {} addrspace(10)** %.fca.1.gep, align 8, !dbg !1456, !noalias !1457 | |
%.fca.2.extract = extractvalue [4 x {} addrspace(10)*] %5, 2, !dbg !1456 | |
%.fca.2.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 2, !dbg !1456 | |
store {} addrspace(10)* %.fca.2.extract, {} addrspace(10)** %.fca.2.gep, align 8, !dbg !1456, !noalias !1457 | |
%.fca.3.extract = extractvalue [4 x {} addrspace(10)*] %5, 3, !dbg !1456 | |
%.fca.3.gep = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*]* %11, i64 0, i64 3, !dbg !1456 | |
store {} addrspace(10)* %.fca.3.extract, {} addrspace(10)** %.fca.3.gep, align 8, !dbg !1456, !noalias !1457 | |
%13 = getelementptr inbounds [8 x i8], [8 x i8]* %6, i64 0, i64 0 | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %13) #58 | |
%14 = bitcast { {} addrspace(10)*, i8 }* %7 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 16, i8* noundef nonnull align 8 dereferenceable(16) %14) #58 | |
%15 = bitcast [1 x {} addrspace(10)*]* %8 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %15) #58 | |
%16 = bitcast [1 x [1 x i64]]* %9 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %16) #58 | |
%17 = bitcast [1 x [1 x i64]]* %10 to i8* | |
call void @llvm.lifetime.start.p0i8(i64 noundef 8, i8* noundef nonnull align 8 dereferenceable(8) %17) #58 | |
%18 = call {}*** @julia.get_pgcstack() #58 | |
%_augmented14 = call fastcc { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { i8*, i8* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, i8, i8, i64, {} addrspace(10)*, i64, {} addrspace(10)* } @augmented_julia_set_constants_2105.37([8 x i8]* %6, {} addrspace(10)* %1, {} addrspace(10)* %"'1", {} addrspace(10)* %2, {} addrspace(10)* %"'2"), !dbg !1460 | |
%_replacementA = phi { {} addrspace(10)*, i8 } , !dbg !1460 | |
%_augmented = call fastcc { { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i1 } @augmented_julia__eval_tree_array_1_2070({ {} addrspace(10)*, i8 }* "enzyme_sret" %7, { {} addrspace(10)*, i8 }* "enzyme_sret" %"'ipa", [1 x {} addrspace(10)*]* %8, i8 undef, {} addrspace(10)* %1, {} addrspace(10)* %"'1", {} addrspace(10)* %3, [4 x {} addrspace(10)*] addrspace(11)* %12), !dbg !1462 | |
%"'ipg" = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %"'ipa", i64 0, i32 0, !dbg !1464 | |
%19 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %7, i64 0, i32 0, !dbg !1464 | |
%"'ipl" = load atomic {} addrspace(10)*, {} addrspace(10)** %"'ipg" unordered, align 8, !dbg !1464, !tbaa !335, !alias.scope !1466, !noalias !1469, !nonnull !37, !dereferenceable !675 | |
%20 = load atomic {} addrspace(10)*, {} addrspace(10)** %19 unordered, align 8, !dbg !1464, !tbaa !335, !alias.scope !1471, !noalias !1472, !nonnull !37, !dereferenceable !675, !align !676 | |
%21 = bitcast {} addrspace(10)* %20 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1473 | |
%22 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %21 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1473 | |
%23 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %22, i64 0, i32 1, !dbg !1473 | |
%24 = load i64, i64 addrspace(11)* %23, align 8, !dbg !1473, !tbaa !263, !range !265, !alias.scope !1479, !noalias !1482 | |
%25 = bitcast {} addrspace(10)* %4 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1473 | |
%26 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %25 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1473 | |
%27 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %26, i64 0, i32 1, !dbg !1473 | |
%28 = load i64, i64 addrspace(11)* %27, align 8, !dbg !1473, !tbaa !263, !range !265, !alias.scope !1484, !noalias !1487 | |
%29 = icmp ne i64 %28, %24, !dbg !1489 | |
%30 = icmp ne i64 %24, 1, !dbg !1495 | |
%31 = and i1 %30, %29, !dbg !1496 | |
br i1 %31, label %L21.i, label %L33.i, !dbg !1496 | |
L21.i: ; preds = %entry | |
%.not29 = icmp eq i64 %28, 1, !dbg !1495 | |
br i1 %.not29, label %L33.i, label %L29.i, !dbg !1496 | |
L29.i: ; preds = %L21.i | |
%32 = call nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %24) #58, !dbg !1496 | |
%33 = call nonnull {} addrspace(10)* @ijl_box_int64(i64 signext %28) #58, !dbg !1496 | |
%34 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)*, {} addrspace(10)*, {} addrspace(10)*, ...) @julia.call2({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32, {} addrspace(10)*)* noundef nonnull @ijl_invoke, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809548588912 to {}*) to {} addrspace(10)*), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809496386432 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809505945488 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %32, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809505945456 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %33) #60, !dbg !1496 | |
%current_task15.i30 = getelementptr inbounds {}**, {}*** %18, i64 -13, !dbg !1496 | |
%current_task15.i = bitcast {}*** %current_task15.i30 to {}**, !dbg !1496 | |
%35 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task15.i, i64 noundef 8, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809549581744 to {}*) to {} addrspace(10)*)) #61, !dbg !1496 | |
%36 = bitcast {} addrspace(10)* %35 to {} addrspace(10)* addrspace(10)*, !dbg !1496 | |
store {} addrspace(10)* %34, {} addrspace(10)* addrspace(10)* %36, align 8, !dbg !1496, !tbaa !145, !alias.scope !70, !noalias !1497 | |
%37 = addrspacecast {} addrspace(10)* %35 to {} addrspace(12)*, !dbg !1496 | |
call void @ijl_throw({} addrspace(12)* %37) #62, !dbg !1496 | |
unreachable, !dbg !1496 | |
L33.i: ; preds = %L21.i, %entry | |
%.sroa.04.0 = phi i64 [ %28, %entry ], [ %24, %L21.i ] | |
%38 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %9, i64 0, i64 0, i64 0, !dbg !1498 | |
store i64 %.sroa.04.0, i64* %38, align 8, !dbg !1498, !tbaa !335, !alias.scope !337, !noalias !1499 | |
%39 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %.sroa.04.0) #58, !dbg !1500 | |
%"'mi" = phi {} addrspace(10)* , !dbg !1500 | |
%40 = bitcast {} addrspace(10)* %39 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1508 | |
%41 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %40 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1508 | |
%42 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %41, i64 0, i32 1, !dbg !1508 | |
%43 = load i64, i64 addrspace(11)* %42, align 8, !dbg !1508, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not.not = icmp eq i64 %43, %.sroa.04.0, !dbg !1512 | |
br i1 %.not.not, label %L56.i, label %L152.i, !dbg !1516 | |
L56.i: ; preds = %L33.i | |
%44 = addrspacecast {} addrspace(10)* %39 to {} addrspace(11)*, !dbg !1517 | |
%45 = addrspacecast {} addrspace(10)* %20 to {} addrspace(11)*, !dbg !1517 | |
%.not = icmp eq {} addrspace(11)* %44, %45, !dbg !1517 | |
br i1 %.not, label %L72.i, label %L59.i, !dbg !1517 | |
L59.i: ; preds = %L56.i | |
%46 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %44) #63, !dbg !1522 | |
%"'ip_phi" = phi {}* , !dbg !1522 | |
%47 = bitcast {}* %46 to i8**, !dbg !1522 | |
%48 = load i8*, i8** %47, align 8, !dbg !1522, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%"'il_phi3" = phi i8* , !dbg !1522 | |
%49 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* noundef %45) #63, !dbg !1522 | |
%"'ip_phi4" = phi {}* , !dbg !1522 | |
%50 = bitcast {}* %49 to i8**, !dbg !1522 | |
%51 = load i8*, i8** %50, align 8, !dbg !1522, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%"'il_phi5" = phi i8* , !dbg !1528 | |
%.not28 = icmp eq i8* %48, %51, !dbg !1528 | |
br i1 %.not28, label %L67.i, label %L72.i, !dbg !1531 | |
L67.i: ; preds = %L59.i | |
%52 = call nonnull {} addrspace(10)* @ijl_array_copy({} addrspace(10)* noundef nonnull %20) #58, !dbg !1532 | |
%"'ip_phi6" = phi {} addrspace(10)* , !dbg !1532 | |
%.phi.trans.insert = bitcast {} addrspace(10)* %52 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* | |
%.phi.trans.insert54 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %.phi.trans.insert to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* | |
%.phi.trans.insert55 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %.phi.trans.insert54, i64 0, i32 1 | |
%.pre = load i64, i64 addrspace(11)* %.phi.trans.insert55, align 8, !dbg !1534, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
br label %L72.i, !dbg !1531 | |
L72.i: ; preds = %L67.i, %L59.i, %L56.i | |
%53 = phi i64 [ %24, %L56.i ], [ %.pre, %L67.i ], [ %24, %L59.i ], !dbg !1534 | |
%value_phi7.i = phi {} addrspace(10)* [ %20, %L56.i ], [ %52, %L67.i ], [ %20, %L59.i ] | |
%54 = icmp eq i64 %53, 1, !dbg !1538 | |
%55 = addrspacecast {} addrspace(10)* %4 to {} addrspace(11)*, !dbg !1542 | |
%.not23 = icmp eq {} addrspace(11)* %44, %55, !dbg !1542 | |
br i1 %.not23, label %L97.i, label %L84.i, !dbg !1542 | |
L84.i: ; preds = %L72.i | |
%56 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* %44) #63, !dbg !1545 | |
%"'ip_phi7" = phi {}* , !dbg !1545 | |
%57 = bitcast {}* %56 to i8**, !dbg !1545 | |
%58 = load i8*, i8** %57, align 8, !dbg !1545, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%"'il_phi8" = phi i8* , !dbg !1545 | |
%59 = call nonnull {}* @julia.pointer_from_objref({} addrspace(11)* noundef %55) #63, !dbg !1545 | |
%60 = bitcast {}* %59 to i8**, !dbg !1545 | |
%61 = load i8*, i8** %60, align 8, !dbg !1545, !tbaa !87, !alias.scope !266, !noalias !91, !nonnull !37 | |
%"'il_phi9" = phi i8* , !dbg !1551 | |
%.not27 = icmp eq i8* %58, %61, !dbg !1551 | |
br i1 %.not27, label %L92.i, label %L97.i, !dbg !1554 | |
L92.i: ; preds = %L84.i | |
%62 = call nonnull {} addrspace(10)* @ijl_array_copy({} addrspace(10)* noundef nonnull %4) #58, !dbg !1555 | |
%.phi.trans.insert56 = bitcast {} addrspace(10)* %62 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* | |
%.phi.trans.insert57 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %.phi.trans.insert56 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* | |
%.phi.trans.insert58 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %.phi.trans.insert57, i64 0, i32 1 | |
%.pre59 = load i64, i64 addrspace(11)* %.phi.trans.insert58, align 8, !dbg !1557, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
br label %L97.i, !dbg !1554 | |
L97.i: ; preds = %L92.i, %L84.i, %L72.i | |
%63 = phi i64 [ %.pre59, %L92.i ], [ %28, %L72.i ], [ %28, %L84.i ], !dbg !1557 | |
%value_phi8.i = phi {} addrspace(10)* [ %62, %L92.i ], [ %4, %L72.i ], [ %4, %L84.i ] | |
%64 = icmp eq i64 %63, 1, !dbg !1561 | |
%.not24 = icmp eq i64 %.sroa.04.0, 0, !dbg !1565 | |
br i1 %.not24, label %L150.i, label %L118.i.lr.ph, !dbg !1568 | |
L118.i.lr.ph: ; preds = %L97.i | |
%65 = bitcast {} addrspace(10)* %value_phi7.i to double addrspace(13)* addrspace(10)* | |
%66 = addrspacecast double addrspace(13)* addrspace(10)* %65 to double addrspace(13)* addrspace(11)* | |
%67 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %66, align 8, !tbaa !87, !alias.scope !1569, !noalias !91, !nonnull !37 | |
%"'il_phi10" = phi double addrspace(13)* | |
%68 = bitcast {} addrspace(10)* %value_phi8.i to double addrspace(13)* addrspace(10)* | |
%69 = addrspacecast double addrspace(13)* addrspace(10)* %68 to double addrspace(13)* addrspace(11)* | |
%70 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %69, align 8, !tbaa !87, !alias.scope !1569, !noalias !91, !nonnull !37 | |
%"'il_phi11" = phi double addrspace(13)* | |
%71 = bitcast {} addrspace(10)* %39 to double addrspace(13)* addrspace(10)* | |
%72 = addrspacecast double addrspace(13)* addrspace(10)* %71 to double addrspace(13)* addrspace(11)* | |
%73 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %72, align 8, !tbaa !87, !alias.scope !1569, !noalias !91, !nonnull !37 | |
%"'il_phi12" = phi double addrspace(13)* , !dbg !1570 | |
br i1 %54, label %L118.i.lr.ph.split.us, label %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge, !dbg !1570 | |
L118.i.lr.ph.L118.i.lr.ph.split_crit_edge: ; preds = %L118.i.lr.ph | |
br i1 %64, label %L118.i.lr.ph.split.split.us, label %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge, !dbg !1570 | |
L118.i.lr.ph.split.us: ; preds = %L118.i.lr.ph | |
br i1 %64, label %L118.i.lr.ph.split.us.split.us, label %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge, !dbg !1570 | |
L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge: ; preds = %L118.i.lr.ph.split.us | |
%74 = add nsw i64 %.sroa.04.0, -1, !dbg !1570 | |
%xtraiter36 = and i64 %.sroa.04.0, 7, !dbg !1570 | |
%75 = icmp ult i64 %74, 7, !dbg !1570 | |
br i1 %75, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, label %L118.i.lr.ph.split.us.split.new, !dbg !1570 | |
L118.i.lr.ph.split.us.split.us: ; preds = %L118.i.lr.ph.split.us | |
%76 = add nsw i64 %.sroa.04.0, -1, !dbg !1570 | |
%xtraiter48 = and i64 %.sroa.04.0, 7, !dbg !1570 | |
%77 = icmp ult i64 %76, 7, !dbg !1570 | |
br i1 %77, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, label %L118.i.lr.ph.split.us.split.us.new, !dbg !1570 | |
L118.i.lr.ph.split.us.split.us.new: ; preds = %L118.i.lr.ph.split.us.split.us | |
%unroll_iter52 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1570 | |
%78 = add nsw i64 %unroll_iter52, -8, !dbg !1570 | |
%79 = lshr i64 %78, 3, !dbg !1570 | |
br label %L118.i.us.us, !dbg !1570 | |
L118.i.us.us: ; preds = %L118.i.us.us, %L118.i.lr.ph.split.us.split.us.new | |
%iv14 = phi i64 [ %iv.next15, %L118.i.us.us ], [ 0, %L118.i.lr.ph.split.us.split.us.new ] | |
%iv.next15 = add nuw nsw i64 %iv14, 1, !dbg !1571 | |
%80 = shl i64 %iv14, 3, !dbg !1571 | |
%81 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%82 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%83 = fsub double %81, %82, !dbg !1581 | |
%84 = getelementptr inbounds double, double addrspace(13)* %73, i64 %80, !dbg !1584 | |
store double %83, double addrspace(13)* %84, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%85 = or i64 %80, 1, !dbg !1585 | |
%86 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%87 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%88 = fsub double %86, %87, !dbg !1581 | |
%89 = getelementptr inbounds double, double addrspace(13)* %73, i64 %85, !dbg !1584 | |
store double %88, double addrspace(13)* %89, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%90 = or i64 %80, 2, !dbg !1585 | |
%91 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%92 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%93 = fsub double %91, %92, !dbg !1581 | |
%94 = getelementptr inbounds double, double addrspace(13)* %73, i64 %90, !dbg !1584 | |
store double %93, double addrspace(13)* %94, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%95 = or i64 %80, 3, !dbg !1585 | |
%96 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%97 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%98 = fsub double %96, %97, !dbg !1581 | |
%99 = getelementptr inbounds double, double addrspace(13)* %73, i64 %95, !dbg !1584 | |
store double %98, double addrspace(13)* %99, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%100 = or i64 %80, 4, !dbg !1585 | |
%101 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%102 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%103 = fsub double %101, %102, !dbg !1581 | |
%104 = getelementptr inbounds double, double addrspace(13)* %73, i64 %100, !dbg !1584 | |
store double %103, double addrspace(13)* %104, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%105 = or i64 %80, 5, !dbg !1585 | |
%106 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%107 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%108 = fsub double %106, %107, !dbg !1581 | |
%109 = getelementptr inbounds double, double addrspace(13)* %73, i64 %105, !dbg !1584 | |
store double %108, double addrspace(13)* %109, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%110 = or i64 %80, 6, !dbg !1585 | |
%111 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%112 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%113 = fsub double %111, %112, !dbg !1581 | |
%114 = getelementptr inbounds double, double addrspace(13)* %73, i64 %110, !dbg !1584 | |
store double %113, double addrspace(13)* %114, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%115 = or i64 %80, 7, !dbg !1585 | |
%116 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%117 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%118 = fsub double %116, %117, !dbg !1581 | |
%119 = getelementptr inbounds double, double addrspace(13)* %73, i64 %115, !dbg !1584 | |
store double %118, double addrspace(13)* %119, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%120 = add nuw nsw i64 %80, 8, !dbg !1585 | |
%niter53.ncmp.7.not = icmp eq i64 %120, %unroll_iter52, !dbg !1570 | |
br i1 %niter53.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit, label %L118.i.us.us, !dbg !1570, !llvm.loop !1587 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit: ; preds = %L118.i.us.us | |
br label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, !dbg !1570 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit, %L118.i.lr.ph.split.us.split.us | |
%value_phi9.i32.us.us.unr = phi i64 [ 0, %L118.i.lr.ph.split.us.split.us ], [ %unroll_iter52, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit ] | |
%lcmp.mod51.not = icmp eq i64 %xtraiter48, 0, !dbg !1570 | |
br i1 %lcmp.mod51.not, label %L150.i, label %L118.i.us.us.epil.preheader, !dbg !1570 | |
L118.i.us.us.epil.preheader: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa | |
%121 = add nsw i64 %xtraiter48, -1, !dbg !1570 | |
br label %L118.i.us.us.epil, !dbg !1570 | |
L118.i.us.us.epil: ; preds = %L118.i.us.us.epil, %L118.i.us.us.epil.preheader | |
%iv16 = phi i64 [ 0, %L118.i.us.us.epil.preheader ], [ %iv.next17, %L118.i.us.us.epil ] | |
%iv.next17 = add nuw nsw i64 %iv16, 1, !dbg !1571 | |
%122 = add i64 %value_phi9.i32.us.us.unr, %iv16, !dbg !1571 | |
%123 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%124 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%125 = fsub double %123, %124, !dbg !1581 | |
%126 = getelementptr inbounds double, double addrspace(13)* %73, i64 %122, !dbg !1584 | |
store double %125, double addrspace(13)* %126, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%127 = add nuw nsw i64 %122, 1, !dbg !1585 | |
%epil.iter50.cmp.not = icmp eq i64 %iv.next17, %xtraiter48, !dbg !1570 | |
br i1 %epil.iter50.cmp.not, label %L150.i.loopexit, label %L118.i.us.us.epil, !dbg !1570, !llvm.loop !1588 | |
L118.i.lr.ph.split.us.split.new: ; preds = %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge | |
%unroll_iter40 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1570 | |
%128 = add nsw i64 %unroll_iter40, -8, !dbg !1570 | |
%129 = lshr i64 %128, 3, !dbg !1570 | |
br label %L118.i.us, !dbg !1570 | |
L118.i.us: ; preds = %L118.i.us, %L118.i.lr.ph.split.us.split.new | |
%iv10 = phi i64 [ %iv.next11, %L118.i.us ], [ 0, %L118.i.lr.ph.split.us.split.new ] | |
%iv.next11 = add nuw nsw i64 %iv10, 1, !dbg !1571 | |
%130 = shl i64 %iv10, 3, !dbg !1571 | |
%131 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%132 = getelementptr inbounds double, double addrspace(13)* %70, i64 %130, !dbg !1578 | |
%133 = load double, double addrspace(13)* %132, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%134 = fsub double %131, %133, !dbg !1581 | |
%135 = getelementptr inbounds double, double addrspace(13)* %73, i64 %130, !dbg !1584 | |
store double %134, double addrspace(13)* %135, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%136 = or i64 %130, 1, !dbg !1585 | |
%137 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%138 = getelementptr inbounds double, double addrspace(13)* %70, i64 %136, !dbg !1578 | |
%139 = load double, double addrspace(13)* %138, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%140 = fsub double %137, %139, !dbg !1581 | |
%141 = getelementptr inbounds double, double addrspace(13)* %73, i64 %136, !dbg !1584 | |
store double %140, double addrspace(13)* %141, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%142 = or i64 %130, 2, !dbg !1585 | |
%143 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%144 = getelementptr inbounds double, double addrspace(13)* %70, i64 %142, !dbg !1578 | |
%145 = load double, double addrspace(13)* %144, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%146 = fsub double %143, %145, !dbg !1581 | |
%147 = getelementptr inbounds double, double addrspace(13)* %73, i64 %142, !dbg !1584 | |
store double %146, double addrspace(13)* %147, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%148 = or i64 %130, 3, !dbg !1585 | |
%149 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%150 = getelementptr inbounds double, double addrspace(13)* %70, i64 %148, !dbg !1578 | |
%151 = load double, double addrspace(13)* %150, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%152 = fsub double %149, %151, !dbg !1581 | |
%153 = getelementptr inbounds double, double addrspace(13)* %73, i64 %148, !dbg !1584 | |
store double %152, double addrspace(13)* %153, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%154 = or i64 %130, 4, !dbg !1585 | |
%155 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%156 = getelementptr inbounds double, double addrspace(13)* %70, i64 %154, !dbg !1578 | |
%157 = load double, double addrspace(13)* %156, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%158 = fsub double %155, %157, !dbg !1581 | |
%159 = getelementptr inbounds double, double addrspace(13)* %73, i64 %154, !dbg !1584 | |
store double %158, double addrspace(13)* %159, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%160 = or i64 %130, 5, !dbg !1585 | |
%161 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%162 = getelementptr inbounds double, double addrspace(13)* %70, i64 %160, !dbg !1578 | |
%163 = load double, double addrspace(13)* %162, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%164 = fsub double %161, %163, !dbg !1581 | |
%165 = getelementptr inbounds double, double addrspace(13)* %73, i64 %160, !dbg !1584 | |
store double %164, double addrspace(13)* %165, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%166 = or i64 %130, 6, !dbg !1585 | |
%167 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%168 = getelementptr inbounds double, double addrspace(13)* %70, i64 %166, !dbg !1578 | |
%169 = load double, double addrspace(13)* %168, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%170 = fsub double %167, %169, !dbg !1581 | |
%171 = getelementptr inbounds double, double addrspace(13)* %73, i64 %166, !dbg !1584 | |
store double %170, double addrspace(13)* %171, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%172 = or i64 %130, 7, !dbg !1585 | |
%173 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%174 = getelementptr inbounds double, double addrspace(13)* %70, i64 %172, !dbg !1578 | |
%175 = load double, double addrspace(13)* %174, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%176 = fsub double %173, %175, !dbg !1581 | |
%177 = getelementptr inbounds double, double addrspace(13)* %73, i64 %172, !dbg !1584 | |
store double %176, double addrspace(13)* %177, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%178 = add nuw nsw i64 %130, 8, !dbg !1585 | |
%niter41.ncmp.7.not = icmp eq i64 %178, %unroll_iter40, !dbg !1570 | |
br i1 %niter41.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit, label %L118.i.us, !dbg !1570, !llvm.loop !1587 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit: ; preds = %L118.i.us | |
br label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, !dbg !1570 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit, %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge | |
%value_phi9.i32.us.unr = phi i64 [ 0, %L118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge ], [ %unroll_iter40, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit ] | |
%lcmp.mod39.not = icmp eq i64 %xtraiter36, 0, !dbg !1570 | |
br i1 %lcmp.mod39.not, label %L150.i, label %L118.i.us.epil.preheader, !dbg !1570 | |
L118.i.us.epil.preheader: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa | |
%179 = add nsw i64 %xtraiter36, -1, !dbg !1570 | |
br label %L118.i.us.epil, !dbg !1570 | |
L118.i.us.epil: ; preds = %L118.i.us.epil, %L118.i.us.epil.preheader | |
%iv12 = phi i64 [ 0, %L118.i.us.epil.preheader ], [ %iv.next13, %L118.i.us.epil ] | |
%iv.next13 = add nuw nsw i64 %iv12, 1, !dbg !1571 | |
%180 = add i64 %value_phi9.i32.us.unr, %iv12, !dbg !1571 | |
%181 = load double, double addrspace(13)* %67, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%182 = getelementptr inbounds double, double addrspace(13)* %70, i64 %180, !dbg !1578 | |
%183 = load double, double addrspace(13)* %182, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%184 = fsub double %181, %183, !dbg !1581 | |
%185 = getelementptr inbounds double, double addrspace(13)* %73, i64 %180, !dbg !1584 | |
store double %184, double addrspace(13)* %185, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%186 = add nuw nsw i64 %180, 1, !dbg !1585 | |
%epil.iter38.cmp.not = icmp eq i64 %iv.next13, %xtraiter36, !dbg !1570 | |
br i1 %epil.iter38.cmp.not, label %L150.i.loopexit1, label %L118.i.us.epil, !dbg !1570, !llvm.loop !1589 | |
L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge: ; preds = %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge | |
%187 = add nsw i64 %.sroa.04.0, -1, !dbg !1570 | |
%xtraiter = and i64 %.sroa.04.0, 7, !dbg !1570 | |
%188 = icmp ult i64 %187, 7, !dbg !1570 | |
br i1 %188, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, label %L118.i.lr.ph.split.split.new, !dbg !1570 | |
L118.i.lr.ph.split.split.us: ; preds = %L118.i.lr.ph.L118.i.lr.ph.split_crit_edge | |
%189 = add nsw i64 %.sroa.04.0, -1, !dbg !1570 | |
%xtraiter42 = and i64 %.sroa.04.0, 7, !dbg !1570 | |
%190 = icmp ult i64 %189, 7, !dbg !1570 | |
br i1 %190, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, label %L118.i.lr.ph.split.split.us.new, !dbg !1570 | |
L118.i.lr.ph.split.split.us.new: ; preds = %L118.i.lr.ph.split.split.us | |
%unroll_iter46 = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1570 | |
%191 = add nsw i64 %unroll_iter46, -8, !dbg !1570 | |
%192 = lshr i64 %191, 3, !dbg !1570 | |
br label %L118.i.us33, !dbg !1570 | |
L118.i.us33: ; preds = %L118.i.us33, %L118.i.lr.ph.split.split.us.new | |
%iv6 = phi i64 [ %iv.next7, %L118.i.us33 ], [ 0, %L118.i.lr.ph.split.split.us.new ] | |
%iv.next7 = add nuw nsw i64 %iv6, 1, !dbg !1571 | |
%193 = shl i64 %iv6, 3, !dbg !1571 | |
%194 = getelementptr inbounds double, double addrspace(13)* %67, i64 %193, !dbg !1571 | |
%195 = load double, double addrspace(13)* %194, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%196 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%197 = fsub double %195, %196, !dbg !1581 | |
%198 = getelementptr inbounds double, double addrspace(13)* %73, i64 %193, !dbg !1584 | |
store double %197, double addrspace(13)* %198, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%199 = or i64 %193, 1, !dbg !1585 | |
%200 = getelementptr inbounds double, double addrspace(13)* %67, i64 %199, !dbg !1571 | |
%201 = load double, double addrspace(13)* %200, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%202 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%203 = fsub double %201, %202, !dbg !1581 | |
%204 = getelementptr inbounds double, double addrspace(13)* %73, i64 %199, !dbg !1584 | |
store double %203, double addrspace(13)* %204, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%205 = or i64 %193, 2, !dbg !1585 | |
%206 = getelementptr inbounds double, double addrspace(13)* %67, i64 %205, !dbg !1571 | |
%207 = load double, double addrspace(13)* %206, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%208 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%209 = fsub double %207, %208, !dbg !1581 | |
%210 = getelementptr inbounds double, double addrspace(13)* %73, i64 %205, !dbg !1584 | |
store double %209, double addrspace(13)* %210, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%211 = or i64 %193, 3, !dbg !1585 | |
%212 = getelementptr inbounds double, double addrspace(13)* %67, i64 %211, !dbg !1571 | |
%213 = load double, double addrspace(13)* %212, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%214 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%215 = fsub double %213, %214, !dbg !1581 | |
%216 = getelementptr inbounds double, double addrspace(13)* %73, i64 %211, !dbg !1584 | |
store double %215, double addrspace(13)* %216, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%217 = or i64 %193, 4, !dbg !1585 | |
%218 = getelementptr inbounds double, double addrspace(13)* %67, i64 %217, !dbg !1571 | |
%219 = load double, double addrspace(13)* %218, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%220 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%221 = fsub double %219, %220, !dbg !1581 | |
%222 = getelementptr inbounds double, double addrspace(13)* %73, i64 %217, !dbg !1584 | |
store double %221, double addrspace(13)* %222, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%223 = or i64 %193, 5, !dbg !1585 | |
%224 = getelementptr inbounds double, double addrspace(13)* %67, i64 %223, !dbg !1571 | |
%225 = load double, double addrspace(13)* %224, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%226 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%227 = fsub double %225, %226, !dbg !1581 | |
%228 = getelementptr inbounds double, double addrspace(13)* %73, i64 %223, !dbg !1584 | |
store double %227, double addrspace(13)* %228, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%229 = or i64 %193, 6, !dbg !1585 | |
%230 = getelementptr inbounds double, double addrspace(13)* %67, i64 %229, !dbg !1571 | |
%231 = load double, double addrspace(13)* %230, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%232 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%233 = fsub double %231, %232, !dbg !1581 | |
%234 = getelementptr inbounds double, double addrspace(13)* %73, i64 %229, !dbg !1584 | |
store double %233, double addrspace(13)* %234, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%235 = or i64 %193, 7, !dbg !1585 | |
%236 = getelementptr inbounds double, double addrspace(13)* %67, i64 %235, !dbg !1571 | |
%237 = load double, double addrspace(13)* %236, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%238 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%239 = fsub double %237, %238, !dbg !1581 | |
%240 = getelementptr inbounds double, double addrspace(13)* %73, i64 %235, !dbg !1584 | |
store double %239, double addrspace(13)* %240, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%241 = add nuw nsw i64 %193, 8, !dbg !1585 | |
%niter47.ncmp.7.not = icmp eq i64 %241, %unroll_iter46, !dbg !1570 | |
br i1 %niter47.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit, label %L118.i.us33, !dbg !1570, !llvm.loop !1587 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit: ; preds = %L118.i.us33 | |
br label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, !dbg !1570 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit, %L118.i.lr.ph.split.split.us | |
%value_phi9.i32.us34.unr = phi i64 [ 0, %L118.i.lr.ph.split.split.us ], [ %unroll_iter46, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit ] | |
%lcmp.mod45.not = icmp eq i64 %xtraiter42, 0, !dbg !1570 | |
br i1 %lcmp.mod45.not, label %L150.i, label %L118.i.us33.epil.preheader, !dbg !1570 | |
L118.i.us33.epil.preheader: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa | |
%242 = add nsw i64 %xtraiter42, -1, !dbg !1570 | |
br label %L118.i.us33.epil, !dbg !1570 | |
L118.i.us33.epil: ; preds = %L118.i.us33.epil, %L118.i.us33.epil.preheader | |
%iv8 = phi i64 [ 0, %L118.i.us33.epil.preheader ], [ %iv.next9, %L118.i.us33.epil ] | |
%iv.next9 = add nuw nsw i64 %iv8, 1, !dbg !1571 | |
%243 = add i64 %value_phi9.i32.us34.unr, %iv8, !dbg !1571 | |
%244 = getelementptr inbounds double, double addrspace(13)* %67, i64 %243, !dbg !1571 | |
%245 = load double, double addrspace(13)* %244, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%246 = load double, double addrspace(13)* %70, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%247 = fsub double %245, %246, !dbg !1581 | |
%248 = getelementptr inbounds double, double addrspace(13)* %73, i64 %243, !dbg !1584 | |
store double %247, double addrspace(13)* %248, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%249 = add nuw nsw i64 %243, 1, !dbg !1585 | |
%epil.iter44.cmp.not = icmp eq i64 %iv.next9, %xtraiter42, !dbg !1570 | |
br i1 %epil.iter44.cmp.not, label %L150.i.loopexit2, label %L118.i.us33.epil, !dbg !1570, !llvm.loop !1590 | |
L118.i.lr.ph.split.split.new: ; preds = %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge | |
%unroll_iter = and i64 %.sroa.04.0, 9223372036854775800, !dbg !1570 | |
%250 = add nsw i64 %unroll_iter, -8, !dbg !1570 | |
%251 = lshr i64 %250, 3, !dbg !1570 | |
br label %L118.i, !dbg !1570 | |
L118.i: ; preds = %L118.i, %L118.i.lr.ph.split.split.new | |
%iv = phi i64 [ %iv.next, %L118.i ], [ 0, %L118.i.lr.ph.split.split.new ] | |
%iv.next = add nuw nsw i64 %iv, 1, !dbg !1571 | |
%252 = shl i64 %iv, 3, !dbg !1571 | |
%253 = getelementptr inbounds double, double addrspace(13)* %67, i64 %252, !dbg !1571 | |
%254 = load double, double addrspace(13)* %253, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%255 = getelementptr inbounds double, double addrspace(13)* %70, i64 %252, !dbg !1578 | |
%256 = load double, double addrspace(13)* %255, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%257 = fsub double %254, %256, !dbg !1581 | |
%258 = getelementptr inbounds double, double addrspace(13)* %73, i64 %252, !dbg !1584 | |
store double %257, double addrspace(13)* %258, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%259 = or i64 %252, 1, !dbg !1585 | |
%260 = getelementptr inbounds double, double addrspace(13)* %67, i64 %259, !dbg !1571 | |
%261 = load double, double addrspace(13)* %260, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%262 = getelementptr inbounds double, double addrspace(13)* %70, i64 %259, !dbg !1578 | |
%263 = load double, double addrspace(13)* %262, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%264 = fsub double %261, %263, !dbg !1581 | |
%265 = getelementptr inbounds double, double addrspace(13)* %73, i64 %259, !dbg !1584 | |
store double %264, double addrspace(13)* %265, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%266 = or i64 %252, 2, !dbg !1585 | |
%267 = getelementptr inbounds double, double addrspace(13)* %67, i64 %266, !dbg !1571 | |
%268 = load double, double addrspace(13)* %267, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%269 = getelementptr inbounds double, double addrspace(13)* %70, i64 %266, !dbg !1578 | |
%270 = load double, double addrspace(13)* %269, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%271 = fsub double %268, %270, !dbg !1581 | |
%272 = getelementptr inbounds double, double addrspace(13)* %73, i64 %266, !dbg !1584 | |
store double %271, double addrspace(13)* %272, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%273 = or i64 %252, 3, !dbg !1585 | |
%274 = getelementptr inbounds double, double addrspace(13)* %67, i64 %273, !dbg !1571 | |
%275 = load double, double addrspace(13)* %274, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%276 = getelementptr inbounds double, double addrspace(13)* %70, i64 %273, !dbg !1578 | |
%277 = load double, double addrspace(13)* %276, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%278 = fsub double %275, %277, !dbg !1581 | |
%279 = getelementptr inbounds double, double addrspace(13)* %73, i64 %273, !dbg !1584 | |
store double %278, double addrspace(13)* %279, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%280 = or i64 %252, 4, !dbg !1585 | |
%281 = getelementptr inbounds double, double addrspace(13)* %67, i64 %280, !dbg !1571 | |
%282 = load double, double addrspace(13)* %281, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%283 = getelementptr inbounds double, double addrspace(13)* %70, i64 %280, !dbg !1578 | |
%284 = load double, double addrspace(13)* %283, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%285 = fsub double %282, %284, !dbg !1581 | |
%286 = getelementptr inbounds double, double addrspace(13)* %73, i64 %280, !dbg !1584 | |
store double %285, double addrspace(13)* %286, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%287 = or i64 %252, 5, !dbg !1585 | |
%288 = getelementptr inbounds double, double addrspace(13)* %67, i64 %287, !dbg !1571 | |
%289 = load double, double addrspace(13)* %288, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%290 = getelementptr inbounds double, double addrspace(13)* %70, i64 %287, !dbg !1578 | |
%291 = load double, double addrspace(13)* %290, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%292 = fsub double %289, %291, !dbg !1581 | |
%293 = getelementptr inbounds double, double addrspace(13)* %73, i64 %287, !dbg !1584 | |
store double %292, double addrspace(13)* %293, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%294 = or i64 %252, 6, !dbg !1585 | |
%295 = getelementptr inbounds double, double addrspace(13)* %67, i64 %294, !dbg !1571 | |
%296 = load double, double addrspace(13)* %295, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%297 = getelementptr inbounds double, double addrspace(13)* %70, i64 %294, !dbg !1578 | |
%298 = load double, double addrspace(13)* %297, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%299 = fsub double %296, %298, !dbg !1581 | |
%300 = getelementptr inbounds double, double addrspace(13)* %73, i64 %294, !dbg !1584 | |
store double %299, double addrspace(13)* %300, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%301 = or i64 %252, 7, !dbg !1585 | |
%302 = getelementptr inbounds double, double addrspace(13)* %67, i64 %301, !dbg !1571 | |
%303 = load double, double addrspace(13)* %302, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%304 = getelementptr inbounds double, double addrspace(13)* %70, i64 %301, !dbg !1578 | |
%305 = load double, double addrspace(13)* %304, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%306 = fsub double %303, %305, !dbg !1581 | |
%307 = getelementptr inbounds double, double addrspace(13)* %73, i64 %301, !dbg !1584 | |
store double %306, double addrspace(13)* %307, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%308 = add nuw nsw i64 %252, 8, !dbg !1585 | |
%niter.ncmp.7.not = icmp eq i64 %308, %unroll_iter, !dbg !1570 | |
br i1 %niter.ncmp.7.not, label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit, label %L118.i, !dbg !1570, !llvm.loop !1587 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit: ; preds = %L118.i | |
br label %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, !dbg !1570 | |
L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit, %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge | |
%value_phi9.i32.unr = phi i64 [ 0, %L118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge ], [ %unroll_iter, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !1570 | |
br i1 %lcmp.mod.not, label %L150.i, label %L118.i.epil.preheader, !dbg !1570 | |
L118.i.epil.preheader: ; preds = %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa | |
%309 = add nsw i64 %xtraiter, -1, !dbg !1570 | |
br label %L118.i.epil, !dbg !1570 | |
L118.i.epil: ; preds = %L118.i.epil, %L118.i.epil.preheader | |
%iv4 = phi i64 [ 0, %L118.i.epil.preheader ], [ %iv.next5, %L118.i.epil ] | |
%iv.next5 = add nuw nsw i64 %iv4, 1, !dbg !1571 | |
%310 = add i64 %value_phi9.i32.unr, %iv4, !dbg !1571 | |
%311 = getelementptr inbounds double, double addrspace(13)* %67, i64 %310, !dbg !1571 | |
%312 = load double, double addrspace(13)* %311, align 8, !dbg !1571, !tbaa !67, !alias.scope !70, !noalias !71 | |
%313 = getelementptr inbounds double, double addrspace(13)* %70, i64 %310, !dbg !1578 | |
%314 = load double, double addrspace(13)* %313, align 8, !dbg !1578, !tbaa !67, !alias.scope !70, !noalias !71 | |
%315 = fsub double %312, %314, !dbg !1581 | |
%316 = getelementptr inbounds double, double addrspace(13)* %73, i64 %310, !dbg !1584 | |
store double %315, double addrspace(13)* %316, align 8, !dbg !1584, !tbaa !67, !alias.scope !70, !noalias !1497 | |
%317 = add nuw nsw i64 %310, 1, !dbg !1585 | |
%epil.iter.cmp.not = icmp eq i64 %iv.next5, %xtraiter, !dbg !1570 | |
br i1 %epil.iter.cmp.not, label %L150.i.loopexit3, label %L118.i.epil, !dbg !1570, !llvm.loop !1591 | |
L150.i.loopexit: ; preds = %L118.i.us.us.epil | |
br label %L150.i, !dbg !1592 | |
L150.i.loopexit1: ; preds = %L118.i.us.epil | |
br label %L150.i, !dbg !1592 | |
L150.i.loopexit2: ; preds = %L118.i.us33.epil | |
br label %L150.i, !dbg !1592 | |
L150.i.loopexit3: ; preds = %L118.i.epil | |
br label %L150.i, !dbg !1592 | |
L150.i: ; preds = %L150.i.loopexit3, %L150.i.loopexit2, %L150.i.loopexit1, %L150.i.loopexit, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa, %L115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa, %L97.i | |
%318 = call fastcc double @julia__mapreduce_2058({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %39) #59, !dbg !1592 | |
%319 = bitcast {} addrspace(10)* %0 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1599 | |
%320 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %319 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1599 | |
%321 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %320, i64 0, i32 1, !dbg !1599 | |
%322 = load i64, i64 addrspace(11)* %321, align 8, !dbg !1599, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not26 = icmp eq i64 %322, 0, !dbg !1599 | |
br i1 %.not26, label %oob.i, label %julia_get_loss__2048_inner.exit, !dbg !1599 | |
L152.i: ; preds = %L33.i | |
%323 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %10, i64 0, i64 0, i64 0, !dbg !1600 | |
store i64 %43, i64* %323, align 8, !dbg !1600, !tbaa !335, !alias.scope !337, !noalias !1499 | |
%324 = addrspacecast [1 x [1 x i64]]* %10 to [1 x [1 x i64]] addrspace(11)*, !dbg !1516 | |
%325 = addrspacecast [1 x [1 x i64]]* %9 to [1 x [1 x i64]] addrspace(11)*, !dbg !1516 | |
call fastcc void @julia_throwdm_2056([1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %324, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %325) #64, !dbg !1516 | |
unreachable, !dbg !1516 | |
oob.i: ; preds = %L150.i | |
%326 = alloca i64, align 8, !dbg !1599 | |
store i64 1, i64* %326, align 8, !dbg !1599, !noalias !1457 | |
%327 = addrspacecast {} addrspace(10)* %0 to {} addrspace(12)*, !dbg !1599 | |
call void @ijl_bounds_error_ints({} addrspace(12)* noundef %327, i64* noundef nonnull align 8 %326, i64 noundef 1) #62, !dbg !1599 | |
unreachable, !dbg !1599 | |
julia_get_loss__2048_inner.exit: ; preds = %L150.i | |
%328 = load i64, i64 addrspace(11)* %27, align 8, !dbg !1604, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%329 = sitofp i64 %328 to double, !dbg !1605 | |
%330 = fdiv double %318, %329, !dbg !1610 | |
%331 = bitcast {} addrspace(10)* %0 to double addrspace(13)* addrspace(10)*, !dbg !1599 | |
%332 = addrspacecast double addrspace(13)* addrspace(10)* %331 to double addrspace(13)* addrspace(11)*, !dbg !1599 | |
%333 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %332, align 16, !dbg !1599, !tbaa !87, !alias.scope !1569, !noalias !91, !nonnull !37 | |
%"'il_phi13" = phi double addrspace(13)* , !dbg !1599 | |
store double %330, double addrspace(13)* %333, align 8, !dbg !1599, !tbaa !67, !alias.scope !70, !noalias !1497 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %13) #58, !dbg !1611 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 16, i8* noundef nonnull %14) #58, !dbg !1611 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %15) #58, !dbg !1611 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %16) #58, !dbg !1611 | |
call void @llvm.lifetime.end.p0i8(i64 noundef 8, i8* noundef nonnull %17) #58, !dbg !1611 | |
br label %invertjulia_get_loss__2048_inner.exit, !dbg !1456 | |
allocsForInversion: ; No predecessors! | |
%"iv14'ac" = alloca i64, align 8 | |
%"iv16'ac" = alloca i64, align 8 | |
%"iv10'ac" = alloca i64, align 8 | |
%"iv12'ac" = alloca i64, align 8 | |
%"iv6'ac" = alloca i64, align 8 | |
%"iv8'ac" = alloca i64, align 8 | |
%"iv'ac" = alloca i64, align 8 | |
%"iv4'ac" = alloca i64, align 8 | |
invertentry: ; No predecessors! | |
call fastcc void @diffejulia__eval_tree_array_1_2070({ {} addrspace(10)*, i8 }* "enzyme_sret" null, { {} addrspace(10)*, i8 }* "enzyme_sret" %"'ipa", [1 x {} addrspace(10)*]* null, i8 undef, {} addrspace(10)* %1, {} addrspace(10)* %"'1", {} addrspace(10)* %3, [4 x {} addrspace(10)*] addrspace(11)* %12, { { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i1 } %_augmented), !dbg !1462 | |
invertL21.i: ; No predecessors! | |
invertL29.i: ; No predecessors! | |
invertL33.i: ; No predecessors! | |
invertL56.i: ; No predecessors! | |
invertL59.i: ; No predecessors! | |
invertL67.i: ; No predecessors! | |
invertL72.i: ; No predecessors! | |
invertL84.i: ; No predecessors! | |
invertL92.i: ; No predecessors! | |
invertL97.i: ; No predecessors! | |
invertL118.i.lr.ph: ; No predecessors! | |
invertL118.i.lr.ph.L118.i.lr.ph.split_crit_edge: ; No predecessors! | |
invertL118.i.lr.ph.split.us: ; No predecessors! | |
invertL118.i.lr.ph.split.us.L118.i.lr.ph.split.us.split_crit_edge: ; No predecessors! | |
invertL118.i.lr.ph.split.us.split.us: ; No predecessors! | |
invertL118.i.lr.ph.split.us.split.us.new: ; No predecessors! | |
invertL118.i.us.us: ; No predecessors! | |
invertL115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa.loopexit: ; No predecessors! | |
invertL115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.us.unr-lcssa: ; No predecessors! | |
invertL118.i.us.us.epil.preheader: ; No predecessors! | |
invertL118.i.us.us.epil: ; No predecessors! | |
invertL118.i.lr.ph.split.us.split.new: ; No predecessors! | |
invertL118.i.us: ; No predecessors! | |
invertL115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa.loopexit: ; No predecessors! | |
invertL115.i.L150.i.loopexit_crit_edge.us-lcssa.us.us-lcssa.unr-lcssa: ; No predecessors! | |
invertL118.i.us.epil.preheader: ; No predecessors! | |
invertL118.i.us.epil: ; No predecessors! | |
invertL118.i.lr.ph.split.L118.i.lr.ph.split.split_crit_edge: ; No predecessors! | |
invertL118.i.lr.ph.split.split.us: ; No predecessors! | |
invertL118.i.lr.ph.split.split.us.new: ; No predecessors! | |
invertL118.i.us33: ; No predecessors! | |
invertL115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa.loopexit: ; No predecessors! | |
invertL115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.us.unr-lcssa: ; No predecessors! | |
invertL118.i.us33.epil.preheader: ; No predecessors! | |
invertL118.i.us33.epil: ; No predecessors! | |
invertL118.i.lr.ph.split.split.new: ; No predecessors! | |
invertL118.i: ; No predecessors! | |
invertL115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa.loopexit: ; No predecessors! | |
invertL115.i.L150.i.loopexit_crit_edge.us-lcssa.us-lcssa.unr-lcssa: ; No predecessors! | |
invertL118.i.epil.preheader: ; No predecessors! | |
invertL118.i.epil: ; No predecessors! | |
invertL150.i.loopexit: ; No predecessors! | |
invertL150.i.loopexit1: ; No predecessors! | |
invertL150.i.loopexit2: ; No predecessors! | |
invertL150.i.loopexit3: ; No predecessors! | |
invertL150.i: ; No predecessors! | |
invertL152.i: ; No predecessors! | |
invertoob.i: ; No predecessors! | |
invertjulia_get_loss__2048_inner.exit: ; preds = %julia_get_loss__2048_inner.exit | |
} | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc void @preprocess_julia__eval_tree_array_1_2070({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %0, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull readnone align 8 dereferenceable(8) %1, i8 zeroext %2, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %3, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %4, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %5) unnamed_addr #35 !dbg !1612 { | |
top: | |
%6 = call {}*** @julia.get_pgcstack() | |
%7 = call {}*** @julia.get_pgcstack() | |
%8 = bitcast {}*** %7 to {}** | |
%9 = getelementptr inbounds {}*, {}** %8, i64 -13 | |
%10 = getelementptr inbounds {}*, {}** %9, i64 15 | |
%11 = bitcast {}** %10 to i8** | |
%12 = load i8*, i8** %11, align 8 | |
%13 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) {} addrspace(10)* @jl_gc_alloc_typed(i8* %12, i64 16, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803860925520 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType({} addrspace(10)* %13, i8 0, i64 16), !enzyme_zerostack !37 | |
%14 = bitcast {} addrspace(10)* %13 to { {} addrspace(10)*, i8 } addrspace(10)*, !enzyme_caststack !37 | |
%15 = bitcast {}*** %6 to {}** | |
%16 = getelementptr inbounds {}*, {}** %15, i64 -13 | |
%17 = getelementptr inbounds {}*, {}** %16, i64 15 | |
%18 = bitcast {}** %17 to i8** | |
%19 = load i8*, i8** %18, align 8 | |
%20 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @jl_gc_alloc_typed(i8* %19, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809684404112 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.2({} addrspace(10)* %20, i8 0, i64 8), !enzyme_zerostack !37 | |
%21 = bitcast {} addrspace(10)* %20 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !37 | |
%22 = call {}*** @julia.get_pgcstack() #58 | |
%23 = bitcast {} addrspace(10)* %4 to {} addrspace(10)* addrspace(10)*, !dbg !1613 | |
%24 = addrspacecast {} addrspace(10)* addrspace(10)* %23 to {} addrspace(10)* addrspace(11)*, !dbg !1613 | |
%25 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %24, i64 4, !dbg !1613 | |
%26 = bitcast {} addrspace(10)* addrspace(11)* %25 to i64 addrspace(11)*, !dbg !1613 | |
%27 = load i64, i64 addrspace(11)* %26, align 16, !dbg !1613, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%28 = addrspacecast { {} addrspace(10)*, i8 } addrspace(10)* %14 to { {} addrspace(10)*, i8 }*, !dbg !1615 | |
%29 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %21 to [1 x {} addrspace(10)*]*, !dbg !1615 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %28, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %29, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %3, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %4, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %5) #59, !dbg !1615 | |
%.fca.0.gep = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %14, i64 0, i32 0 | |
%.fca.0.load = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %.fca.0.gep, align 8 | |
%.fca.1.gep = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %14, i64 0, i32 1 | |
%.fca.1.load = load i8, i8 addrspace(10)* %.fca.1.gep, align 8 | |
%.fca.0.insert27.pn = insertvalue { {} addrspace(10)*, i8 } undef, {} addrspace(10)* %.fca.0.load, 0 | |
%value_phi5 = insertvalue { {} addrspace(10)*, i8 } %.fca.0.insert27.pn, i8 %.fca.1.load, 1 | |
%30 = and i8 %.fca.1.load, 1, !dbg !1616 | |
%.not36.not = icmp eq i8 %30, 0, !dbg !1616 | |
br i1 %.not36.not, label %L59, label %L61, !dbg !1617 | |
common.ret: ; preds = %L113, %L110, %L59 | |
ret void, !dbg !1618 | |
L59: ; preds = %top | |
%31 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %.fca.0.load, 0, !dbg !1619 | |
%32 = insertvalue { {} addrspace(10)*, i8 } %31, i8 0, 1, !dbg !1619 | |
%33 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1619 | |
store { {} addrspace(10)*, i8 } %32, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1619, !noalias !1620 | |
br label %common.ret | |
L61: ; preds = %top | |
%34 = bitcast {} addrspace(10)* %.fca.0.load to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1623 | |
%35 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %34 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1623 | |
%36 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %35, i64 0, i32 1, !dbg !1623 | |
%37 = load i64, i64 addrspace(11)* %36, align 8, !dbg !1623, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %37, label %L73 [ | |
i64 0, label %L103 | |
i64 1, label %L71 | |
], !dbg !1638 | |
L71: ; preds = %L61 | |
%38 = bitcast {} addrspace(10)* %.fca.0.load to double addrspace(13)* addrspace(10)*, !dbg !1639 | |
%39 = addrspacecast double addrspace(13)* addrspace(10)* %38 to double addrspace(13)* addrspace(11)*, !dbg !1639 | |
%40 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %39, align 8, !dbg !1639, !tbaa !87, !alias.scope !1641, !noalias !91, !nonnull !37 | |
%41 = load double, double addrspace(13)* %40, align 8, !dbg !1639, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L103, !dbg !1642 | |
L73: ; preds = %L61 | |
%42 = icmp ugt i64 %37, 15, !dbg !1643 | |
br i1 %42, label %L89, label %L75, !dbg !1644 | |
L75: ; preds = %L73 | |
%43 = bitcast {} addrspace(10)* %.fca.0.load to double addrspace(13)* addrspace(10)*, !dbg !1645 | |
%44 = addrspacecast double addrspace(13)* addrspace(10)* %43 to double addrspace(13)* addrspace(11)*, !dbg !1645 | |
%45 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %44, align 8, !dbg !1645, !tbaa !87, !alias.scope !1641, !noalias !91, !nonnull !37 | |
%46 = load double, double addrspace(13)* %45, align 8, !dbg !1645, !tbaa !67, !alias.scope !70, !noalias !71 | |
%47 = getelementptr inbounds double, double addrspace(13)* %45, i64 1, !dbg !1647 | |
%48 = load double, double addrspace(13)* %47, align 8, !dbg !1647, !tbaa !67, !alias.scope !70, !noalias !71 | |
%49 = fadd double %46, %48, !dbg !1649 | |
%.not3943 = icmp ugt i64 %37, 2, !dbg !1652 | |
br i1 %.not3943, label %L84.lr.ph, label %L103, !dbg !1653 | |
L84.lr.ph: ; preds = %L75 | |
%50 = add nsw i64 %37, -2, !dbg !1653 | |
%51 = add nsw i64 %37, -3, !dbg !1653 | |
%xtraiter = and i64 %50, 7, !dbg !1653 | |
%52 = icmp ult i64 %51, 7, !dbg !1653 | |
br i1 %52, label %L78.L103.loopexit_crit_edge.unr-lcssa, label %L84.lr.ph.new, !dbg !1653 | |
L84.lr.ph.new: ; preds = %L84.lr.ph | |
%unroll_iter = and i64 %50, -8, !dbg !1653 | |
br label %L84, !dbg !1653 | |
L84: ; preds = %L84, %L84.lr.ph.new | |
%iv = phi i64 [ %iv.next, %L84 ], [ 0, %L84.lr.ph.new ] | |
%value_phi744 = phi double [ %49, %L84.lr.ph.new ], [ %87, %L84 ] | |
%53 = shl i64 %iv, 3, !dbg !1654 | |
%iv.next = add nuw nsw i64 %iv, 1, !dbg !1654 | |
%54 = shl i64 %iv, 3, !dbg !1654 | |
%55 = add i64 %54, 2, !dbg !1654 | |
%56 = or i64 %55, 1, !dbg !1654 | |
%57 = getelementptr inbounds double, double addrspace(13)* %45, i64 %55, !dbg !1656 | |
%58 = load double, double addrspace(13)* %57, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%59 = fadd double %value_phi744, %58, !dbg !1657 | |
%60 = add nuw nsw i64 %55, 2, !dbg !1654 | |
%61 = getelementptr inbounds double, double addrspace(13)* %45, i64 %56, !dbg !1656 | |
%62 = load double, double addrspace(13)* %61, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%63 = fadd double %59, %62, !dbg !1657 | |
%64 = add nuw nsw i64 %55, 3, !dbg !1654 | |
%65 = getelementptr inbounds double, double addrspace(13)* %45, i64 %60, !dbg !1656 | |
%66 = load double, double addrspace(13)* %65, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%67 = fadd double %63, %66, !dbg !1657 | |
%68 = add nuw nsw i64 %55, 4, !dbg !1654 | |
%69 = getelementptr inbounds double, double addrspace(13)* %45, i64 %64, !dbg !1656 | |
%70 = load double, double addrspace(13)* %69, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%71 = fadd double %67, %70, !dbg !1657 | |
%72 = add nuw nsw i64 %55, 5, !dbg !1654 | |
%73 = getelementptr inbounds double, double addrspace(13)* %45, i64 %68, !dbg !1656 | |
%74 = load double, double addrspace(13)* %73, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%75 = fadd double %71, %74, !dbg !1657 | |
%76 = add nuw nsw i64 %55, 6, !dbg !1654 | |
%77 = getelementptr inbounds double, double addrspace(13)* %45, i64 %72, !dbg !1656 | |
%78 = load double, double addrspace(13)* %77, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%79 = fadd double %75, %78, !dbg !1657 | |
%80 = add nuw nsw i64 %55, 7, !dbg !1654 | |
%81 = getelementptr inbounds double, double addrspace(13)* %45, i64 %76, !dbg !1656 | |
%82 = load double, double addrspace(13)* %81, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%83 = fadd double %79, %82, !dbg !1657 | |
%84 = add nuw nsw i64 %55, 8, !dbg !1654 | |
%85 = getelementptr inbounds double, double addrspace(13)* %45, i64 %80, !dbg !1656 | |
%86 = load double, double addrspace(13)* %85, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%87 = fadd double %83, %86, !dbg !1657 | |
%niter.next.7 = add i64 %53, 8, !dbg !1653 | |
%niter.ncmp.7.not = icmp eq i64 %niter.next.7, %unroll_iter, !dbg !1653 | |
br i1 %niter.ncmp.7.not, label %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit, label %L84, !dbg !1653 | |
L89: ; preds = %L73 | |
%88 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %.fca.0.load, i64 noundef signext 1, i64 signext %37, i64 noundef signext 1024) #59, !dbg !1660 | |
br label %L103, !dbg !1661 | |
L78.L103.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L84 | |
%89 = or i64 %unroll_iter, 2, !dbg !1653 | |
br label %L78.L103.loopexit_crit_edge.unr-lcssa, !dbg !1653 | |
L78.L103.loopexit_crit_edge.unr-lcssa: ; preds = %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit, %L84.lr.ph | |
%.lcssa.ph = phi double [ undef, %L84.lr.ph ], [ %87, %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi845.unr = phi i64 [ 2, %L84.lr.ph ], [ %89, %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi744.unr = phi double [ %49, %L84.lr.ph ], [ %87, %L78.L103.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !1653 | |
br i1 %lcmp.mod.not, label %L103, label %L84.epil.preheader, !dbg !1653 | |
L84.epil.preheader: ; preds = %L78.L103.loopexit_crit_edge.unr-lcssa | |
br label %L84.epil, !dbg !1653 | |
L84.epil: ; preds = %L84.epil.preheader, %L84.epil | |
%iv1 = phi i64 [ 0, %L84.epil.preheader ], [ %iv.next2, %L84.epil ] | |
%value_phi744.epil = phi double [ %94, %L84.epil ], [ %value_phi744.unr, %L84.epil.preheader ] | |
%90 = add i64 %value_phi845.unr, %iv1, !dbg !1654 | |
%iv.next2 = add nuw nsw i64 %iv1, 1, !dbg !1654 | |
%91 = add nuw nsw i64 %90, 1, !dbg !1654 | |
%92 = getelementptr inbounds double, double addrspace(13)* %45, i64 %90, !dbg !1656 | |
%93 = load double, double addrspace(13)* %92, align 8, !dbg !1656, !tbaa !67, !alias.scope !70, !noalias !71 | |
%94 = fadd double %value_phi744.epil, %93, !dbg !1657 | |
%epil.iter.cmp.not = icmp eq i64 %iv.next2, %xtraiter, !dbg !1653 | |
br i1 %epil.iter.cmp.not, label %L103.loopexit, label %L84.epil, !dbg !1653, !llvm.loop !1662 | |
L103.loopexit: ; preds = %L84.epil | |
br label %L103, !dbg !1663 | |
L103: ; preds = %L103.loopexit, %L78.L103.loopexit_crit_edge.unr-lcssa, %L89, %L75, %L71, %L61 | |
%value_phi6 = phi double [ %41, %L71 ], [ %88, %L89 ], [ 0.000000e+00, %L61 ], [ %49, %L75 ], [ %.lcssa.ph, %L78.L103.loopexit_crit_edge.unr-lcssa ], [ %94, %L103.loopexit ] | |
%95 = fsub double %value_phi6, %value_phi6, !dbg !1663 | |
%96 = fcmp oeq double %95, 0.000000e+00, !dbg !1665 | |
br i1 %96, label %L113, label %L110, !dbg !1637 | |
L110: ; preds = %L103 | |
%97 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %27) #58, !dbg !1667 | |
%98 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %97, 0, !dbg !1668 | |
%99 = insertvalue { {} addrspace(10)*, i8 } %98, i8 0, 1, !dbg !1668 | |
%100 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1668 | |
store { {} addrspace(10)*, i8 } %99, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1668, !noalias !1620 | |
br label %common.ret | |
L113: ; preds = %L103 | |
%101 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1669 | |
store { {} addrspace(10)*, i8 } %value_phi5, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1669, !noalias !1620 | |
br label %common.ret | |
} | |
declare {} addrspace(10)* @jl_gc_alloc_typed(i8*, i64, {} addrspace(10)*) | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to { {} addrspace(10)*, i8 } addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 16 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.2({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to [1 x {} addrspace(10)*] addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 8 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc void @preprocess_julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %0, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull writeonly align 8 dereferenceable(8) %1, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %2, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) unnamed_addr #37 !dbg !1670 { | |
top: | |
%5 = call {}*** @julia.get_pgcstack() | |
%6 = call {}*** @julia.get_pgcstack() | |
%7 = call {}*** @julia.get_pgcstack() | |
%8 = call {}*** @julia.get_pgcstack() | |
%9 = call {}*** @julia.get_pgcstack() | |
%10 = call {}*** @julia.get_pgcstack() | |
%11 = call {}*** @julia.get_pgcstack() | |
%12 = call {}*** @julia.get_pgcstack() | |
%13 = call {}*** @julia.get_pgcstack() | |
%14 = call {}*** @julia.get_pgcstack() | |
%15 = call {}*** @julia.get_pgcstack() | |
%16 = call {}*** @julia.get_pgcstack() | |
%17 = bitcast {}*** %11 to {}** | |
%18 = getelementptr inbounds {}*, {}** %17, i64 -13 | |
%19 = getelementptr inbounds {}*, {}** %18, i64 15 | |
%20 = bitcast {}** %19 to i8** | |
%21 = load i8*, i8** %20, align 8 | |
%22 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @jl_gc_alloc_typed(i8* %21, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809684404112 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.8({} addrspace(10)* %22, i8 0, i64 8), !enzyme_zerostack !37 | |
%23 = bitcast {} addrspace(10)* %22 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !37 | |
%24 = bitcast {}*** %12 to {}** | |
%25 = getelementptr inbounds {}*, {}** %24, i64 -13 | |
%26 = getelementptr inbounds {}*, {}** %25, i64 15 | |
%27 = bitcast {}** %26 to i8** | |
%28 = load i8*, i8** %27, align 8 | |
%29 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) {} addrspace(10)* @jl_gc_alloc_typed(i8* %28, i64 16, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803860925520 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.7({} addrspace(10)* %29, i8 0, i64 16), !enzyme_zerostack !37 | |
%30 = bitcast {} addrspace(10)* %29 to { {} addrspace(10)*, i8 } addrspace(10)*, !enzyme_caststack !37 | |
%31 = bitcast {}*** %10 to {}** | |
%32 = getelementptr inbounds {}*, {}** %31, i64 -13 | |
%33 = getelementptr inbounds {}*, {}** %32, i64 15 | |
%34 = bitcast {}** %33 to i8** | |
%35 = load i8*, i8** %34, align 8 | |
%36 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) {} addrspace(10)* @jl_gc_alloc_typed(i8* %35, i64 16, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803860925520 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.9({} addrspace(10)* %36, i8 0, i64 16), !enzyme_zerostack !37 | |
%37 = bitcast {} addrspace(10)* %36 to { {} addrspace(10)*, i8 } addrspace(10)*, !enzyme_caststack !37 | |
%38 = bitcast {}*** %13 to {}** | |
%39 = getelementptr inbounds {}*, {}** %38, i64 -13 | |
%40 = getelementptr inbounds {}*, {}** %39, i64 15 | |
%41 = bitcast {}** %40 to i8** | |
%42 = load i8*, i8** %41, align 8 | |
%43 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @jl_gc_alloc_typed(i8* %42, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809684404112 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.6({} addrspace(10)* %43, i8 0, i64 8), !enzyme_zerostack !37 | |
%44 = bitcast {} addrspace(10)* %43 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !37 | |
%45 = bitcast {}*** %9 to {}** | |
%46 = getelementptr inbounds {}*, {}** %45, i64 -13 | |
%47 = getelementptr inbounds {}*, {}** %46, i64 15 | |
%48 = bitcast {}** %47 to i8** | |
%49 = load i8*, i8** %48, align 8 | |
%50 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @jl_gc_alloc_typed(i8* %49, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809684404112 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.10({} addrspace(10)* %50, i8 0, i64 8), !enzyme_zerostack !37 | |
%51 = bitcast {} addrspace(10)* %50 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !37 | |
%52 = bitcast {}*** %14 to {}** | |
%53 = getelementptr inbounds {}*, {}** %52, i64 -13 | |
%54 = getelementptr inbounds {}*, {}** %53, i64 15 | |
%55 = bitcast {}** %54 to i8** | |
%56 = load i8*, i8** %55, align 8 | |
%57 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) {} addrspace(10)* @jl_gc_alloc_typed(i8* %56, i64 16, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803860925520 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.5({} addrspace(10)* %57, i8 0, i64 16), !enzyme_zerostack !37 | |
%58 = bitcast {} addrspace(10)* %57 to { {} addrspace(10)*, i8 } addrspace(10)*, !enzyme_caststack !37 | |
%59 = bitcast {}*** %8 to {}** | |
%60 = getelementptr inbounds {}*, {}** %59, i64 -13 | |
%61 = getelementptr inbounds {}*, {}** %60, i64 15 | |
%62 = bitcast {}** %61 to i8** | |
%63 = load i8*, i8** %62, align 8 | |
%64 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) {} addrspace(10)* @jl_gc_alloc_typed(i8* %63, i64 16, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803860925520 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.11({} addrspace(10)* %64, i8 0, i64 16), !enzyme_zerostack !37 | |
%65 = bitcast {} addrspace(10)* %64 to { {} addrspace(10)*, i8 } addrspace(10)*, !enzyme_caststack !37 | |
%66 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !162 | |
call void @llvm.memset.p0i8.i64(i8* %66, i8 0, i64 16, i1 false), !enzyme_zerostack !37 | |
%67 = bitcast i8* %66 to { double, i8 }*, !enzyme_caststack !37 | |
%68 = bitcast {}*** %7 to {}** | |
%69 = getelementptr inbounds {}*, {}** %68, i64 -13 | |
%70 = getelementptr inbounds {}*, {}** %69, i64 15 | |
%71 = bitcast {}** %70 to i8** | |
%72 = load i8*, i8** %71, align 8 | |
%73 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @jl_gc_alloc_typed(i8* %72, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809684404112 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.12({} addrspace(10)* %73, i8 0, i64 8), !enzyme_zerostack !37 | |
%74 = bitcast {} addrspace(10)* %73 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !37 | |
%75 = bitcast {}*** %15 to {}** | |
%76 = getelementptr inbounds {}*, {}** %75, i64 -13 | |
%77 = getelementptr inbounds {}*, {}** %76, i64 15 | |
%78 = bitcast {}** %77 to i8** | |
%79 = load i8*, i8** %78, align 8 | |
%80 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @jl_gc_alloc_typed(i8* %79, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809684404112 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.4({} addrspace(10)* %80, i8 0, i64 8), !enzyme_zerostack !37 | |
%81 = bitcast {} addrspace(10)* %80 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !37 | |
%82 = bitcast {}*** %6 to {}** | |
%83 = getelementptr inbounds {}*, {}** %82, i64 -13 | |
%84 = getelementptr inbounds {}*, {}** %83, i64 15 | |
%85 = bitcast {}** %84 to i8** | |
%86 = load i8*, i8** %85, align 8 | |
%87 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) {} addrspace(10)* @jl_gc_alloc_typed(i8* %86, i64 16, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803860925520 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.13({} addrspace(10)* %87, i8 0, i64 16), !enzyme_zerostack !37 | |
%88 = bitcast {} addrspace(10)* %87 to { {} addrspace(10)*, i8 } addrspace(10)*, !enzyme_caststack !37 | |
%89 = bitcast {}*** %16 to {}** | |
%90 = getelementptr inbounds {}*, {}** %89, i64 -13 | |
%91 = getelementptr inbounds {}*, {}** %90, i64 15 | |
%92 = bitcast {}** %91 to i8** | |
%93 = load i8*, i8** %92, align 8 | |
%94 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) {} addrspace(10)* @jl_gc_alloc_typed(i8* %93, i64 16, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803860925520 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.3({} addrspace(10)* %94, i8 0, i64 16), !enzyme_zerostack !37 | |
%95 = bitcast {} addrspace(10)* %94 to { {} addrspace(10)*, i8 } addrspace(10)*, !enzyme_caststack !37 | |
%96 = bitcast {}*** %5 to {}** | |
%97 = getelementptr inbounds {}*, {}** %96, i64 -13 | |
%98 = getelementptr inbounds {}*, {}** %97, i64 15 | |
%99 = bitcast {}** %98 to i8** | |
%100 = load i8*, i8** %99, align 8 | |
%101 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) {} addrspace(10)* @jl_gc_alloc_typed(i8* %100, i64 8, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809684404112 to {}*) to {} addrspace(10)*)), !enzyme_fromstack !162 | |
call void @zeroType.14({} addrspace(10)* %101, i8 0, i64 8), !enzyme_zerostack !37 | |
%102 = bitcast {} addrspace(10)* %101 to [1 x {} addrspace(10)*] addrspace(10)*, !enzyme_caststack !37 | |
%103 = call {}*** @julia.get_pgcstack() #58 | |
%104 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !1671 | |
%105 = addrspacecast {} addrspace(10)* addrspace(10)* %104 to {} addrspace(10)* addrspace(11)*, !dbg !1671 | |
%106 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %105, i64 4, !dbg !1671 | |
%107 = bitcast {} addrspace(10)* addrspace(11)* %106 to i64 addrspace(11)*, !dbg !1671 | |
%108 = load i64, i64 addrspace(11)* %107, align 16, !dbg !1671, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%109 = bitcast {} addrspace(10)* %2 to i64 addrspace(10)*, !dbg !1673 | |
%110 = addrspacecast i64 addrspace(10)* %109 to i64 addrspace(11)*, !dbg !1673 | |
%111 = load i64, i64 addrspace(11)* %110, align 8, !dbg !1673, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %111, label %L18 [ | |
i64 0, label %L5 | |
i64 1, label %L15 | |
], !dbg !1674 | |
common.ret: ; preds = %pass36, %pass24, %L440, %L437, %L386, %L377, %L326, %L318, %L315, %L264, %L252, %L249, %L198, %L186, %L170, %L167, %L116, %L67, %L32, %L5 | |
ret void, !dbg !1675 | |
L5: ; preds = %top | |
%112 = addrspacecast { {} addrspace(10)*, i8 } addrspace(10)* %95 to { {} addrspace(10)*, i8 }*, !dbg !1676 | |
%113 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %81 to [1 x {} addrspace(10)*]*, !dbg !1676 | |
call fastcc void @julia_deg0_eval_2091({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %112, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(8) %113, {} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %2, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3) #59, !dbg !1676 | |
%114 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %95, i64 0, i32 0, !dbg !1676 | |
%115 = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %114, align 8, !dbg !1676 | |
%116 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1676 | |
store {} addrspace(10)* %115, {} addrspace(10)** %116, align 8, !dbg !1676, !noalias !1677 | |
%117 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1676 | |
%118 = bitcast { {} addrspace(10)*, i8 } addrspace(10)* %95 to i8 addrspace(10)*, !dbg !1676 | |
call void @llvm.memcpy.p0i8.p10i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %117, i8 addrspace(10)* noundef nonnull align 8 dereferenceable(16) %118, i64 noundef 16, i1 noundef false) #58, !dbg !1676, !noalias !1677 | |
br label %common.ret | |
L15: ; preds = %top | |
%119 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !1680 | |
%120 = addrspacecast i8 addrspace(10)* %119 to i8 addrspace(11)*, !dbg !1680 | |
%121 = getelementptr inbounds i8, i8 addrspace(11)* %120, i64 48, !dbg !1680 | |
%122 = bitcast i8 addrspace(11)* %121 to {} addrspace(10)* addrspace(11)*, !dbg !1680 | |
%123 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %122 unordered, align 8, !dbg !1680, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not187 = icmp eq {} addrspace(10)* %123, null, !dbg !1680 | |
br i1 %.not187, label %fail74, label %pass75, !dbg !1680 | |
L18: ; preds = %top | |
%124 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !1683 | |
%125 = addrspacecast i8 addrspace(10)* %124 to i8 addrspace(11)*, !dbg !1683 | |
%126 = getelementptr inbounds i8, i8 addrspace(11)* %125, i64 48, !dbg !1683 | |
%127 = bitcast i8 addrspace(11)* %126 to {} addrspace(10)* addrspace(11)*, !dbg !1683 | |
%128 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %127 unordered, align 8, !dbg !1683, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not188 = icmp eq {} addrspace(10)* %128, null, !dbg !1683 | |
br i1 %.not188, label %fail76, label %pass77, !dbg !1683 | |
L21: ; preds = %pass77 | |
%129 = getelementptr inbounds i8, i8 addrspace(11)* %125, i64 56, !dbg !1683 | |
%130 = bitcast i8 addrspace(11)* %129 to {} addrspace(10)* addrspace(11)*, !dbg !1683 | |
%131 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %130 unordered, align 8, !dbg !1683, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not190 = icmp eq {} addrspace(10)* %131, null, !dbg !1683 | |
br i1 %.not190, label %fail78, label %pass79, !dbg !1683 | |
L25: ; preds = %pass79, %pass75 | |
%value_phi = phi i8 [ %726, %pass75 ], [ %729, %pass79 ] | |
%132 = and i8 %value_phi, 1, !dbg !1682 | |
%.not128 = icmp eq i8 %132, 0, !dbg !1682 | |
br i1 %.not128, label %L69, label %L27, !dbg !1682 | |
L27: ; preds = %L25 | |
call fastcc void @julia__eval_constant_tree_2089({ double, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ double, i8 }) align 8 dereferenceable(16) %67, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %2, [4 x {} addrspace(10)*] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(32) %4) #59, !dbg !1685 | |
%133 = getelementptr inbounds { double, i8 }, { double, i8 }* %67, i64 0, i32 0, !dbg !1686 | |
%134 = getelementptr inbounds { double, i8 }, { double, i8 }* %67, i64 0, i32 1, !dbg !1687 | |
%135 = load i8, i8* %134, align 8, !dbg !1688, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not129.not = icmp eq i8 %135, 0, !dbg !1688 | |
br i1 %.not129.not, label %L32, label %L36, !dbg !1689 | |
L32: ; preds = %L27 | |
%136 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %108) #58, !dbg !1690 | |
%137 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %136, 0, !dbg !1689 | |
%138 = insertvalue { {} addrspace(10)*, i8 } %137, i8 0, 1, !dbg !1689 | |
%139 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1689 | |
store {} addrspace(10)* %136, {} addrspace(10)** %139, align 8, !dbg !1689, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %138, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1689, !noalias !1677 | |
br label %common.ret | |
L36: ; preds = %L27 | |
%140 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %108) #58, !dbg !1691 | |
%141 = bitcast {} addrspace(10)* %140 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1696 | |
%142 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %141 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1696 | |
%143 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %142, i64 0, i32 1, !dbg !1696 | |
%144 = load i64, i64 addrspace(11)* %143, align 8, !dbg !1696, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not130.not = icmp eq i64 %144, 0, !dbg !1701 | |
br i1 %.not130.not, label %L67, label %L50.preheader, !dbg !1700 | |
L50.preheader: ; preds = %L36 | |
%145 = bitcast {} addrspace(10)* %140 to double addrspace(13)* addrspace(10)* | |
%146 = addrspacecast double addrspace(13)* addrspace(10)* %145 to double addrspace(13)* addrspace(11)* | |
%147 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %146, align 8, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%148 = load double, double* %133, align 8, !tbaa !335, !alias.scope !337, !noalias !547 | |
%149 = add nsw i64 %144, -1, !dbg !1706 | |
%xtraiter245 = and i64 %144, 7, !dbg !1706 | |
%150 = icmp ult i64 %149, 7, !dbg !1706 | |
br i1 %150, label %L67.loopexit.unr-lcssa, label %L50.preheader.new, !dbg !1706 | |
L50.preheader.new: ; preds = %L50.preheader | |
%unroll_iter248 = and i64 %144, 9223372036854775800, !dbg !1706 | |
br label %L50, !dbg !1706 | |
L50: ; preds = %L50, %L50.preheader.new | |
%iv = phi i64 [ %iv.next, %L50 ], [ 0, %L50.preheader.new ] | |
%151 = shl i64 %iv, 3, !dbg !1707 | |
%iv.next = add nuw nsw i64 %iv, 1, !dbg !1707 | |
%152 = shl i64 %iv, 3, !dbg !1707 | |
%153 = add i64 %152, 1, !dbg !1707 | |
%154 = add nsw i64 %153, -1, !dbg !1707 | |
%155 = getelementptr inbounds double, double addrspace(13)* %147, i64 %154, !dbg !1707 | |
store double %148, double addrspace(13)* %155, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%156 = add nuw nsw i64 %153, 1, !dbg !1710 | |
%157 = getelementptr inbounds double, double addrspace(13)* %147, i64 %153, !dbg !1707 | |
store double %148, double addrspace(13)* %157, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%158 = add nuw nsw i64 %153, 2, !dbg !1710 | |
%159 = getelementptr inbounds double, double addrspace(13)* %147, i64 %156, !dbg !1707 | |
store double %148, double addrspace(13)* %159, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%160 = add nuw nsw i64 %153, 3, !dbg !1710 | |
%161 = getelementptr inbounds double, double addrspace(13)* %147, i64 %158, !dbg !1707 | |
store double %148, double addrspace(13)* %161, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%162 = add nuw nsw i64 %153, 4, !dbg !1710 | |
%163 = getelementptr inbounds double, double addrspace(13)* %147, i64 %160, !dbg !1707 | |
store double %148, double addrspace(13)* %163, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%164 = add nuw nsw i64 %153, 5, !dbg !1710 | |
%165 = getelementptr inbounds double, double addrspace(13)* %147, i64 %162, !dbg !1707 | |
store double %148, double addrspace(13)* %165, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%166 = add nuw nsw i64 %153, 6, !dbg !1710 | |
%167 = getelementptr inbounds double, double addrspace(13)* %147, i64 %164, !dbg !1707 | |
store double %148, double addrspace(13)* %167, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%168 = getelementptr inbounds double, double addrspace(13)* %147, i64 %166, !dbg !1707 | |
store double %148, double addrspace(13)* %168, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%169 = add nuw nsw i64 %153, 8, !dbg !1710 | |
%niter249.next.7 = add nuw i64 %151, 8, !dbg !1706 | |
%niter249.ncmp.7 = icmp eq i64 %niter249.next.7, %unroll_iter248, !dbg !1706 | |
br i1 %niter249.ncmp.7, label %L67.loopexit.unr-lcssa.loopexit, label %L50, !dbg !1706 | |
L67.loopexit.unr-lcssa.loopexit: ; preds = %L50 | |
br label %L67.loopexit.unr-lcssa, !dbg !1706 | |
L67.loopexit.unr-lcssa: ; preds = %L67.loopexit.unr-lcssa.loopexit, %L50.preheader | |
%value_phi4.unr = phi i64 [ 1, %L50.preheader ], [ %169, %L67.loopexit.unr-lcssa.loopexit ] | |
%lcmp.mod247.not = icmp eq i64 %xtraiter245, 0, !dbg !1706 | |
br i1 %lcmp.mod247.not, label %L67, label %L50.epil.preheader, !dbg !1706 | |
L50.epil.preheader: ; preds = %L67.loopexit.unr-lcssa | |
br label %L50.epil, !dbg !1706 | |
L50.epil: ; preds = %L50.epil.preheader, %L50.epil | |
%iv1 = phi i64 [ 0, %L50.epil.preheader ], [ %iv.next2, %L50.epil ] | |
%170 = add i64 %value_phi4.unr, %iv1, !dbg !1707 | |
%iv.next2 = add nuw nsw i64 %iv1, 1, !dbg !1707 | |
%171 = add nsw i64 %170, -1, !dbg !1707 | |
%172 = getelementptr inbounds double, double addrspace(13)* %147, i64 %171, !dbg !1707 | |
store double %148, double addrspace(13)* %172, align 8, !dbg !1707, !tbaa !67, !alias.scope !70, !noalias !1709 | |
%173 = add nuw nsw i64 %170, 1, !dbg !1710 | |
%epil.iter246.cmp.not = icmp eq i64 %iv.next2, %xtraiter245, !dbg !1706 | |
br i1 %epil.iter246.cmp.not, label %L67.loopexit, label %L50.epil, !dbg !1706, !llvm.loop !1711 | |
L67.loopexit: ; preds = %L50.epil | |
br label %L67, !dbg !1695 | |
L67: ; preds = %L67.loopexit, %L67.loopexit.unr-lcssa, %L36 | |
%174 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %140, 0, !dbg !1695 | |
%175 = insertvalue { {} addrspace(10)*, i8 } %174, i8 1, 1, !dbg !1695 | |
%176 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1695 | |
store {} addrspace(10)* %140, {} addrspace(10)** %176, align 8, !dbg !1695, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %175, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1695, !noalias !1677 | |
br label %common.ret | |
L69: ; preds = %pass77, %L25 | |
%177 = load i64, i64 addrspace(11)* %110, align 8, !dbg !1712, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %177, label %L442 [ | |
i64 1, label %L72 | |
i64 2, label %L175 | |
], !dbg !1713 | |
L72: ; preds = %L69 | |
%178 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %4, i64 0, i64 1, !dbg !1714 | |
%179 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %178 unordered, align 8, !dbg !1714, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%180 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !1714 | |
%181 = addrspacecast i8 addrspace(10)* %180 to i8 addrspace(11)*, !dbg !1714 | |
%182 = getelementptr inbounds i8, i8 addrspace(11)* %181, i64 40, !dbg !1714 | |
%183 = bitcast i8 addrspace(11)* %182 to i64 addrspace(11)*, !dbg !1714 | |
%184 = load i64, i64 addrspace(11)* %183, align 8, !dbg !1714, !tbaa !154, !alias.scope !70, !noalias !71 | |
%185 = add i64 %184, -1, !dbg !1716 | |
%186 = bitcast {} addrspace(10)* %179 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1716 | |
%187 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %186 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1716 | |
%188 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %187, i64 0, i32 1, !dbg !1716 | |
%189 = load i64, i64 addrspace(11)* %188, align 8, !dbg !1716, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%190 = icmp ult i64 %185, %189, !dbg !1716 | |
br i1 %190, label %idxend, label %oob, !dbg !1716 | |
L116: ; preds = %pass38 | |
%191 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %680, 0, !dbg !1717 | |
%192 = insertvalue { {} addrspace(10)*, i8 } %191, i8 0, 1, !dbg !1717 | |
%193 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1717 | |
store {} addrspace(10)* %680, {} addrspace(10)** %193, align 8, !dbg !1717, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %192, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1717, !noalias !1677 | |
br label %common.ret | |
L118: ; preds = %pass38 | |
%194 = bitcast {} addrspace(10)* %680 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1719 | |
%195 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %194 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1719 | |
%196 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %195, i64 0, i32 1, !dbg !1719 | |
%197 = load i64, i64 addrspace(11)* %196, align 8, !dbg !1719, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %197, label %L130 [ | |
i64 0, label %L160 | |
i64 1, label %L128 | |
], !dbg !1734 | |
L128: ; preds = %L118 | |
%198 = bitcast {} addrspace(10)* %680 to double addrspace(13)* addrspace(10)*, !dbg !1735 | |
%199 = addrspacecast double addrspace(13)* addrspace(10)* %198 to double addrspace(13)* addrspace(11)*, !dbg !1735 | |
%200 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %199, align 16, !dbg !1735, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%201 = load double, double addrspace(13)* %200, align 8, !dbg !1735, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L160, !dbg !1710 | |
L130: ; preds = %L118 | |
%202 = icmp ugt i64 %197, 15, !dbg !1737 | |
br i1 %202, label %L146, label %L132, !dbg !1738 | |
L132: ; preds = %L130 | |
%203 = bitcast {} addrspace(10)* %680 to double addrspace(13)* addrspace(10)*, !dbg !1739 | |
%204 = addrspacecast double addrspace(13)* addrspace(10)* %203 to double addrspace(13)* addrspace(11)*, !dbg !1739 | |
%205 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %204, align 16, !dbg !1739, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%206 = load double, double addrspace(13)* %205, align 8, !dbg !1739, !tbaa !67, !alias.scope !70, !noalias !71 | |
%207 = getelementptr inbounds double, double addrspace(13)* %205, i64 1, !dbg !1741 | |
%208 = load double, double addrspace(13)* %207, align 8, !dbg !1741, !tbaa !67, !alias.scope !70, !noalias !71 | |
%209 = fadd double %206, %208, !dbg !1743 | |
%.not155193 = icmp ugt i64 %197, 2, !dbg !1746 | |
br i1 %.not155193, label %L141.lr.ph, label %L160, !dbg !1747 | |
L141.lr.ph: ; preds = %L132 | |
%210 = add nsw i64 %197, -2, !dbg !1747 | |
%211 = add nsw i64 %197, -3, !dbg !1747 | |
%xtraiter = and i64 %210, 7, !dbg !1747 | |
%212 = icmp ult i64 %211, 7, !dbg !1747 | |
br i1 %212, label %L135.L160.loopexit_crit_edge.unr-lcssa, label %L141.lr.ph.new, !dbg !1747 | |
L141.lr.ph.new: ; preds = %L141.lr.ph | |
%unroll_iter = and i64 %210, -8, !dbg !1747 | |
br label %L141, !dbg !1747 | |
L141: ; preds = %L141, %L141.lr.ph.new | |
%iv19 = phi i64 [ %iv.next20, %L141 ], [ 0, %L141.lr.ph.new ] | |
%value_phi40194 = phi double [ %209, %L141.lr.ph.new ], [ %247, %L141 ] | |
%213 = shl i64 %iv19, 3, !dbg !1748 | |
%iv.next20 = add nuw nsw i64 %iv19, 1, !dbg !1748 | |
%214 = shl i64 %iv19, 3, !dbg !1748 | |
%215 = add i64 %214, 2, !dbg !1748 | |
%216 = or i64 %215, 1, !dbg !1748 | |
%217 = getelementptr inbounds double, double addrspace(13)* %205, i64 %215, !dbg !1750 | |
%218 = load double, double addrspace(13)* %217, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%219 = fadd double %value_phi40194, %218, !dbg !1751 | |
%220 = add nuw nsw i64 %215, 2, !dbg !1748 | |
%221 = getelementptr inbounds double, double addrspace(13)* %205, i64 %216, !dbg !1750 | |
%222 = load double, double addrspace(13)* %221, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%223 = fadd double %219, %222, !dbg !1751 | |
%224 = add nuw nsw i64 %215, 3, !dbg !1748 | |
%225 = getelementptr inbounds double, double addrspace(13)* %205, i64 %220, !dbg !1750 | |
%226 = load double, double addrspace(13)* %225, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%227 = fadd double %223, %226, !dbg !1751 | |
%228 = add nuw nsw i64 %215, 4, !dbg !1748 | |
%229 = getelementptr inbounds double, double addrspace(13)* %205, i64 %224, !dbg !1750 | |
%230 = load double, double addrspace(13)* %229, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%231 = fadd double %227, %230, !dbg !1751 | |
%232 = add nuw nsw i64 %215, 5, !dbg !1748 | |
%233 = getelementptr inbounds double, double addrspace(13)* %205, i64 %228, !dbg !1750 | |
%234 = load double, double addrspace(13)* %233, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%235 = fadd double %231, %234, !dbg !1751 | |
%236 = add nuw nsw i64 %215, 6, !dbg !1748 | |
%237 = getelementptr inbounds double, double addrspace(13)* %205, i64 %232, !dbg !1750 | |
%238 = load double, double addrspace(13)* %237, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%239 = fadd double %235, %238, !dbg !1751 | |
%240 = add nuw nsw i64 %215, 7, !dbg !1748 | |
%241 = getelementptr inbounds double, double addrspace(13)* %205, i64 %236, !dbg !1750 | |
%242 = load double, double addrspace(13)* %241, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%243 = fadd double %239, %242, !dbg !1751 | |
%244 = add nuw nsw i64 %215, 8, !dbg !1748 | |
%245 = getelementptr inbounds double, double addrspace(13)* %205, i64 %240, !dbg !1750 | |
%246 = load double, double addrspace(13)* %245, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%247 = fadd double %243, %246, !dbg !1751 | |
%niter.next.7 = add i64 %213, 8, !dbg !1747 | |
%niter.ncmp.7.not = icmp eq i64 %niter.next.7, %unroll_iter, !dbg !1747 | |
br i1 %niter.ncmp.7.not, label %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit, label %L141, !dbg !1747 | |
L146: ; preds = %L130 | |
%248 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* nocapture nofree noundef nonnull readonly align 16 dereferenceable(40) %680, i64 noundef signext 1, i64 signext %197, i64 noundef signext 1024) #59, !dbg !1754 | |
br label %L160, !dbg !1710 | |
L135.L160.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L141 | |
%249 = or i64 %unroll_iter, 2, !dbg !1747 | |
br label %L135.L160.loopexit_crit_edge.unr-lcssa, !dbg !1747 | |
L135.L160.loopexit_crit_edge.unr-lcssa: ; preds = %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit, %L141.lr.ph | |
%.lcssa.ph = phi double [ undef, %L141.lr.ph ], [ %247, %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi41195.unr = phi i64 [ 2, %L141.lr.ph ], [ %249, %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi40194.unr = phi double [ %209, %L141.lr.ph ], [ %247, %L135.L160.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !1747 | |
br i1 %lcmp.mod.not, label %L160, label %L141.epil.preheader, !dbg !1747 | |
L141.epil.preheader: ; preds = %L135.L160.loopexit_crit_edge.unr-lcssa | |
br label %L141.epil, !dbg !1747 | |
L141.epil: ; preds = %L141.epil.preheader, %L141.epil | |
%iv21 = phi i64 [ 0, %L141.epil.preheader ], [ %iv.next22, %L141.epil ] | |
%value_phi40194.epil = phi double [ %254, %L141.epil ], [ %value_phi40194.unr, %L141.epil.preheader ] | |
%250 = add i64 %value_phi41195.unr, %iv21, !dbg !1748 | |
%iv.next22 = add nuw nsw i64 %iv21, 1, !dbg !1748 | |
%251 = add nuw nsw i64 %250, 1, !dbg !1748 | |
%252 = getelementptr inbounds double, double addrspace(13)* %205, i64 %250, !dbg !1750 | |
%253 = load double, double addrspace(13)* %252, align 8, !dbg !1750, !tbaa !67, !alias.scope !70, !noalias !71 | |
%254 = fadd double %value_phi40194.epil, %253, !dbg !1751 | |
%epil.iter.cmp.not = icmp eq i64 %iv.next22, %xtraiter, !dbg !1747 | |
br i1 %epil.iter.cmp.not, label %L160.loopexit, label %L141.epil, !dbg !1747, !llvm.loop !1756 | |
L160.loopexit: ; preds = %L141.epil | |
br label %L160, !dbg !1757 | |
L160: ; preds = %L160.loopexit, %L135.L160.loopexit_crit_edge.unr-lcssa, %L146, %L132, %L128, %L118 | |
%value_phi39 = phi double [ %201, %L128 ], [ %248, %L146 ], [ 0.000000e+00, %L118 ], [ %209, %L132 ], [ %.lcssa.ph, %L135.L160.loopexit_crit_edge.unr-lcssa ], [ %254, %L160.loopexit ] | |
%255 = fsub double %value_phi39, %value_phi39, !dbg !1757 | |
%256 = fcmp oeq double %255, 0.000000e+00, !dbg !1759 | |
br i1 %256, label %L170, label %L167, !dbg !1733 | |
L167: ; preds = %L160 | |
%257 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %108) #58, !dbg !1761 | |
%258 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %257, 0, !dbg !1762 | |
%259 = insertvalue { {} addrspace(10)*, i8 } %258, i8 0, 1, !dbg !1762 | |
%260 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1762 | |
store {} addrspace(10)* %257, {} addrspace(10)** %260, align 8, !dbg !1762, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %259, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1762, !noalias !1677 | |
br label %common.ret | |
L170: ; preds = %L160 | |
%261 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811939408 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %680, {} addrspace(10)* nonnull %605, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #60, !dbg !1763 | |
%262 = bitcast {} addrspace(10)* %261 to {} addrspace(10)* addrspace(10)*, !dbg !1763 | |
%263 = addrspacecast {} addrspace(10)* addrspace(10)* %262 to {} addrspace(10)* addrspace(11)*, !dbg !1763 | |
%264 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %263, align 8, !dbg !1763 | |
%265 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1763 | |
store {} addrspace(10)* %264, {} addrspace(10)** %265, align 8, !dbg !1763, !noalias !1677 | |
%266 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1763 | |
%267 = bitcast {} addrspace(10)* %261 to i8 addrspace(10)*, !dbg !1763 | |
%268 = addrspacecast i8 addrspace(10)* %267 to i8 addrspace(11)*, !dbg !1763 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %266, i8 addrspace(11)* noundef align 1 dereferenceable(16) %268, i64 noundef 16, i1 noundef false) #58, !dbg !1763, !noalias !1677 | |
br label %common.ret | |
L175: ; preds = %L69 | |
%269 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %4, i64 0, i64 0, !dbg !1764 | |
%270 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %269 unordered, align 8, !dbg !1764, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%271 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !1764 | |
%272 = addrspacecast i8 addrspace(10)* %271 to i8 addrspace(11)*, !dbg !1764 | |
%273 = getelementptr inbounds i8, i8 addrspace(11)* %272, i64 40, !dbg !1764 | |
%274 = bitcast i8 addrspace(11)* %273 to i64 addrspace(11)*, !dbg !1764 | |
%275 = load i64, i64 addrspace(11)* %274, align 8, !dbg !1764, !tbaa !154, !alias.scope !70, !noalias !71 | |
%276 = add i64 %275, -1, !dbg !1766 | |
%277 = bitcast {} addrspace(10)* %270 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1766 | |
%278 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %277 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1766 | |
%279 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %278, i64 0, i32 1, !dbg !1766 | |
%280 = load i64, i64 addrspace(11)* %279, align 8, !dbg !1766, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%281 = icmp ult i64 %276, %280, !dbg !1766 | |
br i1 %281, label %idxend43, label %oob42, !dbg !1766 | |
L182: ; preds = %pass47 | |
%282 = getelementptr inbounds i8, i8 addrspace(11)* %272, i64 56, !dbg !1767 | |
%283 = bitcast i8 addrspace(11)* %282 to {} addrspace(10)* addrspace(11)*, !dbg !1767 | |
%284 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %283 unordered, align 8, !dbg !1767, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not160 = icmp eq {} addrspace(10)* %284, null, !dbg !1767 | |
br i1 %.not160, label %fail48, label %pass49, !dbg !1767 | |
L186: ; preds = %pass49 | |
%285 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811865808 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull align 16 dereferenceable(40) %3, {} addrspace(10)* nonnull %689, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #60, !dbg !1769 | |
%286 = bitcast {} addrspace(10)* %285 to {} addrspace(10)* addrspace(10)*, !dbg !1769 | |
%287 = addrspacecast {} addrspace(10)* addrspace(10)* %286 to {} addrspace(10)* addrspace(11)*, !dbg !1769 | |
%288 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %287, align 8, !dbg !1769 | |
%289 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1769 | |
store {} addrspace(10)* %288, {} addrspace(10)** %289, align 8, !dbg !1769, !noalias !1677 | |
%290 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1769 | |
%291 = bitcast {} addrspace(10)* %285 to i8 addrspace(10)*, !dbg !1769 | |
%292 = addrspacecast i8 addrspace(10)* %291 to i8 addrspace(11)*, !dbg !1769 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %290, i8 addrspace(11)* noundef align 1 dereferenceable(16) %292, i64 noundef 16, i1 noundef false) #58, !dbg !1769, !noalias !1677 | |
br label %common.ret | |
L188: ; preds = %pass47 | |
%.phi.trans.insert = getelementptr inbounds i8, i8 addrspace(11)* %272, i64 56 | |
%.phi.trans.insert250 = bitcast i8 addrspace(11)* %.phi.trans.insert to {} addrspace(10)* addrspace(11)* | |
%.pre = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %.phi.trans.insert250 unordered, align 8, !dbg !1770, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not162 = icmp eq {} addrspace(10)* %.pre, null, !dbg !1770 | |
br i1 %.not162, label %fail50, label %pass51.thread, !dbg !1770 | |
L198: ; preds = %pass53 | |
%293 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %705, 0, !dbg !1772 | |
%294 = insertvalue { {} addrspace(10)*, i8 } %293, i8 0, 1, !dbg !1772 | |
%295 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1772 | |
store {} addrspace(10)* %705, {} addrspace(10)** %295, align 8, !dbg !1772, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %294, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1772, !noalias !1677 | |
br label %common.ret | |
L200: ; preds = %pass53 | |
%296 = bitcast {} addrspace(10)* %705 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1774 | |
%297 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %296 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1774 | |
%298 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %297, i64 0, i32 1, !dbg !1774 | |
%299 = load i64, i64 addrspace(11)* %298, align 8, !dbg !1774, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %299, label %L212 [ | |
i64 0, label %L242 | |
i64 1, label %L210 | |
], !dbg !1789 | |
L210: ; preds = %L200 | |
%300 = bitcast {} addrspace(10)* %705 to double addrspace(13)* addrspace(10)*, !dbg !1790 | |
%301 = addrspacecast double addrspace(13)* addrspace(10)* %300 to double addrspace(13)* addrspace(11)*, !dbg !1790 | |
%302 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %301, align 8, !dbg !1790, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%303 = load double, double addrspace(13)* %302, align 8, !dbg !1790, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L242, !dbg !1710 | |
L212: ; preds = %L200 | |
%304 = icmp ugt i64 %299, 15, !dbg !1792 | |
br i1 %304, label %L228, label %L214, !dbg !1793 | |
L214: ; preds = %L212 | |
%305 = bitcast {} addrspace(10)* %705 to double addrspace(13)* addrspace(10)*, !dbg !1794 | |
%306 = addrspacecast double addrspace(13)* addrspace(10)* %305 to double addrspace(13)* addrspace(11)*, !dbg !1794 | |
%307 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %306, align 8, !dbg !1794, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%308 = load double, double addrspace(13)* %307, align 8, !dbg !1794, !tbaa !67, !alias.scope !70, !noalias !71 | |
%309 = getelementptr inbounds double, double addrspace(13)* %307, i64 1, !dbg !1796 | |
%310 = load double, double addrspace(13)* %309, align 8, !dbg !1796, !tbaa !67, !alias.scope !70, !noalias !71 | |
%311 = fadd double %308, %310, !dbg !1798 | |
%.not168196 = icmp ugt i64 %299, 2, !dbg !1801 | |
br i1 %.not168196, label %L223.lr.ph, label %L242, !dbg !1802 | |
L223.lr.ph: ; preds = %L214 | |
%312 = add nsw i64 %299, -2, !dbg !1802 | |
%313 = add nsw i64 %299, -3, !dbg !1802 | |
%xtraiter217 = and i64 %312, 7, !dbg !1802 | |
%314 = icmp ult i64 %313, 7, !dbg !1802 | |
br i1 %314, label %L217.L242.loopexit_crit_edge.unr-lcssa, label %L223.lr.ph.new, !dbg !1802 | |
L223.lr.ph.new: ; preds = %L223.lr.ph | |
%unroll_iter222 = and i64 %312, -8, !dbg !1802 | |
br label %L223, !dbg !1802 | |
L223: ; preds = %L223, %L223.lr.ph.new | |
%iv11 = phi i64 [ %iv.next12, %L223 ], [ 0, %L223.lr.ph.new ] | |
%value_phi55197 = phi double [ %311, %L223.lr.ph.new ], [ %349, %L223 ] | |
%315 = shl i64 %iv11, 3, !dbg !1803 | |
%iv.next12 = add nuw nsw i64 %iv11, 1, !dbg !1803 | |
%316 = shl i64 %iv11, 3, !dbg !1803 | |
%317 = add i64 %316, 2, !dbg !1803 | |
%318 = or i64 %317, 1, !dbg !1803 | |
%319 = getelementptr inbounds double, double addrspace(13)* %307, i64 %317, !dbg !1805 | |
%320 = load double, double addrspace(13)* %319, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%321 = fadd double %value_phi55197, %320, !dbg !1806 | |
%322 = add nuw nsw i64 %317, 2, !dbg !1803 | |
%323 = getelementptr inbounds double, double addrspace(13)* %307, i64 %318, !dbg !1805 | |
%324 = load double, double addrspace(13)* %323, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%325 = fadd double %321, %324, !dbg !1806 | |
%326 = add nuw nsw i64 %317, 3, !dbg !1803 | |
%327 = getelementptr inbounds double, double addrspace(13)* %307, i64 %322, !dbg !1805 | |
%328 = load double, double addrspace(13)* %327, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%329 = fadd double %325, %328, !dbg !1806 | |
%330 = add nuw nsw i64 %317, 4, !dbg !1803 | |
%331 = getelementptr inbounds double, double addrspace(13)* %307, i64 %326, !dbg !1805 | |
%332 = load double, double addrspace(13)* %331, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%333 = fadd double %329, %332, !dbg !1806 | |
%334 = add nuw nsw i64 %317, 5, !dbg !1803 | |
%335 = getelementptr inbounds double, double addrspace(13)* %307, i64 %330, !dbg !1805 | |
%336 = load double, double addrspace(13)* %335, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%337 = fadd double %333, %336, !dbg !1806 | |
%338 = add nuw nsw i64 %317, 6, !dbg !1803 | |
%339 = getelementptr inbounds double, double addrspace(13)* %307, i64 %334, !dbg !1805 | |
%340 = load double, double addrspace(13)* %339, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%341 = fadd double %337, %340, !dbg !1806 | |
%342 = add nuw nsw i64 %317, 7, !dbg !1803 | |
%343 = getelementptr inbounds double, double addrspace(13)* %307, i64 %338, !dbg !1805 | |
%344 = load double, double addrspace(13)* %343, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%345 = fadd double %341, %344, !dbg !1806 | |
%346 = add nuw nsw i64 %317, 8, !dbg !1803 | |
%347 = getelementptr inbounds double, double addrspace(13)* %307, i64 %342, !dbg !1805 | |
%348 = load double, double addrspace(13)* %347, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%349 = fadd double %345, %348, !dbg !1806 | |
%niter223.next.7 = add i64 %315, 8, !dbg !1802 | |
%niter223.ncmp.7.not = icmp eq i64 %niter223.next.7, %unroll_iter222, !dbg !1802 | |
br i1 %niter223.ncmp.7.not, label %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit, label %L223, !dbg !1802 | |
L228: ; preds = %L212 | |
%350 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %705, i64 noundef signext 1, i64 signext %299, i64 noundef signext 1024) #59, !dbg !1809 | |
br label %L242, !dbg !1710 | |
L217.L242.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L223 | |
%351 = or i64 %unroll_iter222, 2, !dbg !1802 | |
br label %L217.L242.loopexit_crit_edge.unr-lcssa, !dbg !1802 | |
L217.L242.loopexit_crit_edge.unr-lcssa: ; preds = %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit, %L223.lr.ph | |
%.lcssa212.ph = phi double [ undef, %L223.lr.ph ], [ %349, %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi56198.unr = phi i64 [ 2, %L223.lr.ph ], [ %351, %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi55197.unr = phi double [ %311, %L223.lr.ph ], [ %349, %L217.L242.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod220.not = icmp eq i64 %xtraiter217, 0, !dbg !1802 | |
br i1 %lcmp.mod220.not, label %L242, label %L223.epil.preheader, !dbg !1802 | |
L223.epil.preheader: ; preds = %L217.L242.loopexit_crit_edge.unr-lcssa | |
br label %L223.epil, !dbg !1802 | |
L223.epil: ; preds = %L223.epil.preheader, %L223.epil | |
%iv13 = phi i64 [ 0, %L223.epil.preheader ], [ %iv.next14, %L223.epil ] | |
%value_phi55197.epil = phi double [ %356, %L223.epil ], [ %value_phi55197.unr, %L223.epil.preheader ] | |
%352 = add i64 %value_phi56198.unr, %iv13, !dbg !1803 | |
%iv.next14 = add nuw nsw i64 %iv13, 1, !dbg !1803 | |
%353 = add nuw nsw i64 %352, 1, !dbg !1803 | |
%354 = getelementptr inbounds double, double addrspace(13)* %307, i64 %352, !dbg !1805 | |
%355 = load double, double addrspace(13)* %354, align 8, !dbg !1805, !tbaa !67, !alias.scope !70, !noalias !71 | |
%356 = fadd double %value_phi55197.epil, %355, !dbg !1806 | |
%epil.iter219.cmp.not = icmp eq i64 %iv.next14, %xtraiter217, !dbg !1802 | |
br i1 %epil.iter219.cmp.not, label %L242.loopexit, label %L223.epil, !dbg !1802, !llvm.loop !1811 | |
L242.loopexit: ; preds = %L223.epil | |
br label %L242, !dbg !1812 | |
L242: ; preds = %L242.loopexit, %L217.L242.loopexit_crit_edge.unr-lcssa, %L228, %L214, %L210, %L200 | |
%value_phi54 = phi double [ %303, %L210 ], [ %350, %L228 ], [ 0.000000e+00, %L200 ], [ %311, %L214 ], [ %.lcssa212.ph, %L217.L242.loopexit_crit_edge.unr-lcssa ], [ %356, %L242.loopexit ] | |
%357 = fsub double %value_phi54, %value_phi54, !dbg !1812 | |
%358 = fcmp oeq double %357, 0.000000e+00, !dbg !1814 | |
br i1 %358, label %L252, label %L249, !dbg !1788 | |
L249: ; preds = %L242 | |
%359 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %108) #58, !dbg !1761 | |
%360 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %359, 0, !dbg !1762 | |
%361 = insertvalue { {} addrspace(10)*, i8 } %360, i8 0, 1, !dbg !1762 | |
%362 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1762 | |
store {} addrspace(10)* %359, {} addrspace(10)** %362, align 8, !dbg !1762, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %361, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1762, !noalias !1677 | |
br label %common.ret | |
L252: ; preds = %L242 | |
%363 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811920752 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull %705, {} addrspace(10)* nonnull %3, {} addrspace(10)* nonnull %689, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #60, !dbg !1816 | |
%364 = bitcast {} addrspace(10)* %363 to {} addrspace(10)* addrspace(10)*, !dbg !1816 | |
%365 = addrspacecast {} addrspace(10)* addrspace(10)* %364 to {} addrspace(10)* addrspace(11)*, !dbg !1816 | |
%366 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %365, align 8, !dbg !1816 | |
%367 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1816 | |
store {} addrspace(10)* %366, {} addrspace(10)** %367, align 8, !dbg !1816, !noalias !1677 | |
%368 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1816 | |
%369 = bitcast {} addrspace(10)* %363 to i8 addrspace(10)*, !dbg !1816 | |
%370 = addrspacecast i8 addrspace(10)* %369 to i8 addrspace(11)*, !dbg !1816 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %368, i8 addrspace(11)* noundef align 1 dereferenceable(16) %370, i64 16, i1 false) #58, !dbg !1816, !noalias !1677 | |
br label %common.ret | |
L264: ; preds = %pass60 | |
%371 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %711, 0, !dbg !1817 | |
%372 = insertvalue { {} addrspace(10)*, i8 } %371, i8 0, 1, !dbg !1817 | |
%373 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1817 | |
store {} addrspace(10)* %711, {} addrspace(10)** %373, align 8, !dbg !1817, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %372, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1817, !noalias !1677 | |
br label %common.ret | |
L266: ; preds = %pass60 | |
%374 = bitcast {} addrspace(10)* %711 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1819 | |
%375 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %374 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1819 | |
%376 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %375, i64 0, i32 1, !dbg !1819 | |
%377 = load i64, i64 addrspace(11)* %376, align 8, !dbg !1819, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %377, label %L278 [ | |
i64 0, label %L308 | |
i64 1, label %L276 | |
], !dbg !1834 | |
L276: ; preds = %L266 | |
%378 = bitcast {} addrspace(10)* %711 to double addrspace(13)* addrspace(10)*, !dbg !1835 | |
%379 = addrspacecast double addrspace(13)* addrspace(10)* %378 to double addrspace(13)* addrspace(11)*, !dbg !1835 | |
%380 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %379, align 8, !dbg !1835, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%381 = load double, double addrspace(13)* %380, align 8, !dbg !1835, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L308, !dbg !1710 | |
L278: ; preds = %L266 | |
%382 = icmp ugt i64 %377, 15, !dbg !1837 | |
br i1 %382, label %L294, label %L280, !dbg !1838 | |
L280: ; preds = %L278 | |
%383 = bitcast {} addrspace(10)* %711 to double addrspace(13)* addrspace(10)*, !dbg !1839 | |
%384 = addrspacecast double addrspace(13)* addrspace(10)* %383 to double addrspace(13)* addrspace(11)*, !dbg !1839 | |
%385 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %384, align 8, !dbg !1839, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%386 = load double, double addrspace(13)* %385, align 8, !dbg !1839, !tbaa !67, !alias.scope !70, !noalias !71 | |
%387 = getelementptr inbounds double, double addrspace(13)* %385, i64 1, !dbg !1841 | |
%388 = load double, double addrspace(13)* %387, align 8, !dbg !1841, !tbaa !67, !alias.scope !70, !noalias !71 | |
%389 = fadd double %386, %388, !dbg !1843 | |
%.not175200 = icmp ugt i64 %377, 2, !dbg !1846 | |
br i1 %.not175200, label %L289.lr.ph, label %L308, !dbg !1847 | |
L289.lr.ph: ; preds = %L280 | |
%390 = add nsw i64 %377, -2, !dbg !1847 | |
%391 = add nsw i64 %377, -3, !dbg !1847 | |
%xtraiter224 = and i64 %390, 7, !dbg !1847 | |
%392 = icmp ult i64 %391, 7, !dbg !1847 | |
br i1 %392, label %L283.L308.loopexit_crit_edge.unr-lcssa, label %L289.lr.ph.new, !dbg !1847 | |
L289.lr.ph.new: ; preds = %L289.lr.ph | |
%unroll_iter229 = and i64 %390, -8, !dbg !1847 | |
br label %L289, !dbg !1847 | |
L289: ; preds = %L289, %L289.lr.ph.new | |
%iv15 = phi i64 [ %iv.next16, %L289 ], [ 0, %L289.lr.ph.new ] | |
%value_phi62201 = phi double [ %389, %L289.lr.ph.new ], [ %427, %L289 ] | |
%393 = shl i64 %iv15, 3, !dbg !1848 | |
%iv.next16 = add nuw nsw i64 %iv15, 1, !dbg !1848 | |
%394 = shl i64 %iv15, 3, !dbg !1848 | |
%395 = add i64 %394, 2, !dbg !1848 | |
%396 = or i64 %395, 1, !dbg !1848 | |
%397 = getelementptr inbounds double, double addrspace(13)* %385, i64 %395, !dbg !1850 | |
%398 = load double, double addrspace(13)* %397, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%399 = fadd double %value_phi62201, %398, !dbg !1851 | |
%400 = add nuw nsw i64 %395, 2, !dbg !1848 | |
%401 = getelementptr inbounds double, double addrspace(13)* %385, i64 %396, !dbg !1850 | |
%402 = load double, double addrspace(13)* %401, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%403 = fadd double %399, %402, !dbg !1851 | |
%404 = add nuw nsw i64 %395, 3, !dbg !1848 | |
%405 = getelementptr inbounds double, double addrspace(13)* %385, i64 %400, !dbg !1850 | |
%406 = load double, double addrspace(13)* %405, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%407 = fadd double %403, %406, !dbg !1851 | |
%408 = add nuw nsw i64 %395, 4, !dbg !1848 | |
%409 = getelementptr inbounds double, double addrspace(13)* %385, i64 %404, !dbg !1850 | |
%410 = load double, double addrspace(13)* %409, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%411 = fadd double %407, %410, !dbg !1851 | |
%412 = add nuw nsw i64 %395, 5, !dbg !1848 | |
%413 = getelementptr inbounds double, double addrspace(13)* %385, i64 %408, !dbg !1850 | |
%414 = load double, double addrspace(13)* %413, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%415 = fadd double %411, %414, !dbg !1851 | |
%416 = add nuw nsw i64 %395, 6, !dbg !1848 | |
%417 = getelementptr inbounds double, double addrspace(13)* %385, i64 %412, !dbg !1850 | |
%418 = load double, double addrspace(13)* %417, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%419 = fadd double %415, %418, !dbg !1851 | |
%420 = add nuw nsw i64 %395, 7, !dbg !1848 | |
%421 = getelementptr inbounds double, double addrspace(13)* %385, i64 %416, !dbg !1850 | |
%422 = load double, double addrspace(13)* %421, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%423 = fadd double %419, %422, !dbg !1851 | |
%424 = add nuw nsw i64 %395, 8, !dbg !1848 | |
%425 = getelementptr inbounds double, double addrspace(13)* %385, i64 %420, !dbg !1850 | |
%426 = load double, double addrspace(13)* %425, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%427 = fadd double %423, %426, !dbg !1851 | |
%niter230.next.7 = add i64 %393, 8, !dbg !1847 | |
%niter230.ncmp.7.not = icmp eq i64 %niter230.next.7, %unroll_iter229, !dbg !1847 | |
br i1 %niter230.ncmp.7.not, label %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit, label %L289, !dbg !1847 | |
L294: ; preds = %L278 | |
%428 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %711, i64 noundef signext 1, i64 signext %377, i64 noundef signext 1024) #59, !dbg !1854 | |
br label %L308, !dbg !1710 | |
L283.L308.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L289 | |
%429 = or i64 %unroll_iter229, 2, !dbg !1847 | |
br label %L283.L308.loopexit_crit_edge.unr-lcssa, !dbg !1847 | |
L283.L308.loopexit_crit_edge.unr-lcssa: ; preds = %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit, %L289.lr.ph | |
%.lcssa213.ph = phi double [ undef, %L289.lr.ph ], [ %427, %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi63202.unr = phi i64 [ 2, %L289.lr.ph ], [ %429, %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi62201.unr = phi double [ %389, %L289.lr.ph ], [ %427, %L283.L308.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod227.not = icmp eq i64 %xtraiter224, 0, !dbg !1847 | |
br i1 %lcmp.mod227.not, label %L308, label %L289.epil.preheader, !dbg !1847 | |
L289.epil.preheader: ; preds = %L283.L308.loopexit_crit_edge.unr-lcssa | |
br label %L289.epil, !dbg !1847 | |
L289.epil: ; preds = %L289.epil.preheader, %L289.epil | |
%iv17 = phi i64 [ 0, %L289.epil.preheader ], [ %iv.next18, %L289.epil ] | |
%value_phi62201.epil = phi double [ %434, %L289.epil ], [ %value_phi62201.unr, %L289.epil.preheader ] | |
%430 = add i64 %value_phi63202.unr, %iv17, !dbg !1848 | |
%iv.next18 = add nuw nsw i64 %iv17, 1, !dbg !1848 | |
%431 = add nuw nsw i64 %430, 1, !dbg !1848 | |
%432 = getelementptr inbounds double, double addrspace(13)* %385, i64 %430, !dbg !1850 | |
%433 = load double, double addrspace(13)* %432, align 8, !dbg !1850, !tbaa !67, !alias.scope !70, !noalias !71 | |
%434 = fadd double %value_phi62201.epil, %433, !dbg !1851 | |
%epil.iter226.cmp.not = icmp eq i64 %iv.next18, %xtraiter224, !dbg !1847 | |
br i1 %epil.iter226.cmp.not, label %L308.loopexit, label %L289.epil, !dbg !1847, !llvm.loop !1856 | |
L308.loopexit: ; preds = %L289.epil | |
br label %L308, !dbg !1857 | |
L308: ; preds = %L308.loopexit, %L283.L308.loopexit_crit_edge.unr-lcssa, %L294, %L280, %L276, %L266 | |
%value_phi61 = phi double [ %381, %L276 ], [ %428, %L294 ], [ 0.000000e+00, %L266 ], [ %389, %L280 ], [ %.lcssa213.ph, %L283.L308.loopexit_crit_edge.unr-lcssa ], [ %434, %L308.loopexit ] | |
%435 = fsub double %value_phi61, %value_phi61, !dbg !1857 | |
%436 = fcmp oeq double %435, 0.000000e+00, !dbg !1859 | |
br i1 %436, label %L318, label %L315, !dbg !1833 | |
L315: ; preds = %L308 | |
%437 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %108) #58, !dbg !1761 | |
%438 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %437, 0, !dbg !1762 | |
%439 = insertvalue { {} addrspace(10)*, i8 } %438, i8 0, 1, !dbg !1762 | |
%440 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1762 | |
store {} addrspace(10)* %437, {} addrspace(10)** %440, align 8, !dbg !1762, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %439, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1762, !noalias !1677 | |
br label %common.ret | |
L318: ; preds = %L308 | |
%441 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811939568 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull %711, {} addrspace(10)* nonnull %3, {} addrspace(10)* nonnull %689, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #60, !dbg !1861 | |
%442 = bitcast {} addrspace(10)* %441 to {} addrspace(10)* addrspace(10)*, !dbg !1861 | |
%443 = addrspacecast {} addrspace(10)* addrspace(10)* %442 to {} addrspace(10)* addrspace(11)*, !dbg !1861 | |
%444 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %443, align 8, !dbg !1861 | |
%445 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1861 | |
store {} addrspace(10)* %444, {} addrspace(10)** %445, align 8, !dbg !1861, !noalias !1677 | |
%446 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1861 | |
%447 = bitcast {} addrspace(10)* %441 to i8 addrspace(10)*, !dbg !1861 | |
%448 = addrspacecast i8 addrspace(10)* %447 to i8 addrspace(11)*, !dbg !1861 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %446, i8 addrspace(11)* noundef align 1 dereferenceable(16) %448, i64 16, i1 false) #58, !dbg !1861, !noalias !1677 | |
br label %common.ret | |
L326: ; preds = %pass65 | |
%449 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %717, 0, !dbg !1862 | |
%450 = insertvalue { {} addrspace(10)*, i8 } %449, i8 0, 1, !dbg !1862 | |
%451 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1862 | |
store {} addrspace(10)* %717, {} addrspace(10)** %451, align 8, !dbg !1862, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %450, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1862, !noalias !1677 | |
br label %common.ret | |
L328: ; preds = %pass65 | |
%452 = bitcast {} addrspace(10)* %717 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1864 | |
%453 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %452 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1864 | |
%454 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %453, i64 0, i32 1, !dbg !1864 | |
%455 = load i64, i64 addrspace(11)* %454, align 8, !dbg !1864, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %455, label %L340 [ | |
i64 0, label %L370 | |
i64 1, label %L338 | |
], !dbg !1879 | |
L338: ; preds = %L328 | |
%456 = bitcast {} addrspace(10)* %717 to double addrspace(13)* addrspace(10)*, !dbg !1880 | |
%457 = addrspacecast double addrspace(13)* addrspace(10)* %456 to double addrspace(13)* addrspace(11)*, !dbg !1880 | |
%458 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %457, align 8, !dbg !1880, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%459 = load double, double addrspace(13)* %458, align 8, !dbg !1880, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L370, !dbg !1710 | |
L340: ; preds = %L328 | |
%460 = icmp ugt i64 %455, 15, !dbg !1882 | |
br i1 %460, label %L356, label %L342, !dbg !1883 | |
L342: ; preds = %L340 | |
%461 = bitcast {} addrspace(10)* %717 to double addrspace(13)* addrspace(10)*, !dbg !1884 | |
%462 = addrspacecast double addrspace(13)* addrspace(10)* %461 to double addrspace(13)* addrspace(11)*, !dbg !1884 | |
%463 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %462, align 8, !dbg !1884, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%464 = load double, double addrspace(13)* %463, align 8, !dbg !1884, !tbaa !67, !alias.scope !70, !noalias !71 | |
%465 = getelementptr inbounds double, double addrspace(13)* %463, i64 1, !dbg !1886 | |
%466 = load double, double addrspace(13)* %465, align 8, !dbg !1886, !tbaa !67, !alias.scope !70, !noalias !71 | |
%467 = fadd double %464, %466, !dbg !1888 | |
%.not185208 = icmp ugt i64 %455, 2, !dbg !1891 | |
br i1 %.not185208, label %L351.lr.ph, label %L370, !dbg !1892 | |
L351.lr.ph: ; preds = %L342 | |
%468 = add nsw i64 %455, -2, !dbg !1892 | |
%469 = add nsw i64 %455, -3, !dbg !1892 | |
%xtraiter238 = and i64 %468, 7, !dbg !1892 | |
%470 = icmp ult i64 %469, 7, !dbg !1892 | |
br i1 %470, label %L345.L370.loopexit_crit_edge.unr-lcssa, label %L351.lr.ph.new, !dbg !1892 | |
L351.lr.ph.new: ; preds = %L351.lr.ph | |
%unroll_iter243 = and i64 %468, -8, !dbg !1892 | |
br label %L351, !dbg !1892 | |
L351: ; preds = %L351, %L351.lr.ph.new | |
%iv3 = phi i64 [ %iv.next4, %L351 ], [ 0, %L351.lr.ph.new ] | |
%value_phi72209 = phi double [ %467, %L351.lr.ph.new ], [ %505, %L351 ] | |
%471 = shl i64 %iv3, 3, !dbg !1893 | |
%iv.next4 = add nuw nsw i64 %iv3, 1, !dbg !1893 | |
%472 = shl i64 %iv3, 3, !dbg !1893 | |
%473 = add i64 %472, 2, !dbg !1893 | |
%474 = or i64 %473, 1, !dbg !1893 | |
%475 = getelementptr inbounds double, double addrspace(13)* %463, i64 %473, !dbg !1895 | |
%476 = load double, double addrspace(13)* %475, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%477 = fadd double %value_phi72209, %476, !dbg !1896 | |
%478 = add nuw nsw i64 %473, 2, !dbg !1893 | |
%479 = getelementptr inbounds double, double addrspace(13)* %463, i64 %474, !dbg !1895 | |
%480 = load double, double addrspace(13)* %479, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%481 = fadd double %477, %480, !dbg !1896 | |
%482 = add nuw nsw i64 %473, 3, !dbg !1893 | |
%483 = getelementptr inbounds double, double addrspace(13)* %463, i64 %478, !dbg !1895 | |
%484 = load double, double addrspace(13)* %483, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%485 = fadd double %481, %484, !dbg !1896 | |
%486 = add nuw nsw i64 %473, 4, !dbg !1893 | |
%487 = getelementptr inbounds double, double addrspace(13)* %463, i64 %482, !dbg !1895 | |
%488 = load double, double addrspace(13)* %487, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%489 = fadd double %485, %488, !dbg !1896 | |
%490 = add nuw nsw i64 %473, 5, !dbg !1893 | |
%491 = getelementptr inbounds double, double addrspace(13)* %463, i64 %486, !dbg !1895 | |
%492 = load double, double addrspace(13)* %491, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%493 = fadd double %489, %492, !dbg !1896 | |
%494 = add nuw nsw i64 %473, 6, !dbg !1893 | |
%495 = getelementptr inbounds double, double addrspace(13)* %463, i64 %490, !dbg !1895 | |
%496 = load double, double addrspace(13)* %495, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%497 = fadd double %493, %496, !dbg !1896 | |
%498 = add nuw nsw i64 %473, 7, !dbg !1893 | |
%499 = getelementptr inbounds double, double addrspace(13)* %463, i64 %494, !dbg !1895 | |
%500 = load double, double addrspace(13)* %499, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%501 = fadd double %497, %500, !dbg !1896 | |
%502 = add nuw nsw i64 %473, 8, !dbg !1893 | |
%503 = getelementptr inbounds double, double addrspace(13)* %463, i64 %498, !dbg !1895 | |
%504 = load double, double addrspace(13)* %503, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%505 = fadd double %501, %504, !dbg !1896 | |
%niter244.next.7 = add i64 %471, 8, !dbg !1892 | |
%niter244.ncmp.7.not = icmp eq i64 %niter244.next.7, %unroll_iter243, !dbg !1892 | |
br i1 %niter244.ncmp.7.not, label %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit, label %L351, !dbg !1892 | |
L356: ; preds = %L340 | |
%506 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %717, i64 noundef signext 1, i64 signext %455, i64 noundef signext 1024) #59, !dbg !1899 | |
br label %L370, !dbg !1710 | |
L345.L370.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L351 | |
%507 = or i64 %unroll_iter243, 2, !dbg !1892 | |
br label %L345.L370.loopexit_crit_edge.unr-lcssa, !dbg !1892 | |
L345.L370.loopexit_crit_edge.unr-lcssa: ; preds = %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit, %L351.lr.ph | |
%.lcssa215.ph = phi double [ undef, %L351.lr.ph ], [ %505, %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi73210.unr = phi i64 [ 2, %L351.lr.ph ], [ %507, %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi72209.unr = phi double [ %467, %L351.lr.ph ], [ %505, %L345.L370.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod241.not = icmp eq i64 %xtraiter238, 0, !dbg !1892 | |
br i1 %lcmp.mod241.not, label %L370, label %L351.epil.preheader, !dbg !1892 | |
L351.epil.preheader: ; preds = %L345.L370.loopexit_crit_edge.unr-lcssa | |
br label %L351.epil, !dbg !1892 | |
L351.epil: ; preds = %L351.epil.preheader, %L351.epil | |
%iv5 = phi i64 [ 0, %L351.epil.preheader ], [ %iv.next6, %L351.epil ] | |
%value_phi72209.epil = phi double [ %512, %L351.epil ], [ %value_phi72209.unr, %L351.epil.preheader ] | |
%508 = add i64 %value_phi73210.unr, %iv5, !dbg !1893 | |
%iv.next6 = add nuw nsw i64 %iv5, 1, !dbg !1893 | |
%509 = add nuw nsw i64 %508, 1, !dbg !1893 | |
%510 = getelementptr inbounds double, double addrspace(13)* %463, i64 %508, !dbg !1895 | |
%511 = load double, double addrspace(13)* %510, align 8, !dbg !1895, !tbaa !67, !alias.scope !70, !noalias !71 | |
%512 = fadd double %value_phi72209.epil, %511, !dbg !1896 | |
%epil.iter240.cmp.not = icmp eq i64 %iv.next6, %xtraiter238, !dbg !1892 | |
br i1 %epil.iter240.cmp.not, label %L370.loopexit, label %L351.epil, !dbg !1892, !llvm.loop !1901 | |
L370.loopexit: ; preds = %L351.epil | |
br label %L370, !dbg !1902 | |
L370: ; preds = %L370.loopexit, %L345.L370.loopexit_crit_edge.unr-lcssa, %L356, %L342, %L338, %L328 | |
%value_phi66 = phi double [ %459, %L338 ], [ %506, %L356 ], [ 0.000000e+00, %L328 ], [ %467, %L342 ], [ %.lcssa215.ph, %L345.L370.loopexit_crit_edge.unr-lcssa ], [ %512, %L370.loopexit ] | |
%513 = fsub double %value_phi66, %value_phi66, !dbg !1902 | |
%514 = fcmp oeq double %513, 0.000000e+00, !dbg !1904 | |
br i1 %514, label %L380, label %L377, !dbg !1878 | |
L377: ; preds = %L370 | |
%515 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %108) #58, !dbg !1761 | |
%516 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %515, 0, !dbg !1762 | |
%517 = insertvalue { {} addrspace(10)*, i8 } %516, i8 0, 1, !dbg !1762 | |
%518 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1762 | |
store {} addrspace(10)* %515, {} addrspace(10)** %518, align 8, !dbg !1762, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %517, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1762, !noalias !1677 | |
br label %common.ret | |
L380: ; preds = %L370 | |
%519 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %.phi.trans.insert250 unordered, align 8, !dbg !1906, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not179 = icmp eq {} addrspace(10)* %519, null, !dbg !1906 | |
br i1 %.not179, label %fail67, label %pass68, !dbg !1906 | |
L386: ; preds = %pass68 | |
%520 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %723, 0, !dbg !1908 | |
%521 = insertvalue { {} addrspace(10)*, i8 } %520, i8 0, 1, !dbg !1908 | |
%522 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1908 | |
store {} addrspace(10)* %723, {} addrspace(10)** %522, align 8, !dbg !1908, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %521, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1908, !noalias !1677 | |
br label %common.ret | |
L388: ; preds = %pass68 | |
%523 = bitcast {} addrspace(10)* %723 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1910 | |
%524 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %523 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1910 | |
%525 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %524, i64 0, i32 1, !dbg !1910 | |
%526 = load i64, i64 addrspace(11)* %525, align 8, !dbg !1910, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
switch i64 %526, label %L400 [ | |
i64 0, label %L430 | |
i64 1, label %L398 | |
], !dbg !1925 | |
L398: ; preds = %L388 | |
%527 = bitcast {} addrspace(10)* %723 to double addrspace(13)* addrspace(10)*, !dbg !1926 | |
%528 = addrspacecast double addrspace(13)* addrspace(10)* %527 to double addrspace(13)* addrspace(11)*, !dbg !1926 | |
%529 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %528, align 8, !dbg !1926, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%530 = load double, double addrspace(13)* %529, align 8, !dbg !1926, !tbaa !67, !alias.scope !70, !noalias !71 | |
br label %L430, !dbg !1710 | |
L400: ; preds = %L388 | |
%531 = icmp ugt i64 %526, 15, !dbg !1928 | |
br i1 %531, label %L416, label %L402, !dbg !1929 | |
L402: ; preds = %L400 | |
%532 = bitcast {} addrspace(10)* %723 to double addrspace(13)* addrspace(10)*, !dbg !1930 | |
%533 = addrspacecast double addrspace(13)* addrspace(10)* %532 to double addrspace(13)* addrspace(11)*, !dbg !1930 | |
%534 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %533, align 8, !dbg !1930, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%535 = load double, double addrspace(13)* %534, align 8, !dbg !1930, !tbaa !67, !alias.scope !70, !noalias !71 | |
%536 = getelementptr inbounds double, double addrspace(13)* %534, i64 1, !dbg !1932 | |
%537 = load double, double addrspace(13)* %536, align 8, !dbg !1932, !tbaa !67, !alias.scope !70, !noalias !71 | |
%538 = fadd double %535, %537, !dbg !1934 | |
%.not183204 = icmp ugt i64 %526, 2, !dbg !1937 | |
br i1 %.not183204, label %L411.lr.ph, label %L430, !dbg !1938 | |
L411.lr.ph: ; preds = %L402 | |
%539 = add nsw i64 %526, -2, !dbg !1938 | |
%540 = add nsw i64 %526, -3, !dbg !1938 | |
%xtraiter231 = and i64 %539, 7, !dbg !1938 | |
%541 = icmp ult i64 %540, 7, !dbg !1938 | |
br i1 %541, label %L405.L430.loopexit_crit_edge.unr-lcssa, label %L411.lr.ph.new, !dbg !1938 | |
L411.lr.ph.new: ; preds = %L411.lr.ph | |
%unroll_iter236 = and i64 %539, -8, !dbg !1938 | |
br label %L411, !dbg !1938 | |
L411: ; preds = %L411, %L411.lr.ph.new | |
%iv7 = phi i64 [ %iv.next8, %L411 ], [ 0, %L411.lr.ph.new ] | |
%value_phi70205 = phi double [ %538, %L411.lr.ph.new ], [ %576, %L411 ] | |
%542 = shl i64 %iv7, 3, !dbg !1939 | |
%iv.next8 = add nuw nsw i64 %iv7, 1, !dbg !1939 | |
%543 = shl i64 %iv7, 3, !dbg !1939 | |
%544 = add i64 %543, 2, !dbg !1939 | |
%545 = or i64 %544, 1, !dbg !1939 | |
%546 = getelementptr inbounds double, double addrspace(13)* %534, i64 %544, !dbg !1941 | |
%547 = load double, double addrspace(13)* %546, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%548 = fadd double %value_phi70205, %547, !dbg !1942 | |
%549 = add nuw nsw i64 %544, 2, !dbg !1939 | |
%550 = getelementptr inbounds double, double addrspace(13)* %534, i64 %545, !dbg !1941 | |
%551 = load double, double addrspace(13)* %550, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%552 = fadd double %548, %551, !dbg !1942 | |
%553 = add nuw nsw i64 %544, 3, !dbg !1939 | |
%554 = getelementptr inbounds double, double addrspace(13)* %534, i64 %549, !dbg !1941 | |
%555 = load double, double addrspace(13)* %554, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%556 = fadd double %552, %555, !dbg !1942 | |
%557 = add nuw nsw i64 %544, 4, !dbg !1939 | |
%558 = getelementptr inbounds double, double addrspace(13)* %534, i64 %553, !dbg !1941 | |
%559 = load double, double addrspace(13)* %558, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%560 = fadd double %556, %559, !dbg !1942 | |
%561 = add nuw nsw i64 %544, 5, !dbg !1939 | |
%562 = getelementptr inbounds double, double addrspace(13)* %534, i64 %557, !dbg !1941 | |
%563 = load double, double addrspace(13)* %562, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%564 = fadd double %560, %563, !dbg !1942 | |
%565 = add nuw nsw i64 %544, 6, !dbg !1939 | |
%566 = getelementptr inbounds double, double addrspace(13)* %534, i64 %561, !dbg !1941 | |
%567 = load double, double addrspace(13)* %566, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%568 = fadd double %564, %567, !dbg !1942 | |
%569 = add nuw nsw i64 %544, 7, !dbg !1939 | |
%570 = getelementptr inbounds double, double addrspace(13)* %534, i64 %565, !dbg !1941 | |
%571 = load double, double addrspace(13)* %570, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%572 = fadd double %568, %571, !dbg !1942 | |
%573 = add nuw nsw i64 %544, 8, !dbg !1939 | |
%574 = getelementptr inbounds double, double addrspace(13)* %534, i64 %569, !dbg !1941 | |
%575 = load double, double addrspace(13)* %574, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%576 = fadd double %572, %575, !dbg !1942 | |
%niter237.next.7 = add i64 %542, 8, !dbg !1938 | |
%niter237.ncmp.7.not = icmp eq i64 %niter237.next.7, %unroll_iter236, !dbg !1938 | |
br i1 %niter237.ncmp.7.not, label %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit, label %L411, !dbg !1938 | |
L416: ; preds = %L400 | |
%577 = call fastcc double @julia_mapreduce_impl_2086({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %723, i64 noundef signext 1, i64 signext %526, i64 noundef signext 1024) #59, !dbg !1945 | |
br label %L430, !dbg !1710 | |
L405.L430.loopexit_crit_edge.unr-lcssa.loopexit: ; preds = %L411 | |
%578 = or i64 %unroll_iter236, 2, !dbg !1938 | |
br label %L405.L430.loopexit_crit_edge.unr-lcssa, !dbg !1938 | |
L405.L430.loopexit_crit_edge.unr-lcssa: ; preds = %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit, %L411.lr.ph | |
%.lcssa214.ph = phi double [ undef, %L411.lr.ph ], [ %576, %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi71206.unr = phi i64 [ 2, %L411.lr.ph ], [ %578, %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%value_phi70205.unr = phi double [ %538, %L411.lr.ph ], [ %576, %L405.L430.loopexit_crit_edge.unr-lcssa.loopexit ] | |
%lcmp.mod234.not = icmp eq i64 %xtraiter231, 0, !dbg !1938 | |
br i1 %lcmp.mod234.not, label %L430, label %L411.epil.preheader, !dbg !1938 | |
L411.epil.preheader: ; preds = %L405.L430.loopexit_crit_edge.unr-lcssa | |
br label %L411.epil, !dbg !1938 | |
L411.epil: ; preds = %L411.epil.preheader, %L411.epil | |
%iv9 = phi i64 [ 0, %L411.epil.preheader ], [ %iv.next10, %L411.epil ] | |
%value_phi70205.epil = phi double [ %583, %L411.epil ], [ %value_phi70205.unr, %L411.epil.preheader ] | |
%579 = add i64 %value_phi71206.unr, %iv9, !dbg !1939 | |
%iv.next10 = add nuw nsw i64 %iv9, 1, !dbg !1939 | |
%580 = add nuw nsw i64 %579, 1, !dbg !1939 | |
%581 = getelementptr inbounds double, double addrspace(13)* %534, i64 %579, !dbg !1941 | |
%582 = load double, double addrspace(13)* %581, align 8, !dbg !1941, !tbaa !67, !alias.scope !70, !noalias !71 | |
%583 = fadd double %value_phi70205.epil, %582, !dbg !1942 | |
%epil.iter233.cmp.not = icmp eq i64 %iv.next10, %xtraiter231, !dbg !1938 | |
br i1 %epil.iter233.cmp.not, label %L430.loopexit, label %L411.epil, !dbg !1938, !llvm.loop !1947 | |
L430.loopexit: ; preds = %L411.epil | |
br label %L430, !dbg !1948 | |
L430: ; preds = %L430.loopexit, %L405.L430.loopexit_crit_edge.unr-lcssa, %L416, %L402, %L398, %L388 | |
%value_phi69 = phi double [ %530, %L398 ], [ %577, %L416 ], [ 0.000000e+00, %L388 ], [ %538, %L402 ], [ %.lcssa214.ph, %L405.L430.loopexit_crit_edge.unr-lcssa ], [ %583, %L430.loopexit ] | |
%584 = fsub double %value_phi69, %value_phi69, !dbg !1948 | |
%585 = fcmp oeq double %584, 0.000000e+00, !dbg !1950 | |
br i1 %585, label %L440, label %L437, !dbg !1924 | |
L437: ; preds = %L430 | |
%586 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %108) #58, !dbg !1761 | |
%587 = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %586, 0, !dbg !1762 | |
%588 = insertvalue { {} addrspace(10)*, i8 } %587, i8 0, 1, !dbg !1762 | |
%589 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1762 | |
store {} addrspace(10)* %586, {} addrspace(10)** %589, align 8, !dbg !1762, !noalias !1677 | |
store { {} addrspace(10)*, i8 } %588, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !1762, !noalias !1677 | |
br label %common.ret | |
L440: ; preds = %L430 | |
%590 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811865760 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %717, {} addrspace(10)* nonnull %723, {} addrspace(10)* nonnull %689, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #60, !dbg !1952 | |
%591 = bitcast {} addrspace(10)* %590 to {} addrspace(10)* addrspace(10)*, !dbg !1952 | |
%592 = addrspacecast {} addrspace(10)* addrspace(10)* %591 to {} addrspace(10)* addrspace(11)*, !dbg !1952 | |
%593 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %592, align 8, !dbg !1952 | |
%594 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1952 | |
store {} addrspace(10)* %593, {} addrspace(10)** %594, align 8, !dbg !1952, !noalias !1677 | |
%595 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1952 | |
%596 = bitcast {} addrspace(10)* %590 to i8 addrspace(10)*, !dbg !1952 | |
%597 = addrspacecast i8 addrspace(10)* %596 to i8 addrspace(11)*, !dbg !1952 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %595, i8 addrspace(11)* noundef align 1 dereferenceable(16) %597, i64 16, i1 false) #58, !dbg !1952, !noalias !1677 | |
br label %common.ret | |
L442: ; preds = %L69 | |
%598 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809499750160 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811855216 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*)) #60, !dbg !1952 | |
unreachable, !dbg !1952 | |
oob: ; preds = %L72 | |
%599 = alloca i64, align 8, !dbg !1716 | |
store i64 %184, i64* %599, align 8, !dbg !1716, !noalias !1677 | |
%600 = addrspacecast {} addrspace(10)* %179 to {} addrspace(12)*, !dbg !1716 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %600, i64* noundef nonnull align 8 %599, i64 noundef 1) #62, !dbg !1716 | |
unreachable, !dbg !1716 | |
idxend: ; preds = %L72 | |
%601 = bitcast {} addrspace(10)* %179 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !1716 | |
%602 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %601 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !1716 | |
%603 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %602, align 8, !dbg !1716, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%604 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %603, i64 %185, !dbg !1716 | |
%605 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %604, align 8, !dbg !1716, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not133 = icmp eq {} addrspace(10)* %605, null, !dbg !1716 | |
br i1 %.not133, label %fail, label %pass, !dbg !1716 | |
fail: ; preds = %idxend | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1716 | |
unreachable, !dbg !1716 | |
pass: ; preds = %idxend | |
%606 = getelementptr inbounds i8, i8 addrspace(11)* %181, i64 48, !dbg !1953 | |
%607 = bitcast i8 addrspace(11)* %606 to {} addrspace(10)* addrspace(11)*, !dbg !1953 | |
%608 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %607 unordered, align 8, !dbg !1953, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not134 = icmp eq {} addrspace(10)* %608, null, !dbg !1953 | |
br i1 %.not134, label %fail9, label %pass10, !dbg !1953 | |
fail9: ; preds = %pass | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1953 | |
unreachable, !dbg !1953 | |
pass10: ; preds = %pass | |
%609 = bitcast {} addrspace(10)* %608 to i64 addrspace(10)*, !dbg !1953 | |
%610 = addrspacecast i64 addrspace(10)* %609 to i64 addrspace(11)*, !dbg !1953 | |
%611 = load i64, i64 addrspace(11)* %610, align 8, !dbg !1953, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %611, label %pass38 [ | |
i64 2, label %pass12 | |
i64 1, label %pass28 | |
], !dbg !1954 | |
pass12: ; preds = %pass10 | |
%612 = bitcast {} addrspace(10)* %608 to i8 addrspace(10)*, !dbg !1953 | |
%613 = addrspacecast i8 addrspace(10)* %612 to i8 addrspace(11)*, !dbg !1953 | |
%614 = getelementptr inbounds i8, i8 addrspace(11)* %613, i64 48, !dbg !1953 | |
%615 = bitcast i8 addrspace(11)* %614 to {} addrspace(10)* addrspace(11)*, !dbg !1953 | |
%616 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %615 unordered, align 8, !dbg !1953, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not137 = icmp eq {} addrspace(10)* %616, null, !dbg !1953 | |
br i1 %.not137, label %fail13, label %pass14, !dbg !1953 | |
fail13: ; preds = %pass12 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1953 | |
unreachable, !dbg !1953 | |
pass14: ; preds = %pass12 | |
%617 = bitcast {} addrspace(10)* %616 to i64 addrspace(10)*, !dbg !1953 | |
%618 = addrspacecast i64 addrspace(10)* %617 to i64 addrspace(11)*, !dbg !1953 | |
%619 = load i64, i64 addrspace(11)* %618, align 8, !dbg !1953, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not138 = icmp eq i64 %619, 0, !dbg !1955 | |
br i1 %.not138, label %pass16, label %pass38, !dbg !1954 | |
pass16: ; preds = %pass14 | |
%620 = getelementptr inbounds i8, i8 addrspace(11)* %613, i64 56, !dbg !1953 | |
%621 = bitcast i8 addrspace(11)* %620 to {} addrspace(10)* addrspace(11)*, !dbg !1953 | |
%622 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %621 unordered, align 8, !dbg !1953, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not140 = icmp eq {} addrspace(10)* %622, null, !dbg !1953 | |
br i1 %.not140, label %fail17, label %pass18, !dbg !1953 | |
fail17: ; preds = %pass16 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1953 | |
unreachable, !dbg !1953 | |
pass18: ; preds = %pass16 | |
%623 = bitcast {} addrspace(10)* %622 to i64 addrspace(10)*, !dbg !1953 | |
%624 = addrspacecast i64 addrspace(10)* %623 to i64 addrspace(11)*, !dbg !1953 | |
%625 = load i64, i64 addrspace(11)* %624, align 8, !dbg !1953, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not141 = icmp eq i64 %625, 0, !dbg !1955 | |
br i1 %.not141, label %pass20, label %pass38, !dbg !1954 | |
pass20: ; preds = %pass18 | |
%626 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %4, i64 0, i64 0, !dbg !1956 | |
%627 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %626 unordered, align 8, !dbg !1956, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%628 = getelementptr inbounds i8, i8 addrspace(11)* %613, i64 40, !dbg !1956 | |
%629 = bitcast i8 addrspace(11)* %628 to i64 addrspace(11)*, !dbg !1956 | |
%630 = load i64, i64 addrspace(11)* %629, align 8, !dbg !1956, !tbaa !154, !alias.scope !70, !noalias !71 | |
%631 = add i64 %630, -1, !dbg !1958 | |
%632 = bitcast {} addrspace(10)* %627 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !1958 | |
%633 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %632 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !1958 | |
%634 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %633, i64 0, i32 1, !dbg !1958 | |
%635 = load i64, i64 addrspace(11)* %634, align 8, !dbg !1958, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%636 = icmp ult i64 %631, %635, !dbg !1958 | |
br i1 %636, label %idxend22, label %oob21, !dbg !1958 | |
oob21: ; preds = %pass20 | |
%637 = alloca i64, align 8, !dbg !1958 | |
store i64 %630, i64* %637, align 8, !dbg !1958, !noalias !1677 | |
%638 = addrspacecast {} addrspace(10)* %627 to {} addrspace(12)*, !dbg !1958 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %638, i64* nonnull align 8 %637, i64 1) #58, !dbg !1958 | |
unreachable, !dbg !1958 | |
idxend22: ; preds = %pass20 | |
%639 = bitcast {} addrspace(10)* %627 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !1958 | |
%640 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %639 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !1958 | |
%641 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %640, align 8, !dbg !1958, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%642 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %641, i64 %631, !dbg !1958 | |
%643 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %642, align 8, !dbg !1958, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not143 = icmp eq {} addrspace(10)* %643, null, !dbg !1958 | |
br i1 %.not143, label %fail23, label %pass24, !dbg !1958 | |
fail23: ; preds = %idxend22 | |
call void @ijl_throw({} addrspace(12)* addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #58, !dbg !1958 | |
unreachable, !dbg !1958 | |
pass24: ; preds = %idxend22 | |
%644 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811912176 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull %3, {} addrspace(10)* nonnull %605, {} addrspace(10)* nonnull %643, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #60, !dbg !1959 | |
%645 = bitcast {} addrspace(10)* %644 to {} addrspace(10)* addrspace(10)*, !dbg !1959 | |
%646 = addrspacecast {} addrspace(10)* addrspace(10)* %645 to {} addrspace(10)* addrspace(11)*, !dbg !1959 | |
%647 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %646, align 8, !dbg !1959 | |
%648 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1959 | |
store {} addrspace(10)* %647, {} addrspace(10)** %648, align 8, !dbg !1959, !noalias !1677 | |
%649 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1959 | |
%650 = bitcast {} addrspace(10)* %644 to i8 addrspace(10)*, !dbg !1959 | |
%651 = addrspacecast i8 addrspace(10)* %650 to i8 addrspace(11)*, !dbg !1959 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %649, i8 addrspace(11)* noundef align 1 dereferenceable(16) %651, i64 16, i1 false) #58, !dbg !1959, !noalias !1677 | |
br label %common.ret | |
pass28: ; preds = %pass10 | |
%652 = bitcast {} addrspace(10)* %608 to i8 addrspace(10)*, !dbg !1960 | |
%653 = addrspacecast i8 addrspace(10)* %652 to i8 addrspace(11)*, !dbg !1960 | |
%654 = getelementptr inbounds i8, i8 addrspace(11)* %653, i64 48, !dbg !1960 | |
%655 = bitcast i8 addrspace(11)* %654 to {} addrspace(10)* addrspace(11)*, !dbg !1960 | |
%656 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %655 unordered, align 8, !dbg !1960, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not147 = icmp eq {} addrspace(10)* %656, null, !dbg !1960 | |
br i1 %.not147, label %fail29, label %pass30, !dbg !1960 | |
fail29: ; preds = %pass28 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1960 | |
unreachable, !dbg !1960 | |
pass30: ; preds = %pass28 | |
%657 = bitcast {} addrspace(10)* %656 to i64 addrspace(10)*, !dbg !1960 | |
%658 = addrspacecast i64 addrspace(10)* %657 to i64 addrspace(11)*, !dbg !1960 | |
%659 = load i64, i64 addrspace(11)* %658, align 8, !dbg !1960, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not148 = icmp eq i64 %659, 0, !dbg !1962 | |
br i1 %.not148, label %pass32, label %pass38, !dbg !1961 | |
pass32: ; preds = %pass30 | |
%660 = getelementptr inbounds i8, i8 addrspace(11)* %653, i64 40, !dbg !1963 | |
%661 = bitcast i8 addrspace(11)* %660 to i64 addrspace(11)*, !dbg !1963 | |
%662 = load i64, i64 addrspace(11)* %661, align 8, !dbg !1963, !tbaa !154, !alias.scope !70, !noalias !71 | |
%663 = add i64 %662, -1, !dbg !1965 | |
%664 = icmp ult i64 %663, %189, !dbg !1965 | |
br i1 %664, label %idxend34, label %oob33, !dbg !1965 | |
oob33: ; preds = %pass32 | |
%665 = alloca i64, align 8, !dbg !1965 | |
store i64 %662, i64* %665, align 8, !dbg !1965, !noalias !1677 | |
%666 = addrspacecast {} addrspace(10)* %179 to {} addrspace(12)*, !dbg !1965 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %666, i64* noundef nonnull align 8 %665, i64 noundef 1) #62, !dbg !1965 | |
unreachable, !dbg !1965 | |
idxend34: ; preds = %pass32 | |
%667 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %603, i64 %663, !dbg !1965 | |
%668 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %667, align 8, !dbg !1965, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not150 = icmp eq {} addrspace(10)* %668, null, !dbg !1965 | |
br i1 %.not150, label %fail35, label %pass36, !dbg !1965 | |
fail35: ; preds = %idxend34 | |
call void @ijl_throw({} addrspace(12)* addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #58, !dbg !1965 | |
unreachable, !dbg !1965 | |
pass36: ; preds = %idxend34 | |
%669 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* nonnull @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811937824 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %2, {} addrspace(10)* nonnull %3, {} addrspace(10)* nonnull %605, {} addrspace(10)* nonnull %668, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809541100512 to {}*) to {} addrspace(10)*)) #60, !dbg !1966 | |
%670 = bitcast {} addrspace(10)* %669 to {} addrspace(10)* addrspace(10)*, !dbg !1966 | |
%671 = addrspacecast {} addrspace(10)* addrspace(10)* %670 to {} addrspace(10)* addrspace(11)*, !dbg !1966 | |
%672 = load {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %671, align 8, !dbg !1966 | |
%673 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1966 | |
store {} addrspace(10)* %672, {} addrspace(10)** %673, align 8, !dbg !1966, !noalias !1677 | |
%674 = bitcast { {} addrspace(10)*, i8 }* %0 to i8*, !dbg !1966 | |
%675 = bitcast {} addrspace(10)* %669 to i8 addrspace(10)*, !dbg !1966 | |
%676 = addrspacecast i8 addrspace(10)* %675 to i8 addrspace(11)*, !dbg !1966 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* noundef nonnull align 8 dereferenceable(16) %674, i8 addrspace(11)* noundef align 1 dereferenceable(16) %676, i64 16, i1 false) #58, !dbg !1966, !noalias !1677 | |
br label %common.ret | |
pass38: ; preds = %pass30, %pass18, %pass14, %pass10 | |
%677 = addrspacecast { {} addrspace(10)*, i8 } addrspace(10)* %58 to { {} addrspace(10)*, i8 }*, !dbg !1967 | |
%678 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %44 to [1 x {} addrspace(10)*]*, !dbg !1967 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %677, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %678, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %608, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #59, !dbg !1967 | |
%679 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %58, i64 0, i32 0, !dbg !1968 | |
%680 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %679 unordered, align 8, !dbg !1968, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%681 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %58, i64 0, i32 1, !dbg !1969 | |
%682 = load i8, i8 addrspace(10)* %681, align 8, !dbg !1970, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not152.not = icmp eq i8 %682, 0, !dbg !1970 | |
br i1 %.not152.not, label %L116, label %L118, !dbg !1718 | |
oob42: ; preds = %L175 | |
%683 = alloca i64, align 8, !dbg !1766 | |
store i64 %275, i64* %683, align 8, !dbg !1766, !noalias !1677 | |
%684 = addrspacecast {} addrspace(10)* %270 to {} addrspace(12)*, !dbg !1766 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %684, i64* noundef nonnull align 8 %683, i64 noundef 1) #62, !dbg !1766 | |
unreachable, !dbg !1766 | |
idxend43: ; preds = %L175 | |
%685 = bitcast {} addrspace(10)* %270 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !1766 | |
%686 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %685 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !1766 | |
%687 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %686, align 8, !dbg !1766, !tbaa !87, !alias.scope !1705, !noalias !91, !nonnull !37 | |
%688 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %687, i64 %276, !dbg !1766 | |
%689 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %688, align 8, !dbg !1766, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not157 = icmp eq {} addrspace(10)* %689, null, !dbg !1766 | |
br i1 %.not157, label %fail44, label %pass45, !dbg !1766 | |
fail44: ; preds = %idxend43 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1766 | |
unreachable, !dbg !1766 | |
pass45: ; preds = %idxend43 | |
%690 = getelementptr inbounds i8, i8 addrspace(11)* %272, i64 48, !dbg !1767 | |
%691 = bitcast i8 addrspace(11)* %690 to {} addrspace(10)* addrspace(11)*, !dbg !1767 | |
%692 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %691 unordered, align 8, !dbg !1767, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not158 = icmp eq {} addrspace(10)* %692, null, !dbg !1767 | |
br i1 %.not158, label %fail46, label %pass47, !dbg !1767 | |
fail46: ; preds = %pass45 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1767 | |
unreachable, !dbg !1767 | |
pass47: ; preds = %pass45 | |
%693 = bitcast {} addrspace(10)* %692 to i64 addrspace(10)*, !dbg !1767 | |
%694 = addrspacecast i64 addrspace(10)* %693 to i64 addrspace(11)*, !dbg !1767 | |
%695 = load i64, i64 addrspace(11)* %694, align 8, !dbg !1767, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not159 = icmp eq i64 %695, 0, !dbg !1971 | |
br i1 %.not159, label %L182, label %L188, !dbg !1768 | |
fail48: ; preds = %L182 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1767 | |
unreachable, !dbg !1767 | |
pass49: ; preds = %L182 | |
%696 = bitcast {} addrspace(10)* %284 to i64 addrspace(10)*, !dbg !1767 | |
%697 = addrspacecast i64 addrspace(10)* %696 to i64 addrspace(11)*, !dbg !1767 | |
%698 = load i64, i64 addrspace(11)* %697, align 8, !dbg !1767, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not161 = icmp eq i64 %698, 0, !dbg !1971 | |
br i1 %.not161, label %L186, label %pass60, !dbg !1768 | |
fail50: ; preds = %L188 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1770 | |
unreachable, !dbg !1770 | |
pass51.thread: ; preds = %L188 | |
%699 = bitcast {} addrspace(10)* %.pre to i64 addrspace(10)*, !dbg !1770 | |
%700 = addrspacecast i64 addrspace(10)* %699 to i64 addrspace(11)*, !dbg !1770 | |
%701 = load i64, i64 addrspace(11)* %700, align 8, !dbg !1770, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.not163256 = icmp eq i64 %701, 0, !dbg !1972 | |
br i1 %.not163256, label %pass53, label %pass65, !dbg !1771 | |
pass53: ; preds = %pass51.thread | |
%702 = addrspacecast { {} addrspace(10)*, i8 } addrspace(10)* %30 to { {} addrspace(10)*, i8 }*, !dbg !1973 | |
%703 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %23 to [1 x {} addrspace(10)*]*, !dbg !1973 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %702, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %703, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %692, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #59, !dbg !1973 | |
%704 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %30, i64 0, i32 0, !dbg !1974 | |
%705 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %704 unordered, align 8, !dbg !1974, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%706 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %30, i64 0, i32 1, !dbg !1975 | |
%707 = load i8, i8 addrspace(10)* %706, align 8, !dbg !1976, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not165.not = icmp eq i8 %707, 0, !dbg !1976 | |
br i1 %.not165.not, label %L198, label %L200, !dbg !1773 | |
pass60: ; preds = %pass49 | |
%708 = addrspacecast { {} addrspace(10)*, i8 } addrspace(10)* %37 to { {} addrspace(10)*, i8 }*, !dbg !1977 | |
%709 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %51 to [1 x {} addrspace(10)*]*, !dbg !1977 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %708, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %709, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %284, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #59, !dbg !1977 | |
%710 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %37, i64 0, i32 0, !dbg !1978 | |
%711 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %710 unordered, align 8, !dbg !1978, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%712 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %37, i64 0, i32 1, !dbg !1979 | |
%713 = load i8, i8 addrspace(10)* %712, align 8, !dbg !1980, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not172.not = icmp eq i8 %713, 0, !dbg !1980 | |
br i1 %.not172.not, label %L264, label %L266, !dbg !1818 | |
pass65: ; preds = %pass51.thread | |
%714 = addrspacecast { {} addrspace(10)*, i8 } addrspace(10)* %65 to { {} addrspace(10)*, i8 }*, !dbg !1981 | |
%715 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %74 to [1 x {} addrspace(10)*]*, !dbg !1981 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %714, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %715, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %692, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #59, !dbg !1981 | |
%716 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %65, i64 0, i32 0, !dbg !1982 | |
%717 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %716 unordered, align 8, !dbg !1982, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%718 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %65, i64 0, i32 1, !dbg !1983 | |
%719 = load i8, i8 addrspace(10)* %718, align 8, !dbg !1984, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not177.not = icmp eq i8 %719, 0, !dbg !1984 | |
br i1 %.not177.not, label %L326, label %L328, !dbg !1863 | |
fail67: ; preds = %L380 | |
call void @ijl_throw({} addrspace(12)* addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #58, !dbg !1906 | |
unreachable, !dbg !1906 | |
pass68: ; preds = %L380 | |
%720 = addrspacecast { {} addrspace(10)*, i8 } addrspace(10)* %88 to { {} addrspace(10)*, i8 }*, !dbg !1907 | |
%721 = addrspacecast [1 x {} addrspace(10)*] addrspace(10)* %102 to [1 x {} addrspace(10)*]*, !dbg !1907 | |
call fastcc void @julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %720, [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull align 8 dereferenceable(8) %721, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %519, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) #59, !dbg !1907 | |
%722 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %88, i64 0, i32 0, !dbg !1985 | |
%723 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %722 unordered, align 8, !dbg !1985, !tbaa !335, !alias.scope !337, !noalias !547, !nonnull !37, !dereferenceable !675, !align !676 | |
%724 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %88, i64 0, i32 1, !dbg !1986 | |
%725 = load i8, i8 addrspace(10)* %724, align 8, !dbg !1987, !tbaa !335, !range !546, !alias.scope !337, !noalias !547 | |
%.not180.not = icmp eq i8 %725, 0, !dbg !1987 | |
br i1 %.not180.not, label %L386, label %L388, !dbg !1909 | |
fail74: ; preds = %L15 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1680 | |
unreachable, !dbg !1680 | |
pass75: ; preds = %L15 | |
%726 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %123) #59, !dbg !1681 | |
br label %L25, !dbg !1681 | |
fail76: ; preds = %L18 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1683 | |
unreachable, !dbg !1683 | |
pass77: ; preds = %L18 | |
%727 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %128) #59, !dbg !1684 | |
%728 = and i8 %727, 1, !dbg !1684 | |
%.not189 = icmp eq i8 %728, 0, !dbg !1684 | |
br i1 %.not189, label %L69, label %L21, !dbg !1684 | |
fail78: ; preds = %L21 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !1683 | |
unreachable, !dbg !1683 | |
pass79: ; preds = %L21 | |
%729 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %131) #59, !dbg !1684 | |
br label %L25, !dbg !1684 | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.3({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to { {} addrspace(10)*, i8 } addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 16 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: argmemonly nofree nounwind willreturn | |
declare void @llvm.memcpy.p0i8.p10i8.i64(i8* noalias nocapture writeonly, i8 addrspace(10)* noalias nocapture readonly, i64, i1 immarg) #38 | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.4({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to [1 x {} addrspace(10)*] addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 8 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
declare i8* @malloc(i64) | |
; Function Attrs: argmemonly nofree nounwind willreturn writeonly | |
declare void @llvm.memset.p0i8.i64(i8* nocapture writeonly, i8, i64, i1 immarg) #39 | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.5({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to { {} addrspace(10)*, i8 } addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 16 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.6({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to [1 x {} addrspace(10)*] addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 8 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.7({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to { {} addrspace(10)*, i8 } addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 16 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.8({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to [1 x {} addrspace(10)*] addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 8 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.9({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to { {} addrspace(10)*, i8 } addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 16 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.10({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to [1 x {} addrspace(10)*] addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 8 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.11({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to { {} addrspace(10)*, i8 } addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 16 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.12({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to [1 x {} addrspace(10)*] addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 8 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.13({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to { {} addrspace(10)*, i8 } addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 } addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 16 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.14({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to [1 x {} addrspace(10)*] addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr [1 x {} addrspace(10)*], [1 x {} addrspace(10)*] addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = udiv exact i64 %2, 8 | |
%8 = icmp eq i64 %5, %7 | |
br i1 %8, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
; Function Attrs: argmemonly nofree nounwind willreturn writeonly | |
declare void @llvm.memset.p10i8.i64(i8 addrspace(10)* nocapture writeonly, i8, i64, i1 immarg) #39 | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc void @preprocess_julia_deg0_eval_2091({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ {} addrspace(10)*, i8 }) align 8 dereferenceable(16) %0, [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull readnone align 8 dereferenceable(8) %1, {} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %2, {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3) unnamed_addr #40 !dbg !1988 { | |
top: | |
%4 = call noalias nonnull dereferenceable(16) dereferenceable_or_null(16) i8* @malloc(i64 16), !enzyme_fromstack !162 | |
call void @llvm.memset.p0i8.i64(i8* %4, i8 0, i64 16, i1 false), !enzyme_zerostack !37 | |
%5 = bitcast i8* %4 to { i64, [1 x [1 x i64]] }*, !enzyme_caststack !37 | |
%6 = call noalias nonnull dereferenceable(8) dereferenceable_or_null(8) i8* @malloc(i64 8), !enzyme_fromstack !162 | |
call void @llvm.memset.p0i8.i64(i8* %6, i8 0, i64 8, i1 false), !enzyme_zerostack !37 | |
%7 = bitcast i8* %6 to [1 x [1 x i64]]*, !enzyme_caststack !37 | |
%8 = call {}*** @julia.get_pgcstack() #58 | |
%9 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !1989 | |
%10 = addrspacecast i8 addrspace(10)* %9 to i8 addrspace(11)*, !dbg !1989 | |
%11 = getelementptr inbounds i8, i8 addrspace(11)* %10, i64 8, !dbg !1989 | |
%12 = load i8, i8 addrspace(11)* %11, align 8, !dbg !1989, !tbaa !154, !alias.scope !70, !noalias !71 | |
%13 = and i8 %12, 1, !dbg !1989 | |
%.not = icmp eq i8 %13, 0, !dbg !1989 | |
br i1 %.not, label %L39, label %L3, !dbg !1990 | |
L3: ; preds = %top | |
%14 = getelementptr inbounds i8, i8 addrspace(11)* %10, i64 16, !dbg !1991 | |
%15 = getelementptr inbounds i8, i8 addrspace(11)* %10, i64 24, !dbg !1991 | |
%16 = load i8, i8 addrspace(11)* %15, align 8, !dbg !1991, !tbaa !492, !range !546, !alias.scope !337, !noalias !547 | |
%17 = bitcast i8 addrspace(11)* %14 to i64 addrspace(11)*, !dbg !1991 | |
%18 = load i64, i64 addrspace(11)* %17, align 8, !dbg !1991, !tbaa !154, !alias.scope !70, !noalias !71 | |
%19 = icmp eq i8 %16, 1, !dbg !1992 | |
br i1 %19, label %pass, label %post_box_union, !dbg !1992 | |
L20: ; preds = %L20.preheader.new.new, %L20 | |
%iv = phi i64 [ 0, %L20.preheader.new.new ], [ %iv.next, %L20 ] | |
%20 = shl nuw i64 %iv, 1, !dbg !1993 | |
%iv.next = add nuw nsw i64 %iv, 1, !dbg !1993 | |
%21 = shl i64 %iv, 4, !dbg !1993 | |
%22 = add i64 %21, 1, !dbg !1993 | |
%23 = add nsw i64 %22, -1, !dbg !1993 | |
%24 = getelementptr inbounds double, double addrspace(13)* %155, i64 %23, !dbg !1993 | |
%25 = bitcast double addrspace(13)* %24 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %25, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%26 = add nuw nsw i64 %22, 1, !dbg !2000 | |
%27 = getelementptr inbounds double, double addrspace(13)* %155, i64 %22, !dbg !1993 | |
%28 = bitcast double addrspace(13)* %27 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %28, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%29 = add nuw nsw i64 %22, 2, !dbg !2000 | |
%30 = getelementptr inbounds double, double addrspace(13)* %155, i64 %26, !dbg !1993 | |
%31 = bitcast double addrspace(13)* %30 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %31, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%32 = add nuw nsw i64 %22, 3, !dbg !2000 | |
%33 = getelementptr inbounds double, double addrspace(13)* %155, i64 %29, !dbg !1993 | |
%34 = bitcast double addrspace(13)* %33 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %34, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%35 = add nuw nsw i64 %22, 4, !dbg !2000 | |
%36 = getelementptr inbounds double, double addrspace(13)* %155, i64 %32, !dbg !1993 | |
%37 = bitcast double addrspace(13)* %36 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %37, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%38 = add nuw nsw i64 %22, 5, !dbg !2000 | |
%39 = getelementptr inbounds double, double addrspace(13)* %155, i64 %35, !dbg !1993 | |
%40 = bitcast double addrspace(13)* %39 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %40, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%41 = add nuw nsw i64 %22, 6, !dbg !2000 | |
%42 = getelementptr inbounds double, double addrspace(13)* %155, i64 %38, !dbg !1993 | |
%43 = bitcast double addrspace(13)* %42 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %43, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%44 = getelementptr inbounds double, double addrspace(13)* %155, i64 %41, !dbg !1993 | |
%45 = bitcast double addrspace(13)* %44 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %45, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%46 = add nuw nsw i64 %22, 8, !dbg !2000 | |
%47 = add nuw nsw i64 %22, 7, !dbg !1993 | |
%48 = getelementptr inbounds double, double addrspace(13)* %155, i64 %47, !dbg !1993 | |
%49 = bitcast double addrspace(13)* %48 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %49, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%50 = add nuw nsw i64 %22, 9, !dbg !2000 | |
%51 = getelementptr inbounds double, double addrspace(13)* %155, i64 %46, !dbg !1993 | |
%52 = bitcast double addrspace(13)* %51 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %52, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%53 = add nuw nsw i64 %22, 10, !dbg !2000 | |
%54 = getelementptr inbounds double, double addrspace(13)* %155, i64 %50, !dbg !1993 | |
%55 = bitcast double addrspace(13)* %54 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %55, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%56 = add nuw nsw i64 %22, 11, !dbg !2000 | |
%57 = getelementptr inbounds double, double addrspace(13)* %155, i64 %53, !dbg !1993 | |
%58 = bitcast double addrspace(13)* %57 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %58, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%59 = add nuw nsw i64 %22, 12, !dbg !2000 | |
%60 = getelementptr inbounds double, double addrspace(13)* %155, i64 %56, !dbg !1993 | |
%61 = bitcast double addrspace(13)* %60 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %61, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%62 = add nuw nsw i64 %22, 13, !dbg !2000 | |
%63 = getelementptr inbounds double, double addrspace(13)* %155, i64 %59, !dbg !1993 | |
%64 = bitcast double addrspace(13)* %63 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %64, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%65 = add nuw nsw i64 %22, 14, !dbg !2000 | |
%66 = getelementptr inbounds double, double addrspace(13)* %155, i64 %62, !dbg !1993 | |
%67 = bitcast double addrspace(13)* %66 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %67, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%68 = getelementptr inbounds double, double addrspace(13)* %155, i64 %65, !dbg !1993 | |
%69 = bitcast double addrspace(13)* %68 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %69, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%70 = add nuw nsw i64 %22, 16, !dbg !2000 | |
%niter62.next.1 = add i64 %20, 2, !dbg !2001 | |
%niter62.ncmp.1 = icmp eq i64 %niter62.next.1, %unroll_iter61, !dbg !2001 | |
br i1 %niter62.ncmp.1, label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit, label %L20, !dbg !2001 | |
common.ret: ; preds = %L131, %L37 | |
%.pn53 = phi {} addrspace(10)* [ %148, %L37 ], [ %119, %L131 ] | |
%.pn = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %.pn53, 0, !dbg !2002 | |
%storemerge = insertvalue { {} addrspace(10)*, i8 } %.pn, i8 1, 1, !dbg !2002 | |
store { {} addrspace(10)*, i8 } %storemerge, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !2002, !noalias !2003 | |
ret void, !dbg !2002 | |
L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit: ; preds = %L20 | |
br label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, !dbg !2001 | |
L37.loopexit.unr-lcssa.loopexit.unr-lcssa: ; preds = %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit, %L20.preheader.new | |
%.lcssa.ph = phi i64 [ undef, %L20.preheader.new ], [ %70, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit ] | |
%value_phi5.unr59 = phi i64 [ 1, %L20.preheader.new ], [ %70, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit ] | |
%lcmp.mod.not63 = icmp eq i64 %xtraiter55, 0, !dbg !2001 | |
br i1 %lcmp.mod.not63, label %L37.loopexit.unr-lcssa, label %L20.epil.preheader54, !dbg !2001 | |
L20.epil.preheader54: ; preds = %L37.loopexit.unr-lcssa.loopexit.unr-lcssa | |
%71 = add nsw i64 %value_phi5.unr59, -1, !dbg !1993 | |
%72 = getelementptr inbounds double, double addrspace(13)* %155, i64 %71, !dbg !1993 | |
%73 = bitcast double addrspace(13)* %72 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %73, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%74 = add nuw nsw i64 %value_phi5.unr59, 1, !dbg !2000 | |
%75 = getelementptr inbounds double, double addrspace(13)* %155, i64 %value_phi5.unr59, !dbg !1993 | |
%76 = bitcast double addrspace(13)* %75 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %76, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%77 = add nuw nsw i64 %value_phi5.unr59, 2, !dbg !2000 | |
%78 = getelementptr inbounds double, double addrspace(13)* %155, i64 %74, !dbg !1993 | |
%79 = bitcast double addrspace(13)* %78 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %79, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%80 = add nuw nsw i64 %value_phi5.unr59, 3, !dbg !2000 | |
%81 = getelementptr inbounds double, double addrspace(13)* %155, i64 %77, !dbg !1993 | |
%82 = bitcast double addrspace(13)* %81 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %82, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%83 = add nuw nsw i64 %value_phi5.unr59, 4, !dbg !2000 | |
%84 = getelementptr inbounds double, double addrspace(13)* %155, i64 %80, !dbg !1993 | |
%85 = bitcast double addrspace(13)* %84 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %85, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%86 = add nuw nsw i64 %value_phi5.unr59, 5, !dbg !2000 | |
%87 = getelementptr inbounds double, double addrspace(13)* %155, i64 %83, !dbg !1993 | |
%88 = bitcast double addrspace(13)* %87 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %88, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%89 = add nuw nsw i64 %value_phi5.unr59, 6, !dbg !2000 | |
%90 = getelementptr inbounds double, double addrspace(13)* %155, i64 %86, !dbg !1993 | |
%91 = bitcast double addrspace(13)* %90 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %91, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%92 = getelementptr inbounds double, double addrspace(13)* %155, i64 %89, !dbg !1993 | |
%93 = bitcast double addrspace(13)* %92 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %93, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%94 = add nuw nsw i64 %value_phi5.unr59, 8, !dbg !2000 | |
br label %L37.loopexit.unr-lcssa, !dbg !2001 | |
L37.loopexit.unr-lcssa: ; preds = %L20.preheader, %L20.epil.preheader54, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa | |
%value_phi5.unr = phi i64 [ 1, %L20.preheader ], [ %.lcssa.ph, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa ], [ %94, %L20.epil.preheader54 ] | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !2001 | |
br i1 %lcmp.mod.not, label %L37, label %L20.epil.preheader, !dbg !2001 | |
L20.epil.preheader: ; preds = %L37.loopexit.unr-lcssa | |
br label %L20.epil, !dbg !2001 | |
L20.epil: ; preds = %L20.epil.preheader, %L20.epil | |
%iv1 = phi i64 [ 0, %L20.epil.preheader ], [ %iv.next2, %L20.epil ] | |
%95 = add i64 %value_phi5.unr, %iv1, !dbg !1993 | |
%iv.next2 = add nuw nsw i64 %iv1, 1, !dbg !1993 | |
%96 = add nsw i64 %95, -1, !dbg !1993 | |
%97 = getelementptr inbounds double, double addrspace(13)* %155, i64 %96, !dbg !1993 | |
%98 = bitcast double addrspace(13)* %97 to i64 addrspace(13)*, !dbg !1993 | |
store i64 %18, i64 addrspace(13)* %98, align 8, !dbg !1993, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%99 = add nuw nsw i64 %95, 1, !dbg !2000 | |
%epil.iter.cmp.not = icmp eq i64 %iv.next2, %xtraiter, !dbg !2001 | |
br i1 %epil.iter.cmp.not, label %L37.loopexit, label %L20.epil, !dbg !2001, !llvm.loop !2004 | |
L37.loopexit: ; preds = %L20.epil | |
br label %L37, !dbg !1992 | |
L37: ; preds = %L37.loopexit, %pass, %L37.loopexit.unr-lcssa | |
%100 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !1992 | |
br label %common.ret | |
L39: ; preds = %top | |
%101 = getelementptr inbounds i8, i8 addrspace(11)* %10, i64 32, !dbg !2005 | |
%102 = bitcast i8 addrspace(11)* %101 to i64 addrspace(11)*, !dbg !2005 | |
%103 = load i64, i64 addrspace(11)* %102, align 8, !dbg !2005, !tbaa !154, !alias.scope !70, !noalias !71 | |
%104 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !2007 | |
%105 = addrspacecast {} addrspace(10)* addrspace(10)* %104 to {} addrspace(10)* addrspace(11)*, !dbg !2007 | |
%106 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %105, i64 4, !dbg !2007 | |
%107 = bitcast {} addrspace(10)* addrspace(11)* %106 to i64 addrspace(11)*, !dbg !2007 | |
%108 = load i64, i64 addrspace(11)* %107, align 16, !dbg !2007, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%109 = getelementptr inbounds { i64, [1 x [1 x i64]] }, { i64, [1 x [1 x i64]] }* %5, i64 0, i32 0, !dbg !2011 | |
store i64 %103, i64* %109, align 8, !dbg !2011, !tbaa !335, !alias.scope !337, !noalias !2013 | |
%110 = getelementptr inbounds { i64, [1 x [1 x i64]] }, { i64, [1 x [1 x i64]] }* %5, i64 0, i32 1, i64 0, i64 0, !dbg !2011 | |
store i64 %108, i64* %110, align 8, !dbg !2011, !tbaa !335, !alias.scope !337, !noalias !2013 | |
%111 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %105, i64 3, !dbg !2014 | |
%112 = bitcast {} addrspace(10)* addrspace(11)* %111 to i64 addrspace(11)*, !dbg !2014 | |
%113 = load i64, i64 addrspace(11)* %112, align 8, !dbg !2014, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%114 = icmp slt i64 %103, 1, !dbg !2018 | |
%115 = icmp sgt i64 %103, %113, !dbg !2018 | |
%116 = or i1 %114, %115, !dbg !2017 | |
br i1 %116, label %L56, label %L59, !dbg !2017 | |
L56: ; preds = %L39 | |
%117 = addrspacecast { i64, [1 x [1 x i64]] }* %5 to { i64, [1 x [1 x i64]] } addrspace(11)*, !dbg !2017 | |
call fastcc void @julia_throw_boundserror_2095({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, { i64, [1 x [1 x i64]] } addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %117) #64, !dbg !2017 | |
unreachable, !dbg !2017 | |
L59: ; preds = %L39 | |
%118 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %7, i64 0, i64 0, i64 0, !dbg !2021 | |
store i64 %108, i64* %118, align 8, !dbg !2021, !tbaa !335, !alias.scope !337, !noalias !2013 | |
%119 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %108) #58, !dbg !2026 | |
%120 = bitcast {} addrspace(10)* %119 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2031 | |
%121 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %120 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2031 | |
%122 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %121, i64 0, i32 1, !dbg !2031 | |
%123 = load i64, i64 addrspace(11)* %122, align 8, !dbg !2031, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not47.not = icmp eq i64 %123, %108, !dbg !2034 | |
br i1 %.not47.not, label %L72, label %L127, !dbg !2033 | |
L72: ; preds = %L59 | |
%.not49.not = icmp eq i64 %108, 0, !dbg !2037 | |
br i1 %.not49.not, label %L131, label %L92.preheader, !dbg !2042 | |
L92.preheader: ; preds = %L72 | |
%124 = add nsw i64 %103, -1, !dbg !2045 | |
%125 = bitcast {} addrspace(10)* %3 to double addrspace(13)* addrspace(10)* | |
%126 = addrspacecast double addrspace(13)* addrspace(10)* %125 to double addrspace(13)* addrspace(11)* | |
%127 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %126, align 8 | |
%128 = bitcast {} addrspace(10)* %119 to double addrspace(13)* addrspace(10)* | |
%129 = addrspacecast double addrspace(13)* addrspace(10)* %128 to double addrspace(13)* addrspace(11)* | |
br label %L92, !dbg !2048 | |
L92: ; preds = %L100, %L92.preheader | |
%iv3 = phi i64 [ %iv.next4, %L100 ], [ 0, %L92.preheader ] | |
%value_phi19 = phi i1 [ %138, %L100 ], [ false, %L92.preheader ] | |
%value_phi20 = phi i64 [ %value_phi23, %L100 ], [ 1, %L92.preheader ] | |
%iv.next4 = add nuw nsw i64 %iv3, 1, !dbg !2048 | |
br i1 %value_phi19, label %L131.loopexit, label %L100, !dbg !2048 | |
L100: ; preds = %L92 | |
%130 = add nsw i64 %iv.next4, -1, !dbg !2045 | |
%131 = mul i64 %130, %113, !dbg !2045 | |
%132 = add i64 %124, %131, !dbg !2045 | |
%133 = getelementptr inbounds double, double addrspace(13)* %127, i64 %132, !dbg !2045 | |
%134 = load double, double addrspace(13)* %133, align 8, !dbg !2045, !tbaa !67, !alias.scope !70, !noalias !71 | |
%135 = add i64 %value_phi20, -1, !dbg !2049 | |
%136 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %129, align 8, !dbg !2049, !tbaa !87, !alias.scope !2050, !noalias !91, !nonnull !37 | |
%137 = getelementptr inbounds double, double addrspace(13)* %136, i64 %135, !dbg !2049 | |
store double %134, double addrspace(13)* %137, align 8, !dbg !2049, !tbaa !67, !alias.scope !70, !noalias !1997 | |
%138 = icmp eq i64 %value_phi20, %108, !dbg !2051 | |
%139 = add i64 %value_phi20, 1, !dbg !2052 | |
%value_phi23 = select i1 %138, i64 undef, i64 %139, !dbg !2052 | |
%.not50 = icmp eq i64 %iv.next4, %108, !dbg !2054 | |
%140 = add nuw nsw i64 %iv.next4, 1, !dbg !2055 | |
br i1 %.not50, label %L131.loopexit, label %L92, !dbg !2057 | |
L127: ; preds = %L59 | |
%141 = addrspacecast [1 x [1 x i64]]* %7 to [1 x [1 x i64]] addrspace(11)*, !dbg !2033 | |
call fastcc void @julia_throw_checksize_error_2097({} addrspace(10)* nocapture noundef nonnull readonly align 16 dereferenceable(40) %119, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %141) #64, !dbg !2033 | |
unreachable, !dbg !2033 | |
L131.loopexit: ; preds = %L92, %L100 | |
br label %L131, !dbg !2006 | |
L131: ; preds = %L131.loopexit, %L72 | |
%142 = getelementptr inbounds [1 x {} addrspace(10)*], [1 x {} addrspace(10)*]* %1, i64 0, i64 0, !dbg !2006 | |
br label %common.ret | |
post_box_union: ; preds = %L3 | |
call void @ijl_type_error(i8* noundef getelementptr inbounds ([11 x i8], [11 x i8]* @_j_str1, i64 0, i64 0), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809581499376 to {}*) to {} addrspace(10)*), {} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(12)*)) #62, !dbg !1992 | |
unreachable, !dbg !1992 | |
pass: ; preds = %L3 | |
%143 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !2058 | |
%144 = addrspacecast {} addrspace(10)* addrspace(10)* %143 to {} addrspace(10)* addrspace(11)*, !dbg !2058 | |
%145 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %144, i64 4, !dbg !2058 | |
%146 = bitcast {} addrspace(10)* addrspace(11)* %145 to i64 addrspace(11)*, !dbg !2058 | |
%147 = load i64, i64 addrspace(11)* %146, align 16, !dbg !2058, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !143, !noalias !144 | |
%148 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %147) #58, !dbg !2060 | |
%149 = bitcast {} addrspace(10)* %148 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2062 | |
%150 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %149 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2062 | |
%151 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %150, i64 0, i32 1, !dbg !2062 | |
%152 = load i64, i64 addrspace(11)* %151, align 8, !dbg !2062, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%.not45.not = icmp eq i64 %152, 0, !dbg !2067 | |
br i1 %.not45.not, label %L37, label %L20.preheader, !dbg !2066 | |
L20.preheader: ; preds = %pass | |
%153 = bitcast {} addrspace(10)* %148 to double addrspace(13)* addrspace(10)* | |
%154 = addrspacecast double addrspace(13)* addrspace(10)* %153 to double addrspace(13)* addrspace(11)* | |
%155 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %154, align 8, !tbaa !87, !alias.scope !2050, !noalias !91, !nonnull !37 | |
%156 = add nsw i64 %152, -1, !dbg !2001 | |
%xtraiter = and i64 %152, 7, !dbg !2001 | |
%157 = icmp ult i64 %156, 7, !dbg !2001 | |
br i1 %157, label %L37.loopexit.unr-lcssa, label %L20.preheader.new, !dbg !2001 | |
L20.preheader.new: ; preds = %L20.preheader | |
%unroll_iter = and i64 %152, 9223372036854775800, !dbg !2001 | |
%158 = add nsw i64 %unroll_iter, -8, !dbg !2001 | |
%159 = lshr exact i64 %158, 3, !dbg !2001 | |
%160 = add nuw nsw i64 %159, 1, !dbg !2001 | |
%xtraiter55 = and i64 %160, 1, !dbg !2001 | |
%161 = icmp eq i64 %158, 0, !dbg !2001 | |
br i1 %161, label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, label %L20.preheader.new.new, !dbg !2001 | |
L20.preheader.new.new: ; preds = %L20.preheader.new | |
%unroll_iter61 = and i64 %160, 4611686018427387902, !dbg !2001 | |
br label %L20, !dbg !2001 | |
} | |
; Function Attrs: argmemonly nofree nounwind willreturn writeonly | |
declare void @llvm.memset.p13i8.i64(i8 addrspace(13)* nocapture writeonly, i8, i64, i1 immarg) #39 | |
; Function Attrs: alwaysinline nounwind | |
define internal i8* @__enzyme_exponentialallocationzero(i8* %ptr, i64 %size, i64 %tsize) #41 { | |
entry: | |
%0 = and i64 %size, 1 | |
%1 = icmp ne i64 %0, 0 | |
%2 = call i64 @llvm.ctpop.i64(i64 %size) | |
%3 = icmp ult i64 %2, 3 | |
%4 = and i1 %3, %1 | |
br i1 %4, label %grow, label %ok | |
grow: ; preds = %entry | |
%5 = call i64 @llvm.ctlz.i64(i64 %size, i1 true) | |
%6 = sub nuw nsw i64 64, %5 | |
%7 = shl i64 %tsize, %6 | |
%8 = lshr i64 %7, 1 | |
%9 = icmp eq i64 %size, 1 | |
%10 = select i1 %9, i64 0, i64 %8 | |
%11 = call i8* @realloc(i8* %ptr, i64 %7) | |
%12 = sub i64 %7, %10 | |
%13 = getelementptr inbounds i8, i8* %11, i64 %10 | |
call void @llvm.memset.p0i8.i64(i8* %13, i8 0, i64 %12, i1 false) | |
br label %ok | |
ok: ; preds = %grow, %entry | |
%14 = phi i8* [ %11, %grow ], [ %ptr, %entry ] | |
ret i8* %14 | |
} | |
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctpop.i64(i64) #42 | |
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn | |
declare i64 @llvm.ctlz.i64(i64, i1 immarg) #42 | |
declare i8* @realloc(i8*, i64) | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 } @augmented_julia_deg0_eval_2091({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) "enzyme_sret" %0, { {} addrspace(10)*, i8 }* nocapture "enzyme_sret" %"'", [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull readnone align 8 dereferenceable(8) %1, {} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %2, {} addrspace(10)* nocapture %"'1", {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3) unnamed_addr #40 !dbg !2071 { | |
top: | |
%4 = alloca { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, align 8 | |
%5 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i64 0, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %5, align 8 | |
%6 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i64 0, i32 1 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %6, align 8 | |
%7 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i64 0, i32 2 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %7, align 8 | |
%8 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i64 0, i32 3 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %8, align 8 | |
%"iv'ac" = alloca i64, align 8 | |
%"iv1'ac" = alloca i64, align 8 | |
%"iv3'ac" = alloca i64, align 8 | |
%9 = alloca [1 x [1 x i64]], i64 1, align 8 | |
%10 = bitcast [1 x [1 x i64]]* %9 to i8* | |
%11 = alloca { i64, [1 x [1 x i64]] }, i64 1, align 8 | |
%12 = bitcast { i64, [1 x [1 x i64]] }* %11 to i8* | |
%value_phi20_cache = alloca i64*, align 8 | |
%13 = bitcast i8* %12 to { i64, [1 x [1 x i64]] }*, !enzyme_caststack !37 | |
%14 = bitcast i8* %10 to [1 x [1 x i64]]*, !enzyme_caststack !37 | |
%15 = call {}*** @julia.get_pgcstack() #58 | |
%16 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !2072 | |
%17 = addrspacecast i8 addrspace(10)* %16 to i8 addrspace(11)*, !dbg !2072 | |
%18 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 8, !dbg !2072 | |
%19 = load i8, i8 addrspace(11)* %18, align 8, !dbg !2072, !tbaa !154, !alias.scope !2074, !noalias !2077 | |
%20 = and i8 %19, 1, !dbg !2072 | |
%.not = icmp eq i8 %20, 0, !dbg !2072 | |
br i1 %.not, label %L39, label %L3, !dbg !2073 | |
L3: ; preds = %top | |
%21 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 16, !dbg !2079 | |
%22 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 24, !dbg !2079 | |
%23 = load i8, i8 addrspace(11)* %22, align 8, !dbg !2079, !tbaa !492, !range !546, !alias.scope !2081, !noalias !2082 | |
%24 = bitcast i8 addrspace(11)* %21 to i64 addrspace(11)*, !dbg !2079 | |
%25 = load i64, i64 addrspace(11)* %24, align 8, !dbg !2079, !tbaa !154, !alias.scope !2074, !noalias !2077 | |
%26 = icmp eq i8 %23, 1, !dbg !2080 | |
br i1 %26, label %pass, label %post_box_union, !dbg !2080 | |
L20: ; preds = %L20.preheader.new.new, %L20 | |
%iv = phi i64 [ 0, %L20.preheader.new.new ], [ %iv.next, %L20 ] | |
%iv.next = add nuw nsw i64 %iv, 1, !dbg !2083 | |
%27 = shl nuw i64 %iv, 1, !dbg !2083 | |
%28 = shl i64 %iv, 4, !dbg !2083 | |
%29 = add i64 %28, 1, !dbg !2083 | |
%30 = add nsw i64 %29, -1, !dbg !2083 | |
%31 = getelementptr inbounds double, double addrspace(13)* %197, i64 %30, !dbg !2083 | |
%32 = bitcast double addrspace(13)* %31 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %32, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%33 = add nuw nsw i64 %29, 1, !dbg !2094 | |
%34 = getelementptr inbounds double, double addrspace(13)* %197, i64 %29, !dbg !2083 | |
%35 = bitcast double addrspace(13)* %34 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %35, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%36 = add nuw nsw i64 %29, 2, !dbg !2094 | |
%37 = getelementptr inbounds double, double addrspace(13)* %197, i64 %33, !dbg !2083 | |
%38 = bitcast double addrspace(13)* %37 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %38, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%39 = add nuw nsw i64 %29, 3, !dbg !2094 | |
%40 = getelementptr inbounds double, double addrspace(13)* %197, i64 %36, !dbg !2083 | |
%41 = bitcast double addrspace(13)* %40 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %41, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%42 = add nuw nsw i64 %29, 4, !dbg !2094 | |
%43 = getelementptr inbounds double, double addrspace(13)* %197, i64 %39, !dbg !2083 | |
%44 = bitcast double addrspace(13)* %43 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %44, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%45 = add nuw nsw i64 %29, 5, !dbg !2094 | |
%46 = getelementptr inbounds double, double addrspace(13)* %197, i64 %42, !dbg !2083 | |
%47 = bitcast double addrspace(13)* %46 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %47, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%48 = add nuw nsw i64 %29, 6, !dbg !2094 | |
%49 = getelementptr inbounds double, double addrspace(13)* %197, i64 %45, !dbg !2083 | |
%50 = bitcast double addrspace(13)* %49 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %50, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%51 = getelementptr inbounds double, double addrspace(13)* %197, i64 %48, !dbg !2083 | |
%52 = bitcast double addrspace(13)* %51 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %52, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%53 = add nuw nsw i64 %29, 8, !dbg !2094 | |
%54 = add nuw nsw i64 %29, 7, !dbg !2083 | |
%55 = getelementptr inbounds double, double addrspace(13)* %197, i64 %54, !dbg !2083 | |
%56 = bitcast double addrspace(13)* %55 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %56, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%57 = add nuw nsw i64 %29, 9, !dbg !2094 | |
%58 = getelementptr inbounds double, double addrspace(13)* %197, i64 %53, !dbg !2083 | |
%59 = bitcast double addrspace(13)* %58 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %59, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%60 = add nuw nsw i64 %29, 10, !dbg !2094 | |
%61 = getelementptr inbounds double, double addrspace(13)* %197, i64 %57, !dbg !2083 | |
%62 = bitcast double addrspace(13)* %61 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %62, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%63 = add nuw nsw i64 %29, 11, !dbg !2094 | |
%64 = getelementptr inbounds double, double addrspace(13)* %197, i64 %60, !dbg !2083 | |
%65 = bitcast double addrspace(13)* %64 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %65, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%66 = add nuw nsw i64 %29, 12, !dbg !2094 | |
%67 = getelementptr inbounds double, double addrspace(13)* %197, i64 %63, !dbg !2083 | |
%68 = bitcast double addrspace(13)* %67 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %68, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%69 = add nuw nsw i64 %29, 13, !dbg !2094 | |
%70 = getelementptr inbounds double, double addrspace(13)* %197, i64 %66, !dbg !2083 | |
%71 = bitcast double addrspace(13)* %70 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %71, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%72 = add nuw nsw i64 %29, 14, !dbg !2094 | |
%73 = getelementptr inbounds double, double addrspace(13)* %197, i64 %69, !dbg !2083 | |
%74 = bitcast double addrspace(13)* %73 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %74, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%75 = getelementptr inbounds double, double addrspace(13)* %197, i64 %72, !dbg !2083 | |
%76 = bitcast double addrspace(13)* %75 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %76, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%77 = add nuw nsw i64 %29, 16, !dbg !2094 | |
%niter62.next.1 = add i64 %27, 2, !dbg !2095 | |
%niter62.ncmp.1 = icmp eq i64 %niter62.next.1, %unroll_iter61, !dbg !2095 | |
br i1 %niter62.ncmp.1, label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit, label %L20, !dbg !2095 | |
common.ret: ; preds = %L131, %L37 | |
%78 = phi {} addrspace(10)* [ %185, %L37 ], [ %131, %L131 ] | |
%.pn53 = phi {} addrspace(10)* [ %183, %L37 ], [ %129, %L131 ] | |
%".pn'ipiv" = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %78, 0, !dbg !2096 | |
%.pn = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %.pn53, 0, !dbg !2096 | |
%"storemerge'ipiv" = insertvalue { {} addrspace(10)*, i8 } %".pn'ipiv", i8 1, 1, !dbg !2096 | |
%storemerge = insertvalue { {} addrspace(10)*, i8 } %.pn, i8 1, 1, !dbg !2096 | |
store { {} addrspace(10)*, i8 } %"storemerge'ipiv", { {} addrspace(10)*, i8 }* %"'", align 8, !dbg !2096, !alias.scope !2097, !noalias !2100 | |
store { {} addrspace(10)*, i8 } %storemerge, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !2096, !alias.scope !2102, !noalias !2103 | |
%79 = load { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, align 8, !dbg !2096 | |
ret { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 } %79, !dbg !2096 | |
L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit: ; preds = %L20 | |
br label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, !dbg !2095 | |
L37.loopexit.unr-lcssa.loopexit.unr-lcssa: ; preds = %L20.preheader.new, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit | |
%.lcssa.ph = phi i64 [ undef, %L20.preheader.new ], [ %77, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit ] | |
%value_phi5.unr59 = phi i64 [ 1, %L20.preheader.new ], [ %77, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit ] | |
%80 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i32 0, i32 4, !dbg !2095 | |
store i64 %value_phi5.unr59, i64* %80, align 8, !dbg !2095 | |
%lcmp.mod.not63 = icmp eq i64 %xtraiter55, 0, !dbg !2095 | |
br i1 %lcmp.mod.not63, label %L37.loopexit.unr-lcssa, label %L20.epil.preheader54, !dbg !2095 | |
L20.epil.preheader54: ; preds = %L37.loopexit.unr-lcssa.loopexit.unr-lcssa | |
%81 = add nsw i64 %value_phi5.unr59, -1, !dbg !2083 | |
%82 = getelementptr inbounds double, double addrspace(13)* %197, i64 %81, !dbg !2083 | |
%83 = bitcast double addrspace(13)* %82 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %83, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%84 = add nuw nsw i64 %value_phi5.unr59, 1, !dbg !2094 | |
%85 = getelementptr inbounds double, double addrspace(13)* %197, i64 %value_phi5.unr59, !dbg !2083 | |
%86 = bitcast double addrspace(13)* %85 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %86, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%87 = add nuw nsw i64 %value_phi5.unr59, 2, !dbg !2094 | |
%88 = getelementptr inbounds double, double addrspace(13)* %197, i64 %84, !dbg !2083 | |
%89 = bitcast double addrspace(13)* %88 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %89, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%90 = add nuw nsw i64 %value_phi5.unr59, 3, !dbg !2094 | |
%91 = getelementptr inbounds double, double addrspace(13)* %197, i64 %87, !dbg !2083 | |
%92 = bitcast double addrspace(13)* %91 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %92, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%93 = add nuw nsw i64 %value_phi5.unr59, 4, !dbg !2094 | |
%94 = getelementptr inbounds double, double addrspace(13)* %197, i64 %90, !dbg !2083 | |
%95 = bitcast double addrspace(13)* %94 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %95, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%96 = add nuw nsw i64 %value_phi5.unr59, 5, !dbg !2094 | |
%97 = getelementptr inbounds double, double addrspace(13)* %197, i64 %93, !dbg !2083 | |
%98 = bitcast double addrspace(13)* %97 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %98, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%99 = add nuw nsw i64 %value_phi5.unr59, 6, !dbg !2094 | |
%100 = getelementptr inbounds double, double addrspace(13)* %197, i64 %96, !dbg !2083 | |
%101 = bitcast double addrspace(13)* %100 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %101, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%102 = getelementptr inbounds double, double addrspace(13)* %197, i64 %99, !dbg !2083 | |
%103 = bitcast double addrspace(13)* %102 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %103, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%104 = add nuw nsw i64 %value_phi5.unr59, 8, !dbg !2094 | |
br label %L37.loopexit.unr-lcssa, !dbg !2095 | |
L37.loopexit.unr-lcssa: ; preds = %L20.preheader, %L20.epil.preheader54, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa | |
%value_phi5.unr = phi i64 [ 1, %L20.preheader ], [ %.lcssa.ph, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa ], [ %104, %L20.epil.preheader54 ] | |
%105 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i32 0, i32 5, !dbg !2095 | |
store i64 %value_phi5.unr, i64* %105, align 8, !dbg !2095 | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !2095 | |
br i1 %lcmp.mod.not, label %L37, label %L20.epil.preheader, !dbg !2095 | |
L20.epil.preheader: ; preds = %L37.loopexit.unr-lcssa | |
%106 = add nsw i64 %xtraiter, -1, !dbg !2095 | |
br label %L20.epil, !dbg !2095 | |
L20.epil: ; preds = %L20.epil, %L20.epil.preheader | |
%iv1 = phi i64 [ 0, %L20.epil.preheader ], [ %iv.next2, %L20.epil ] | |
%iv.next2 = add nuw nsw i64 %iv1, 1, !dbg !2083 | |
%107 = add i64 %value_phi5.unr, %iv1, !dbg !2083 | |
%108 = add nsw i64 %107, -1, !dbg !2083 | |
%109 = getelementptr inbounds double, double addrspace(13)* %197, i64 %108, !dbg !2083 | |
%110 = bitcast double addrspace(13)* %109 to i64 addrspace(13)*, !dbg !2083 | |
store i64 %25, i64 addrspace(13)* %110, align 8, !dbg !2083, !tbaa !67, !alias.scope !2087, !noalias !2090 | |
%epil.iter.cmp.not = icmp eq i64 %iv.next2, %xtraiter, !dbg !2095 | |
br i1 %epil.iter.cmp.not, label %L37.loopexit, label %L20.epil, !dbg !2095, !llvm.loop !2104 | |
L37.loopexit: ; preds = %L20.epil | |
br label %L37, !dbg !2080 | |
L37: ; preds = %pass, %L37.loopexit, %L37.loopexit.unr-lcssa | |
br label %common.ret | |
L39: ; preds = %top | |
%111 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 32, !dbg !2105 | |
%112 = bitcast i8 addrspace(11)* %111 to i64 addrspace(11)*, !dbg !2105 | |
%113 = load i64, i64 addrspace(11)* %112, align 8, !dbg !2105, !tbaa !154, !alias.scope !2074, !noalias !2077 | |
%114 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !2107 | |
%115 = addrspacecast {} addrspace(10)* addrspace(10)* %114 to {} addrspace(10)* addrspace(11)*, !dbg !2107 | |
%116 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %115, i64 4, !dbg !2107 | |
%117 = bitcast {} addrspace(10)* addrspace(11)* %116 to i64 addrspace(11)*, !dbg !2107 | |
%118 = load i64, i64 addrspace(11)* %117, align 16, !dbg !2107, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !2111, !noalias !2114 | |
%119 = getelementptr inbounds { i64, [1 x [1 x i64]] }, { i64, [1 x [1 x i64]] }* %13, i64 0, i32 0, !dbg !2116 | |
store i64 %113, i64* %119, align 8, !dbg !2116, !tbaa !335, !alias.scope !337, !noalias !2118 | |
%120 = getelementptr inbounds { i64, [1 x [1 x i64]] }, { i64, [1 x [1 x i64]] }* %13, i64 0, i32 1, i64 0, i64 0, !dbg !2116 | |
store i64 %118, i64* %120, align 8, !dbg !2116, !tbaa !335, !alias.scope !337, !noalias !2118 | |
%121 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %115, i64 3, !dbg !2121 | |
%122 = bitcast {} addrspace(10)* addrspace(11)* %121 to i64 addrspace(11)*, !dbg !2121 | |
%123 = load i64, i64 addrspace(11)* %122, align 8, !dbg !2121, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !2111, !noalias !2114 | |
%124 = icmp slt i64 %113, 1, !dbg !2125 | |
%125 = icmp sgt i64 %113, %123, !dbg !2125 | |
%126 = or i1 %124, %125, !dbg !2124 | |
br i1 %126, label %L56, label %L59, !dbg !2124 | |
L56: ; preds = %L39 | |
%127 = addrspacecast { i64, [1 x [1 x i64]] }* %13 to { i64, [1 x [1 x i64]] } addrspace(11)*, !dbg !2124 | |
call fastcc void @julia_throw_boundserror_2095({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, { i64, [1 x [1 x i64]] } addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %127) #64, !dbg !2124 | |
unreachable, !dbg !2124 | |
L59: ; preds = %L39 | |
%128 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %14, i64 0, i64 0, i64 0, !dbg !2128 | |
store i64 %118, i64* %128, align 8, !dbg !2128, !tbaa !335, !alias.scope !337, !noalias !2118 | |
%129 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %118) #58, !dbg !2133 | |
%130 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i32 0, i32 1, !dbg !2133 | |
store {} addrspace(10)* %129, {} addrspace(10)** %130, align 8, !dbg !2133 | |
%131 = call {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %118), !dbg !2133 | |
%132 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i32 0, i32 0, !dbg !2133 | |
store {} addrspace(10)* %131, {} addrspace(10)** %132, align 8, !dbg !2133 | |
%133 = mul i64 %118, 8, !dbg !2133 | |
%134 = bitcast {} addrspace(10)* %131 to i8 addrspace(13)* addrspace(10)*, !dbg !2133 | |
%135 = load i8 addrspace(13)*, i8 addrspace(13)* addrspace(10)* %134, align 8, !dbg !2133 | |
call void @llvm.memset.p13i8.i64(i8 addrspace(13)* align 1 %135, i8 0, i64 %133, i1 false), !dbg !2133 | |
%136 = bitcast {} addrspace(10)* %129 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2138 | |
%137 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %136 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2138 | |
%138 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %137, i64 0, i32 1, !dbg !2138 | |
%139 = load i64, i64 addrspace(11)* %138, align 8, !dbg !2138, !tbaa !263, !range !265, !alias.scope !2141, !noalias !2144 | |
%.not47.not = icmp eq i64 %139, %118, !dbg !2146 | |
br i1 %.not47.not, label %L72, label %L127, !dbg !2140 | |
L72: ; preds = %L59 | |
%.not49.not = icmp eq i64 %118, 0, !dbg !2149 | |
br i1 %.not49.not, label %L131, label %L92.preheader, !dbg !2154 | |
L92.preheader: ; preds = %L72 | |
%140 = add nsw i64 %113, -1, !dbg !2157 | |
%141 = bitcast {} addrspace(10)* %3 to double addrspace(13)* addrspace(10)* | |
%142 = addrspacecast double addrspace(13)* addrspace(10)* %141 to double addrspace(13)* addrspace(11)* | |
%143 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %142, align 8, !alias.scope !2160, !noalias !2161 | |
%"'ipc" = bitcast {} addrspace(10)* %131 to double addrspace(13)* addrspace(10)* | |
%144 = bitcast {} addrspace(10)* %129 to double addrspace(13)* addrspace(10)* | |
%"'ipc7" = addrspacecast double addrspace(13)* addrspace(10)* %"'ipc" to double addrspace(13)* addrspace(11)* | |
%145 = addrspacecast double addrspace(13)* addrspace(10)* %144 to double addrspace(13)* addrspace(11)* | |
store i64* null, i64** %value_phi20_cache, align 8, !dbg !2162 | |
br label %L92, !dbg !2162 | |
L92: ; preds = %L100, %L92.preheader | |
%iv3 = phi i64 [ %iv.next4, %L100 ], [ 0, %L92.preheader ] | |
%value_phi19 = phi i1 [ %175, %L100 ], [ false, %L92.preheader ] | |
%value_phi20 = phi i64 [ %value_phi23, %L100 ], [ 1, %L92.preheader ] | |
%iv.next4 = add nuw nsw i64 %iv3, 1, !dbg !2162 | |
%146 = load i64*, i64** %value_phi20_cache, align 8, !dbg !2162 | |
%147 = bitcast i64* %146 to i8*, !dbg !2162 | |
%148 = and i64 %iv.next4, 1, !dbg !2162 | |
%149 = icmp ne i64 %148, 0, !dbg !2162 | |
%150 = call i64 @llvm.ctpop.i64(i64 %iv.next4) #65, !dbg !2162 | |
%151 = icmp ult i64 %150, 3, !dbg !2162 | |
%152 = and i1 %151, %149, !dbg !2162 | |
br i1 %152, label %grow.i, label %__enzyme_exponentialallocationzero.exit, !dbg !2162 | |
grow.i: ; preds = %L92 | |
%153 = call i64 @llvm.ctlz.i64(i64 %iv.next4, i1 true) #65, !dbg !2162 | |
%154 = sub nuw nsw i64 64, %153, !dbg !2162 | |
%155 = shl i64 8, %154, !dbg !2162 | |
%156 = lshr i64 %155, 1, !dbg !2162 | |
%157 = icmp eq i64 %iv.next4, 1, !dbg !2162 | |
%158 = select i1 %157, i64 0, i64 %156, !dbg !2162 | |
%159 = call i8* @realloc(i8* %147, i64 %155) #65, !dbg !2162 | |
%160 = sub i64 %155, %158, !dbg !2162 | |
%161 = getelementptr inbounds i8, i8* %159, i64 %158, !dbg !2162 | |
call void @llvm.memset.p0i8.i64(i8* %161, i8 0, i64 %160, i1 false) #65, !dbg !2162 | |
br label %__enzyme_exponentialallocationzero.exit, !dbg !2162 | |
__enzyme_exponentialallocationzero.exit: ; preds = %L92, %grow.i | |
%162 = phi i8* [ %159, %grow.i ], [ %147, %L92 ], !dbg !2162 | |
%163 = bitcast i8* %162 to i64*, !dbg !2162 | |
%164 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i32 0, i32 6, !dbg !2162 | |
store i64* %163, i64** %164, align 8, !dbg !2162 | |
store i64* %163, i64** %value_phi20_cache, align 8, !dbg !2162 | |
%165 = load i64*, i64** %value_phi20_cache, align 8, !dbg !2162, !dereferenceable !162, !invariant.group !2163 | |
%166 = getelementptr inbounds i64, i64* %165, i64 %iv3, !dbg !2162 | |
store i64 %value_phi20, i64* %166, align 8, !dbg !2162, !invariant.group !2164 | |
br i1 %value_phi19, label %L131.loopexit, label %L100, !dbg !2162 | |
L100: ; preds = %__enzyme_exponentialallocationzero.exit | |
%167 = add nsw i64 %iv.next4, -1, !dbg !2157 | |
%168 = mul i64 %167, %123, !dbg !2157 | |
%169 = add i64 %140, %168, !dbg !2157 | |
%170 = getelementptr inbounds double, double addrspace(13)* %143, i64 %169, !dbg !2157 | |
%171 = load double, double addrspace(13)* %170, align 8, !dbg !2157, !tbaa !67, !alias.scope !2165, !noalias !2168 | |
%172 = add i64 %value_phi20, -1, !dbg !2170 | |
%"'ipl" = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %"'ipc7", align 8, !dbg !2170, !tbaa !87, !alias.scope !2171, !noalias !2172, !nonnull !37 | |
%173 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %145, align 8, !dbg !2170, !tbaa !87, !alias.scope !2173, !noalias !2144, !nonnull !37 | |
%174 = getelementptr inbounds double, double addrspace(13)* %173, i64 %172, !dbg !2170 | |
store double %171, double addrspace(13)* %174, align 8, !dbg !2170, !tbaa !67, !alias.scope !2174, !noalias !2177 | |
%175 = icmp eq i64 %value_phi20, %118, !dbg !2179 | |
%176 = add i64 %value_phi20, 1, !dbg !2180 | |
%value_phi23 = select i1 %175, i64 undef, i64 %176, !dbg !2180 | |
%.not50 = icmp eq i64 %iv.next4, %118, !dbg !2182 | |
br i1 %.not50, label %L131.loopexit, label %L92, !dbg !2185 | |
L127: ; preds = %L59 | |
%177 = addrspacecast [1 x [1 x i64]]* %14 to [1 x [1 x i64]] addrspace(11)*, !dbg !2140 | |
call fastcc void @julia_throw_checksize_error_2097({} addrspace(10)* nocapture noundef nonnull readonly align 16 dereferenceable(40) %129, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %177) #64, !dbg !2140 | |
unreachable, !dbg !2140 | |
L131.loopexit: ; preds = %L100, %__enzyme_exponentialallocationzero.exit | |
br label %L131, !dbg !2106 | |
L131: ; preds = %L131.loopexit, %L72 | |
br label %common.ret | |
post_box_union: ; preds = %L3 | |
call void @ijl_type_error(i8* noundef getelementptr inbounds ([11 x i8], [11 x i8]* @_j_str1, i64 0, i64 0), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809581499376 to {}*) to {} addrspace(10)*), {} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(12)*)) #62, !dbg !2080 | |
unreachable, !dbg !2080 | |
pass: ; preds = %L3 | |
%178 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !2186 | |
%179 = addrspacecast {} addrspace(10)* addrspace(10)* %178 to {} addrspace(10)* addrspace(11)*, !dbg !2186 | |
%180 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %179, i64 4, !dbg !2186 | |
%181 = bitcast {} addrspace(10)* addrspace(11)* %180 to i64 addrspace(11)*, !dbg !2186 | |
%182 = load i64, i64 addrspace(11)* %181, align 16, !dbg !2186, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !2111, !noalias !2114 | |
%183 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %182) #58, !dbg !2188 | |
%184 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i32 0, i32 3, !dbg !2188 | |
store {} addrspace(10)* %183, {} addrspace(10)** %184, align 8, !dbg !2188 | |
%185 = call {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %182), !dbg !2188 | |
%186 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i32 0, i32 2, !dbg !2188 | |
store {} addrspace(10)* %185, {} addrspace(10)** %186, align 8, !dbg !2188 | |
%187 = mul i64 %182, 8, !dbg !2188 | |
%188 = bitcast {} addrspace(10)* %185 to i8 addrspace(13)* addrspace(10)*, !dbg !2188 | |
%189 = load i8 addrspace(13)*, i8 addrspace(13)* addrspace(10)* %188, align 8, !dbg !2188 | |
call void @llvm.memset.p13i8.i64(i8 addrspace(13)* align 1 %189, i8 0, i64 %187, i1 false), !dbg !2188 | |
%190 = bitcast {} addrspace(10)* %183 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2190 | |
%191 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %190 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2190 | |
%192 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %191, i64 0, i32 1, !dbg !2190 | |
%193 = load i64, i64 addrspace(11)* %192, align 8, !dbg !2190, !tbaa !263, !range !265, !alias.scope !2195, !noalias !2198 | |
%194 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64*, i64 }* %4, i32 0, i32 7, !dbg !2200 | |
store i64 %193, i64* %194, align 8, !dbg !2200 | |
%.not45.not = icmp eq i64 %193, 0, !dbg !2200 | |
br i1 %.not45.not, label %L37, label %L20.preheader, !dbg !2194 | |
L20.preheader: ; preds = %pass | |
%"'ipc9" = bitcast {} addrspace(10)* %185 to double addrspace(13)* addrspace(10)* | |
%195 = bitcast {} addrspace(10)* %183 to double addrspace(13)* addrspace(10)* | |
%"'ipc10" = addrspacecast double addrspace(13)* addrspace(10)* %"'ipc9" to double addrspace(13)* addrspace(11)* | |
%196 = addrspacecast double addrspace(13)* addrspace(10)* %195 to double addrspace(13)* addrspace(11)* | |
%"'ipl11" = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %"'ipc10", align 8, !tbaa !87, !alias.scope !2204, !noalias !2205, !nonnull !37 | |
%197 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %196, align 8, !tbaa !87, !alias.scope !2206, !noalias !2198, !nonnull !37 | |
%198 = add nsw i64 %193, -1, !dbg !2095 | |
%xtraiter = and i64 %193, 7, !dbg !2095 | |
%199 = icmp ult i64 %198, 7, !dbg !2095 | |
br i1 %199, label %L37.loopexit.unr-lcssa, label %L20.preheader.new, !dbg !2095 | |
L20.preheader.new: ; preds = %L20.preheader | |
%unroll_iter = and i64 %193, 9223372036854775800, !dbg !2095 | |
%200 = add nsw i64 %unroll_iter, -8, !dbg !2095 | |
%201 = lshr exact i64 %200, 3, !dbg !2095 | |
%202 = add nuw nsw i64 %201, 1, !dbg !2095 | |
%xtraiter55 = and i64 %202, 1, !dbg !2095 | |
%203 = icmp eq i64 %200, 0, !dbg !2095 | |
br i1 %203, label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, label %L20.preheader.new.new, !dbg !2095 | |
L20.preheader.new.new: ; preds = %L20.preheader.new | |
%unroll_iter61 = and i64 %202, 4611686018427387902, !dbg !2095 | |
%204 = add nsw i64 %unroll_iter61, -2, !dbg !2095 | |
%205 = lshr i64 %204, 1, !dbg !2095 | |
br label %L20, !dbg !2095 | |
} | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc void @preprocess_julia__eval_constant_tree_2089({ double, i8 }* noalias nocapture nofree noundef nonnull writeonly sret({ double, i8 }) align 8 dereferenceable(16) %0, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %1, [4 x {} addrspace(10)*] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(32) %2) unnamed_addr #43 !dbg !2207 { | |
top: | |
%3 = call {}*** @julia.get_pgcstack() #58 | |
%4 = bitcast {} addrspace(10)* %1 to i64 addrspace(10)*, !dbg !2208 | |
%5 = addrspacecast i64 addrspace(10)* %4 to i64 addrspace(11)*, !dbg !2208 | |
%6 = load i64, i64 addrspace(11)* %5, align 8, !dbg !2208, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %6, label %L17 [ | |
i64 0, label %L4 | |
i64 1, label %L12 | |
], !dbg !2209 | |
L4: ; preds = %top | |
%7 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !2210 | |
%8 = addrspacecast i8 addrspace(10)* %7 to i8 addrspace(11)*, !dbg !2210 | |
%9 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 24, !dbg !2210 | |
%10 = load i8, i8 addrspace(11)* %9, align 8, !dbg !2210, !tbaa !492, !range !546, !alias.scope !337, !noalias !547 | |
%11 = icmp eq i8 %10, 1, !dbg !2211 | |
br i1 %11, label %pass, label %post_box_union, !dbg !2211 | |
L12: ; preds = %top | |
%12 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %2, i64 0, i64 1, !dbg !2213 | |
%13 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %12 unordered, align 8, !dbg !2213, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%14 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !2213 | |
%15 = addrspacecast i8 addrspace(10)* %14 to i8 addrspace(11)*, !dbg !2213 | |
%16 = getelementptr inbounds i8, i8 addrspace(11)* %15, i64 40, !dbg !2213 | |
%17 = bitcast i8 addrspace(11)* %16 to i64 addrspace(11)*, !dbg !2213 | |
%18 = load i64, i64 addrspace(11)* %17, align 8, !dbg !2213, !tbaa !154, !alias.scope !70, !noalias !71 | |
%19 = add i64 %18, -1, !dbg !2215 | |
%20 = bitcast {} addrspace(10)* %13 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2215 | |
%21 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %20 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2215 | |
%22 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %21, i64 0, i32 1, !dbg !2215 | |
%23 = load i64, i64 addrspace(11)* %22, align 8, !dbg !2215, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%24 = icmp ult i64 %19, %23, !dbg !2215 | |
br i1 %24, label %idxend, label %oob, !dbg !2215 | |
L17: ; preds = %top | |
%25 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %2, i64 0, i64 0, !dbg !2216 | |
%26 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %25 unordered, align 8, !dbg !2216, !tbaa !141, !invariant.load !37, !alias.scope !143, !noalias !144, !nonnull !37, !dereferenceable !675, !align !676 | |
%27 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !2216 | |
%28 = addrspacecast i8 addrspace(10)* %27 to i8 addrspace(11)*, !dbg !2216 | |
%29 = getelementptr inbounds i8, i8 addrspace(11)* %28, i64 40, !dbg !2216 | |
%30 = bitcast i8 addrspace(11)* %29 to i64 addrspace(11)*, !dbg !2216 | |
%31 = load i64, i64 addrspace(11)* %30, align 8, !dbg !2216, !tbaa !154, !alias.scope !70, !noalias !71 | |
%32 = add i64 %31, -1, !dbg !2218 | |
%33 = bitcast {} addrspace(10)* %26 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2218 | |
%34 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %33 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2218 | |
%35 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %34, i64 0, i32 1, !dbg !2218 | |
%36 = load i64, i64 addrspace(11)* %35, align 8, !dbg !2218, !tbaa !263, !range !265, !alias.scope !266, !noalias !91 | |
%37 = icmp ult i64 %32, %36, !dbg !2218 | |
br i1 %37, label %idxend7, label %oob6, !dbg !2218 | |
post_box_union: ; preds = %L4 | |
call void @ijl_type_error(i8* noundef getelementptr inbounds ([11 x i8], [11 x i8]* @_j_str1, i64 0, i64 0), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809581499376 to {}*) to {} addrspace(10)*), {} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(12)*)) #62, !dbg !2211 | |
unreachable, !dbg !2211 | |
common.ret: ; preds = %pass9, %pass4, %pass | |
ret void, !dbg !2219 | |
pass: ; preds = %L4 | |
%38 = getelementptr inbounds i8, i8 addrspace(11)* %8, i64 16, !dbg !2210 | |
%39 = bitcast i8 addrspace(11)* %38 to i64 addrspace(11)*, !dbg !2210 | |
%40 = load i64, i64 addrspace(11)* %39, align 8, !dbg !2210, !tbaa !154, !alias.scope !70, !noalias !71 | |
%.sroa.0.0..sroa_cast = bitcast { double, i8 }* %0 to i64*, !dbg !2212 | |
store i64 %40, i64* %.sroa.0.0..sroa_cast, align 8, !dbg !2212, !noalias !2220 | |
%.sroa.2.0..sroa_idx = getelementptr inbounds { double, i8 }, { double, i8 }* %0, i64 0, i32 1, !dbg !2212 | |
store i8 1, i8* %.sroa.2.0..sroa_idx, align 8, !dbg !2212, !noalias !2220 | |
br label %common.ret | |
oob: ; preds = %L12 | |
%41 = alloca i64, align 8, !dbg !2215 | |
store i64 %18, i64* %41, align 8, !dbg !2215, !noalias !2220 | |
%42 = addrspacecast {} addrspace(10)* %13 to {} addrspace(12)*, !dbg !2215 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %42, i64* noundef nonnull align 8 %41, i64 noundef 1) #62, !dbg !2215 | |
unreachable, !dbg !2215 | |
idxend: ; preds = %L12 | |
%43 = bitcast {} addrspace(10)* %13 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !2215 | |
%44 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %43 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !2215 | |
%45 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %44, align 8, !dbg !2215, !tbaa !87, !alias.scope !2223, !noalias !91, !nonnull !37 | |
%46 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %45, i64 %19, !dbg !2215 | |
%47 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %46, align 8, !dbg !2215, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not21 = icmp eq {} addrspace(10)* %47, null, !dbg !2215 | |
br i1 %.not21, label %fail3, label %pass4, !dbg !2215 | |
fail3: ; preds = %idxend | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2215 | |
unreachable, !dbg !2215 | |
pass4: ; preds = %idxend | |
%current_task522 = getelementptr inbounds {}**, {}*** %3, i64 -13, !dbg !2214 | |
%current_task5 = bitcast {}*** %current_task522 to {}**, !dbg !2214 | |
%48 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task5, i64 noundef 32, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811454720 to {}*) to {} addrspace(10)*)) #61, !dbg !2214 | |
%49 = bitcast {} addrspace(10)* %48 to i8 addrspace(10)*, !dbg !2214 | |
%50 = bitcast [4 x {} addrspace(10)*] addrspace(11)* %2 to i8 addrspace(11)*, !dbg !2214 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(32) %49, i8 addrspace(11)* nofree noundef nonnull align 8 dereferenceable(32) %50, i64 noundef 32, i1 noundef false) #58, !dbg !2214, !tbaa !39, !alias.scope !42, !noalias !2224 | |
%51 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811896672 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %1, {} addrspace(10)* nonnull %47, {} addrspace(10)* nonnull %48) #60, !dbg !2214 | |
%52 = bitcast { double, i8 }* %0 to i8*, !dbg !2214 | |
%53 = bitcast {} addrspace(10)* %51 to i8 addrspace(10)*, !dbg !2214 | |
%54 = addrspacecast i8 addrspace(10)* %53 to i8 addrspace(11)*, !dbg !2214 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %52, i8 addrspace(11)* noundef align 1 dereferenceable(16) %54, i64 noundef 16, i1 noundef false) #58, !dbg !2214, !noalias !2220 | |
br label %common.ret | |
oob6: ; preds = %L17 | |
%55 = alloca i64, align 8, !dbg !2218 | |
store i64 %31, i64* %55, align 8, !dbg !2218, !noalias !2220 | |
%56 = addrspacecast {} addrspace(10)* %26 to {} addrspace(12)*, !dbg !2218 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %56, i64* noundef nonnull align 8 %55, i64 noundef 1) #62, !dbg !2218 | |
unreachable, !dbg !2218 | |
idxend7: ; preds = %L17 | |
%57 = bitcast {} addrspace(10)* %26 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !2218 | |
%58 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %57 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !2218 | |
%59 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %58, align 8, !dbg !2218, !tbaa !87, !alias.scope !2223, !noalias !91, !nonnull !37 | |
%60 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %59, i64 %32, !dbg !2218 | |
%61 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %60, align 8, !dbg !2218, !tbaa !683, !alias.scope !70, !noalias !71 | |
%.not23 = icmp eq {} addrspace(10)* %61, null, !dbg !2218 | |
br i1 %.not23, label %fail8, label %pass9, !dbg !2218 | |
fail8: ; preds = %idxend7 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2218 | |
unreachable, !dbg !2218 | |
pass9: ; preds = %idxend7 | |
%current_task1024 = getelementptr inbounds {}**, {}*** %3, i64 -13, !dbg !2217 | |
%current_task10 = bitcast {}*** %current_task1024 to {}**, !dbg !2217 | |
%62 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task10, i64 noundef 32, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811454720 to {}*) to {} addrspace(10)*)) #61, !dbg !2217 | |
%63 = bitcast {} addrspace(10)* %62 to i8 addrspace(10)*, !dbg !2217 | |
%64 = bitcast [4 x {} addrspace(10)*] addrspace(11)* %2 to i8 addrspace(11)*, !dbg !2217 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(32) %63, i8 addrspace(11)* nofree noundef nonnull align 8 dereferenceable(32) %64, i64 noundef 32, i1 noundef false) #58, !dbg !2217, !tbaa !39, !alias.scope !42, !noalias !2224 | |
%65 = call nonnull {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* noundef nonnull @ijl_apply_generic, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811939520 to {}*) to {} addrspace(10)*), {} addrspace(10)* nonnull %1, {} addrspace(10)* nonnull %61, {} addrspace(10)* nonnull %62) #60, !dbg !2217 | |
%66 = bitcast { double, i8 }* %0 to i8*, !dbg !2217 | |
%67 = bitcast {} addrspace(10)* %65 to i8 addrspace(10)*, !dbg !2217 | |
%68 = addrspacecast i8 addrspace(10)* %67 to i8 addrspace(11)*, !dbg !2217 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %66, i8 addrspace(11)* noundef align 1 dereferenceable(16) %68, i64 noundef 16, i1 noundef false) #58, !dbg !2217, !noalias !2220 | |
br label %common.ret | |
} | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* } @augmented_julia__eval_constant_tree_2089({ double, i8 }* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) "enzyme_sret" %0, { double, i8 }* nocapture "enzyme_sret" %"'", {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %1, {} addrspace(10)* %"'1", [4 x {} addrspace(10)*] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(32) %2) unnamed_addr #43 !dbg !2225 { | |
top: | |
%3 = alloca { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, align 8 | |
%4 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %4, align 8 | |
%5 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 1 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %5, align 8 | |
%6 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 2 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %6, align 8 | |
%7 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 3 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %7, align 8 | |
%8 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 4 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %8, align 8 | |
%9 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 5 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %9, align 8 | |
%10 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 6 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %10, align 8 | |
%11 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 7 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %11, align 8 | |
%12 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 11 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %12, align 8 | |
%13 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i64 0, i32 12 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %13, align 8 | |
%14 = call {}*** @julia.get_pgcstack() #58 | |
%15 = bitcast {} addrspace(10)* %1 to i64 addrspace(10)*, !dbg !2226 | |
%16 = addrspacecast i64 addrspace(10)* %15 to i64 addrspace(11)*, !dbg !2226 | |
%17 = load i64, i64 addrspace(11)* %16, align 8, !dbg !2226, !tbaa !154, !alias.scope !2228, !noalias !2231 | |
%18 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 8, !dbg !2227 | |
store i64 %17, i64* %18, align 8, !dbg !2227 | |
switch i64 %17, label %L17 [ | |
i64 0, label %L4 | |
i64 1, label %L12 | |
], !dbg !2227 | |
L4: ; preds = %top | |
%19 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !2233 | |
%20 = addrspacecast i8 addrspace(10)* %19 to i8 addrspace(11)*, !dbg !2233 | |
%21 = getelementptr inbounds i8, i8 addrspace(11)* %20, i64 24, !dbg !2233 | |
%22 = load i8, i8 addrspace(11)* %21, align 8, !dbg !2233, !tbaa !492, !range !546, !alias.scope !2236, !noalias !2237 | |
%23 = icmp eq i8 %22, 1, !dbg !2234 | |
br i1 %23, label %pass, label %post_box_union, !dbg !2234 | |
L12: ; preds = %top | |
%24 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %2, i64 0, i64 1, !dbg !2238 | |
%25 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %24 unordered, align 8, !dbg !2238, !tbaa !141, !invariant.load !37, !alias.scope !2240, !noalias !2243, !nonnull !37, !dereferenceable !675, !align !676 | |
%26 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !2238 | |
%27 = addrspacecast i8 addrspace(10)* %26 to i8 addrspace(11)*, !dbg !2238 | |
%28 = getelementptr inbounds i8, i8 addrspace(11)* %27, i64 40, !dbg !2238 | |
%29 = bitcast i8 addrspace(11)* %28 to i64 addrspace(11)*, !dbg !2238 | |
%30 = load i64, i64 addrspace(11)* %29, align 8, !dbg !2238, !tbaa !154, !alias.scope !2228, !noalias !2231 | |
%31 = add i64 %30, -1, !dbg !2245 | |
%32 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 9, !dbg !2245 | |
store i64 %31, i64* %32, align 8, !dbg !2245 | |
%33 = bitcast {} addrspace(10)* %25 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2245 | |
%34 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %33 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2245 | |
%35 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %34, i64 0, i32 1, !dbg !2245 | |
%36 = load i64, i64 addrspace(11)* %35, align 8, !dbg !2245, !tbaa !263, !range !265, !alias.scope !2246, !noalias !2249 | |
%37 = icmp ult i64 %31, %36, !dbg !2245 | |
br i1 %37, label %idxend, label %oob, !dbg !2245 | |
L17: ; preds = %top | |
%38 = getelementptr inbounds [4 x {} addrspace(10)*], [4 x {} addrspace(10)*] addrspace(11)* %2, i64 0, i64 0, !dbg !2251 | |
%39 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %38 unordered, align 8, !dbg !2251, !tbaa !141, !invariant.load !37, !alias.scope !2240, !noalias !2243, !nonnull !37, !dereferenceable !675, !align !676 | |
%40 = bitcast {} addrspace(10)* %1 to i8 addrspace(10)*, !dbg !2251 | |
%41 = addrspacecast i8 addrspace(10)* %40 to i8 addrspace(11)*, !dbg !2251 | |
%42 = getelementptr inbounds i8, i8 addrspace(11)* %41, i64 40, !dbg !2251 | |
%43 = bitcast i8 addrspace(11)* %42 to i64 addrspace(11)*, !dbg !2251 | |
%44 = load i64, i64 addrspace(11)* %43, align 8, !dbg !2251, !tbaa !154, !alias.scope !2228, !noalias !2231 | |
%45 = add i64 %44, -1, !dbg !2253 | |
%46 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 10, !dbg !2253 | |
store i64 %45, i64* %46, align 8, !dbg !2253 | |
%47 = bitcast {} addrspace(10)* %39 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2253 | |
%48 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %47 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2253 | |
%49 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %48, i64 0, i32 1, !dbg !2253 | |
%50 = load i64, i64 addrspace(11)* %49, align 8, !dbg !2253, !tbaa !263, !range !265, !alias.scope !2254, !noalias !2257 | |
%51 = icmp ult i64 %45, %50, !dbg !2253 | |
br i1 %51, label %idxend7, label %oob6, !dbg !2253 | |
post_box_union: ; preds = %L4 | |
call void @ijl_type_error(i8* noundef getelementptr inbounds ([11 x i8], [11 x i8]* @_j_str1, i64 0, i64 0), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809581499376 to {}*) to {} addrspace(10)*), {} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(12)*)) #62, !dbg !2234 | |
unreachable, !dbg !2234 | |
common.ret: ; preds = %pass9, %pass4, %pass | |
%52 = load { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, align 8, !dbg !2259 | |
ret { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* } %52, !dbg !2259 | |
pass: ; preds = %L4 | |
%53 = getelementptr inbounds i8, i8 addrspace(11)* %20, i64 16, !dbg !2233 | |
%54 = bitcast i8 addrspace(11)* %53 to i64 addrspace(11)*, !dbg !2233 | |
%55 = load i64, i64 addrspace(11)* %54, align 8, !dbg !2233, !tbaa !154, !alias.scope !2228, !noalias !2231 | |
%.sroa.0.0..sroa_cast = bitcast { double, i8 }* %0 to i64*, !dbg !2235 | |
store i64 %55, i64* %.sroa.0.0..sroa_cast, align 8, !dbg !2235, !alias.scope !2260, !noalias !2263 | |
%".sroa.2.0..sroa_idx'ipg" = getelementptr inbounds { double, i8 }, { double, i8 }* %"'", i64 0, i32 1, !dbg !2235 | |
%.sroa.2.0..sroa_idx = getelementptr inbounds { double, i8 }, { double, i8 }* %0, i64 0, i32 1, !dbg !2235 | |
store i8 1, i8* %".sroa.2.0..sroa_idx'ipg", align 8, !dbg !2235, !alias.scope !2267, !noalias !2268 | |
store i8 1, i8* %.sroa.2.0..sroa_idx, align 8, !dbg !2235, !alias.scope !2260, !noalias !2263 | |
br label %common.ret | |
oob: ; preds = %L12 | |
%56 = alloca i64, align 8, !dbg !2245 | |
store i64 %30, i64* %56, align 8, !dbg !2245, !noalias !2269 | |
%57 = addrspacecast {} addrspace(10)* %25 to {} addrspace(12)*, !dbg !2245 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %57, i64* noundef nonnull align 8 %56, i64 noundef 1) #62, !dbg !2245 | |
unreachable, !dbg !2245 | |
idxend: ; preds = %L12 | |
%58 = bitcast {} addrspace(10)* %25 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !2245 | |
%59 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %58 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !2245 | |
%60 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %59, align 8, !dbg !2245, !tbaa !87, !alias.scope !2272, !noalias !2249, !nonnull !37 | |
%61 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %60, i64 %31, !dbg !2245 | |
%62 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %61, align 8, !dbg !2245, !tbaa !683, !alias.scope !2273, !noalias !2276 | |
%63 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 11, !dbg !2245 | |
store {} addrspace(10)* %62, {} addrspace(10)** %63, align 8, !dbg !2245 | |
%.not21 = icmp eq {} addrspace(10)* %62, null, !dbg !2245 | |
br i1 %.not21, label %fail3, label %pass4, !dbg !2245 | |
fail3: ; preds = %idxend | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2245 | |
unreachable, !dbg !2245 | |
pass4: ; preds = %idxend | |
%current_task522 = getelementptr inbounds {}**, {}*** %14, i64 -13, !dbg !2239 | |
%current_task5 = bitcast {}*** %current_task522 to {}**, !dbg !2239 | |
%64 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task5, i64 noundef 32, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811454720 to {}*) to {} addrspace(10)*)) #61, !dbg !2239 | |
%65 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 3, !dbg !2239 | |
store {} addrspace(10)* %64, {} addrspace(10)** %65, align 8, !dbg !2239 | |
%"'mi" = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task5, i64 noundef 32, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811454720 to {}*) to {} addrspace(10)*)) #61, !dbg !2239 | |
%66 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 2, !dbg !2239 | |
store {} addrspace(10)* %"'mi", {} addrspace(10)** %66, align 8, !dbg !2239 | |
%67 = bitcast {} addrspace(10)* %"'mi" to i8 addrspace(10)*, !dbg !2239 | |
call void @llvm.memset.p10i8.i64(i8 addrspace(10)* nonnull dereferenceable(32) dereferenceable_or_null(32) %67, i8 0, i64 32, i1 false), !dbg !2239 | |
%"'ipc12" = bitcast {} addrspace(10)* %"'mi" to i8 addrspace(10)*, !dbg !2239 | |
%68 = bitcast {} addrspace(10)* %64 to i8 addrspace(10)*, !dbg !2239 | |
%69 = bitcast [4 x {} addrspace(10)*] addrspace(11)* %2 to i8 addrspace(11)*, !dbg !2239 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(32) %"'ipc12", i8 addrspace(11)* nofree noundef nonnull align 8 dereferenceable(32) %69, i64 noundef 32, i1 noundef false) #58, !dbg !2239 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(32) %68, i8 addrspace(11)* nofree noundef nonnull align 8 dereferenceable(32) %69, i64 noundef 32, i1 noundef false) #58, !dbg !2239, !tbaa !39, !alias.scope !42, !noalias !2278 | |
%70 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803967277888 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803809974080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809504524416 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803809974024 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803809973976 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811896672 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* %1, {} addrspace(10)* %"'1", {} addrspace(10)* %62, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* %64, {} addrspace(10)* %"'mi"), !dbg !2239 | |
%71 = bitcast {} addrspace(10)* %70 to [3 x {} addrspace(10)*] addrspace(10)*, !dbg !2239 | |
%72 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(10)* %71, i64 0, i64 1, !dbg !2239 | |
%73 = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %72, align 8, !dbg !2239 | |
%74 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 1, !dbg !2239 | |
store {} addrspace(10)* %73, {} addrspace(10)** %74, align 8, !dbg !2239 | |
%75 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(10)* %71, i64 0, i64 0, !dbg !2239 | |
%76 = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %75, align 8, !dbg !2239 | |
%77 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(10)* %71, i64 0, i64 2, !dbg !2239 | |
%78 = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %77, align 8, !dbg !2239 | |
%79 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 0, !dbg !2239 | |
store {} addrspace(10)* %78, {} addrspace(10)** %79, align 8, !dbg !2239 | |
%"'ipc" = bitcast { double, i8 }* %"'" to i8*, !dbg !2239 | |
%80 = bitcast { double, i8 }* %0 to i8*, !dbg !2239 | |
%"'ipc10" = bitcast {} addrspace(10)* %73 to i8 addrspace(10)*, !dbg !2239 | |
%81 = bitcast {} addrspace(10)* %76 to i8 addrspace(10)*, !dbg !2239 | |
%"'ipc11" = addrspacecast i8 addrspace(10)* %"'ipc10" to i8 addrspace(11)*, !dbg !2239 | |
%82 = addrspacecast i8 addrspace(10)* %81 to i8 addrspace(11)*, !dbg !2239 | |
%83 = getelementptr inbounds i8, i8* %"'ipc", i64 8, !dbg !2239 | |
%84 = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc11", i64 8, !dbg !2239 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %83, i8 addrspace(11)* noundef align 1 dereferenceable(16) %84, i64 noundef 8, i1 noundef false) #58, !dbg !2239 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %80, i8 addrspace(11)* noundef align 1 dereferenceable(16) %82, i64 noundef 16, i1 noundef false) #58, !dbg !2239, !noalias !2269 | |
br label %common.ret | |
oob6: ; preds = %L17 | |
%85 = alloca i64, align 8, !dbg !2253 | |
store i64 %44, i64* %85, align 8, !dbg !2253, !noalias !2269 | |
%86 = addrspacecast {} addrspace(10)* %39 to {} addrspace(12)*, !dbg !2253 | |
call void @ijl_bounds_error_ints({} addrspace(12)* %86, i64* noundef nonnull align 8 %85, i64 noundef 1) #62, !dbg !2253 | |
unreachable, !dbg !2253 | |
idxend7: ; preds = %L17 | |
%87 = bitcast {} addrspace(10)* %39 to {} addrspace(10)* addrspace(13)* addrspace(10)*, !dbg !2253 | |
%88 = addrspacecast {} addrspace(10)* addrspace(13)* addrspace(10)* %87 to {} addrspace(10)* addrspace(13)* addrspace(11)*, !dbg !2253 | |
%89 = load {} addrspace(10)* addrspace(13)*, {} addrspace(10)* addrspace(13)* addrspace(11)* %88, align 8, !dbg !2253, !tbaa !87, !alias.scope !2279, !noalias !2257, !nonnull !37 | |
%90 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %89, i64 %45, !dbg !2253 | |
%91 = load {} addrspace(10)*, {} addrspace(10)* addrspace(13)* %90, align 8, !dbg !2253, !tbaa !683, !alias.scope !2280, !noalias !2283 | |
%92 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 12, !dbg !2253 | |
store {} addrspace(10)* %91, {} addrspace(10)** %92, align 8, !dbg !2253 | |
%.not23 = icmp eq {} addrspace(10)* %91, null, !dbg !2253 | |
br i1 %.not23, label %fail8, label %pass9, !dbg !2253 | |
fail8: ; preds = %idxend7 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2253 | |
unreachable, !dbg !2253 | |
pass9: ; preds = %idxend7 | |
%current_task1024 = getelementptr inbounds {}**, {}*** %14, i64 -13, !dbg !2252 | |
%current_task10 = bitcast {}*** %current_task1024 to {}**, !dbg !2252 | |
%93 = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task10, i64 noundef 32, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811454720 to {}*) to {} addrspace(10)*)) #61, !dbg !2252 | |
%94 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 7, !dbg !2252 | |
store {} addrspace(10)* %93, {} addrspace(10)** %94, align 8, !dbg !2252 | |
%"'mi17" = call noalias nonnull {} addrspace(10)* @julia.gc_alloc_obj({}** nonnull %current_task10, i64 noundef 32, {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139803811454720 to {}*) to {} addrspace(10)*)) #61, !dbg !2252 | |
%95 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 6, !dbg !2252 | |
store {} addrspace(10)* %"'mi17", {} addrspace(10)** %95, align 8, !dbg !2252 | |
%96 = bitcast {} addrspace(10)* %"'mi17" to i8 addrspace(10)*, !dbg !2252 | |
call void @llvm.memset.p10i8.i64(i8 addrspace(10)* nonnull dereferenceable(32) dereferenceable_or_null(32) %96, i8 0, i64 32, i1 false), !dbg !2252 | |
%"'ipc16" = bitcast {} addrspace(10)* %"'mi17" to i8 addrspace(10)*, !dbg !2252 | |
%97 = bitcast {} addrspace(10)* %93 to i8 addrspace(10)*, !dbg !2252 | |
%98 = bitcast [4 x {} addrspace(10)*] addrspace(11)* %2 to i8 addrspace(11)*, !dbg !2252 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(32) %"'ipc16", i8 addrspace(11)* nofree noundef nonnull align 8 dereferenceable(32) %98, i64 noundef 32, i1 noundef false) #58, !dbg !2252 | |
call void @llvm.memcpy.p10i8.p11i8.i64(i8 addrspace(10)* noundef nonnull align 8 dereferenceable(32) %97, i8 addrspace(11)* nofree noundef nonnull align 8 dereferenceable(32) %98, i64 noundef 32, i1 noundef false) #58, !dbg !2252, !tbaa !39, !alias.scope !42, !noalias !2278 | |
%99 = call {} addrspace(10)* ({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)*, {} addrspace(10)*, ...) @julia.call({} addrspace(10)* ({} addrspace(10)*, {} addrspace(10)**, i32)* @ijl_apply_generic, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803967277888 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803809974080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809504524416 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803809974024 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803809973976 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803811939520 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* %1, {} addrspace(10)* %"'1", {} addrspace(10)* %91, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* %93, {} addrspace(10)* %"'mi17"), !dbg !2252 | |
%100 = bitcast {} addrspace(10)* %99 to [3 x {} addrspace(10)*] addrspace(10)*, !dbg !2252 | |
%101 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(10)* %100, i64 0, i64 1, !dbg !2252 | |
%102 = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %101, align 8, !dbg !2252 | |
%103 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 5, !dbg !2252 | |
store {} addrspace(10)* %102, {} addrspace(10)** %103, align 8, !dbg !2252 | |
%104 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(10)* %100, i64 0, i64 0, !dbg !2252 | |
%105 = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %104, align 8, !dbg !2252 | |
%106 = getelementptr inbounds [3 x {} addrspace(10)*], [3 x {} addrspace(10)*] addrspace(10)* %100, i64 0, i64 2, !dbg !2252 | |
%107 = load {} addrspace(10)*, {} addrspace(10)* addrspace(10)* %106, align 8, !dbg !2252 | |
%108 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }* %3, i32 0, i32 4, !dbg !2252 | |
store {} addrspace(10)* %107, {} addrspace(10)** %108, align 8, !dbg !2252 | |
%"'ipc13" = bitcast { double, i8 }* %"'" to i8*, !dbg !2252 | |
%109 = bitcast { double, i8 }* %0 to i8*, !dbg !2252 | |
%"'ipc14" = bitcast {} addrspace(10)* %102 to i8 addrspace(10)*, !dbg !2252 | |
%110 = bitcast {} addrspace(10)* %105 to i8 addrspace(10)*, !dbg !2252 | |
%"'ipc15" = addrspacecast i8 addrspace(10)* %"'ipc14" to i8 addrspace(11)*, !dbg !2252 | |
%111 = addrspacecast i8 addrspace(10)* %110 to i8 addrspace(11)*, !dbg !2252 | |
%112 = getelementptr inbounds i8, i8* %"'ipc13", i64 8, !dbg !2252 | |
%113 = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc15", i64 8, !dbg !2252 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %112, i8 addrspace(11)* noundef align 1 dereferenceable(16) %113, i64 noundef 8, i1 noundef false) #58, !dbg !2252 | |
call void @llvm.memcpy.p0i8.p11i8.i64(i8* nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) %109, i8 addrspace(11)* noundef align 1 dereferenceable(16) %111, i64 noundef 16, i1 noundef false) #58, !dbg !2252, !noalias !2269 | |
br label %common.ret | |
} | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 } @augmented_julia_deg0_eval_2091.16({ {} addrspace(10)*, i8 }* noalias nocapture nofree noundef nonnull writeonly align 8 dereferenceable(16) "enzyme_sret" %0, { {} addrspace(10)*, i8 }* nocapture "enzyme_sret" %"'", [1 x {} addrspace(10)*]* noalias nocapture nofree noundef nonnull readnone align 8 dereferenceable(8) %1, {} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %2, {} addrspace(10)* nocapture %"'1", {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3) unnamed_addr #40 !dbg !2285 { | |
top: | |
%4 = alloca { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, align 8 | |
%5 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i64 0, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %5, align 8 | |
%6 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i64 0, i32 1 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %6, align 8 | |
%7 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i64 0, i32 2 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %7, align 8 | |
%8 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i64 0, i32 3 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)** %8, align 8 | |
%"iv'ac" = alloca i64, align 8 | |
%"iv1'ac" = alloca i64, align 8 | |
%"iv3'ac" = alloca i64, align 8 | |
%9 = alloca [1 x [1 x i64]], i64 1, align 8 | |
%10 = bitcast [1 x [1 x i64]]* %9 to i8* | |
%11 = alloca { i64, [1 x [1 x i64]] }, i64 1, align 8 | |
%12 = bitcast { i64, [1 x [1 x i64]] }* %11 to i8* | |
%value_phi20_cache = alloca i64*, align 8 | |
%13 = bitcast i8* %12 to { i64, [1 x [1 x i64]] }*, !enzyme_caststack !37 | |
%14 = bitcast i8* %10 to [1 x [1 x i64]]*, !enzyme_caststack !37 | |
%15 = call {}*** @julia.get_pgcstack() #58 | |
%16 = bitcast {} addrspace(10)* %2 to i8 addrspace(10)*, !dbg !2286 | |
%17 = addrspacecast i8 addrspace(10)* %16 to i8 addrspace(11)*, !dbg !2286 | |
%18 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 8, !dbg !2286 | |
%19 = load i8, i8 addrspace(11)* %18, align 8, !dbg !2286, !tbaa !154, !alias.scope !2288, !noalias !2291 | |
%20 = and i8 %19, 1, !dbg !2286 | |
%.not = icmp eq i8 %20, 0, !dbg !2286 | |
%21 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 4, !dbg !2287 | |
store i1 %.not, i1* %21, align 1, !dbg !2287 | |
br i1 %.not, label %L39, label %L3, !dbg !2287 | |
L3: ; preds = %top | |
%22 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 16, !dbg !2293 | |
%23 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 24, !dbg !2293 | |
%24 = load i8, i8 addrspace(11)* %23, align 8, !dbg !2293, !tbaa !492, !range !546, !alias.scope !2295, !noalias !2296 | |
%25 = bitcast i8 addrspace(11)* %22 to i64 addrspace(11)*, !dbg !2293 | |
%26 = load i64, i64 addrspace(11)* %25, align 8, !dbg !2293, !tbaa !154, !alias.scope !2288, !noalias !2291 | |
%27 = icmp eq i8 %24, 1, !dbg !2294 | |
br i1 %27, label %pass, label %post_box_union, !dbg !2294 | |
L20: ; preds = %L20.preheader.new.new, %L20 | |
%iv = phi i64 [ 0, %L20.preheader.new.new ], [ %iv.next, %L20 ] | |
%iv.next = add nuw nsw i64 %iv, 1, !dbg !2297 | |
%28 = shl nuw i64 %iv, 1, !dbg !2297 | |
%29 = shl i64 %iv, 4, !dbg !2297 | |
%30 = add i64 %29, 1, !dbg !2297 | |
%31 = add nsw i64 %30, -1, !dbg !2297 | |
%32 = getelementptr inbounds double, double addrspace(13)* %198, i64 %31, !dbg !2297 | |
%33 = bitcast double addrspace(13)* %32 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %33, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%34 = add nuw nsw i64 %30, 1, !dbg !2308 | |
%35 = getelementptr inbounds double, double addrspace(13)* %198, i64 %30, !dbg !2297 | |
%36 = bitcast double addrspace(13)* %35 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %36, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%37 = add nuw nsw i64 %30, 2, !dbg !2308 | |
%38 = getelementptr inbounds double, double addrspace(13)* %198, i64 %34, !dbg !2297 | |
%39 = bitcast double addrspace(13)* %38 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %39, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%40 = add nuw nsw i64 %30, 3, !dbg !2308 | |
%41 = getelementptr inbounds double, double addrspace(13)* %198, i64 %37, !dbg !2297 | |
%42 = bitcast double addrspace(13)* %41 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %42, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%43 = add nuw nsw i64 %30, 4, !dbg !2308 | |
%44 = getelementptr inbounds double, double addrspace(13)* %198, i64 %40, !dbg !2297 | |
%45 = bitcast double addrspace(13)* %44 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %45, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%46 = add nuw nsw i64 %30, 5, !dbg !2308 | |
%47 = getelementptr inbounds double, double addrspace(13)* %198, i64 %43, !dbg !2297 | |
%48 = bitcast double addrspace(13)* %47 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %48, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%49 = add nuw nsw i64 %30, 6, !dbg !2308 | |
%50 = getelementptr inbounds double, double addrspace(13)* %198, i64 %46, !dbg !2297 | |
%51 = bitcast double addrspace(13)* %50 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %51, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%52 = getelementptr inbounds double, double addrspace(13)* %198, i64 %49, !dbg !2297 | |
%53 = bitcast double addrspace(13)* %52 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %53, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%54 = add nuw nsw i64 %30, 8, !dbg !2308 | |
%55 = add nuw nsw i64 %30, 7, !dbg !2297 | |
%56 = getelementptr inbounds double, double addrspace(13)* %198, i64 %55, !dbg !2297 | |
%57 = bitcast double addrspace(13)* %56 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %57, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%58 = add nuw nsw i64 %30, 9, !dbg !2308 | |
%59 = getelementptr inbounds double, double addrspace(13)* %198, i64 %54, !dbg !2297 | |
%60 = bitcast double addrspace(13)* %59 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %60, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%61 = add nuw nsw i64 %30, 10, !dbg !2308 | |
%62 = getelementptr inbounds double, double addrspace(13)* %198, i64 %58, !dbg !2297 | |
%63 = bitcast double addrspace(13)* %62 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %63, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%64 = add nuw nsw i64 %30, 11, !dbg !2308 | |
%65 = getelementptr inbounds double, double addrspace(13)* %198, i64 %61, !dbg !2297 | |
%66 = bitcast double addrspace(13)* %65 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %66, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%67 = add nuw nsw i64 %30, 12, !dbg !2308 | |
%68 = getelementptr inbounds double, double addrspace(13)* %198, i64 %64, !dbg !2297 | |
%69 = bitcast double addrspace(13)* %68 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %69, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%70 = add nuw nsw i64 %30, 13, !dbg !2308 | |
%71 = getelementptr inbounds double, double addrspace(13)* %198, i64 %67, !dbg !2297 | |
%72 = bitcast double addrspace(13)* %71 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %72, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%73 = add nuw nsw i64 %30, 14, !dbg !2308 | |
%74 = getelementptr inbounds double, double addrspace(13)* %198, i64 %70, !dbg !2297 | |
%75 = bitcast double addrspace(13)* %74 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %75, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%76 = getelementptr inbounds double, double addrspace(13)* %198, i64 %73, !dbg !2297 | |
%77 = bitcast double addrspace(13)* %76 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %77, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%78 = add nuw nsw i64 %30, 16, !dbg !2308 | |
%niter62.next.1 = add i64 %28, 2, !dbg !2309 | |
%niter62.ncmp.1 = icmp eq i64 %niter62.next.1, %unroll_iter61, !dbg !2309 | |
br i1 %niter62.ncmp.1, label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit, label %L20, !dbg !2309 | |
common.ret: ; preds = %L131, %L37 | |
%79 = phi {} addrspace(10)* [ %186, %L37 ], [ %132, %L131 ] | |
%.pn53 = phi {} addrspace(10)* [ %184, %L37 ], [ %130, %L131 ] | |
%".pn'ipiv" = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %79, 0, !dbg !2310 | |
%.pn = insertvalue { {} addrspace(10)*, i8 } zeroinitializer, {} addrspace(10)* %.pn53, 0, !dbg !2310 | |
%"storemerge'ipiv" = insertvalue { {} addrspace(10)*, i8 } %".pn'ipiv", i8 1, 1, !dbg !2310 | |
%storemerge = insertvalue { {} addrspace(10)*, i8 } %.pn, i8 1, 1, !dbg !2310 | |
store { {} addrspace(10)*, i8 } %"storemerge'ipiv", { {} addrspace(10)*, i8 }* %"'", align 8, !dbg !2310, !alias.scope !2311, !noalias !2314 | |
store { {} addrspace(10)*, i8 } %storemerge, { {} addrspace(10)*, i8 }* %0, align 8, !dbg !2310, !alias.scope !2316, !noalias !2317 | |
%80 = load { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, align 8, !dbg !2310 | |
ret { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 } %80, !dbg !2310 | |
L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit: ; preds = %L20 | |
br label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, !dbg !2309 | |
L37.loopexit.unr-lcssa.loopexit.unr-lcssa: ; preds = %L20.preheader.new, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit | |
%.lcssa.ph = phi i64 [ undef, %L20.preheader.new ], [ %78, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit ] | |
%value_phi5.unr59 = phi i64 [ 1, %L20.preheader.new ], [ %78, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa.loopexit ] | |
%81 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 5, !dbg !2309 | |
store i64 %value_phi5.unr59, i64* %81, align 8, !dbg !2309 | |
%lcmp.mod.not63 = icmp eq i64 %xtraiter55, 0, !dbg !2309 | |
br i1 %lcmp.mod.not63, label %L37.loopexit.unr-lcssa, label %L20.epil.preheader54, !dbg !2309 | |
L20.epil.preheader54: ; preds = %L37.loopexit.unr-lcssa.loopexit.unr-lcssa | |
%82 = add nsw i64 %value_phi5.unr59, -1, !dbg !2297 | |
%83 = getelementptr inbounds double, double addrspace(13)* %198, i64 %82, !dbg !2297 | |
%84 = bitcast double addrspace(13)* %83 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %84, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%85 = add nuw nsw i64 %value_phi5.unr59, 1, !dbg !2308 | |
%86 = getelementptr inbounds double, double addrspace(13)* %198, i64 %value_phi5.unr59, !dbg !2297 | |
%87 = bitcast double addrspace(13)* %86 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %87, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%88 = add nuw nsw i64 %value_phi5.unr59, 2, !dbg !2308 | |
%89 = getelementptr inbounds double, double addrspace(13)* %198, i64 %85, !dbg !2297 | |
%90 = bitcast double addrspace(13)* %89 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %90, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%91 = add nuw nsw i64 %value_phi5.unr59, 3, !dbg !2308 | |
%92 = getelementptr inbounds double, double addrspace(13)* %198, i64 %88, !dbg !2297 | |
%93 = bitcast double addrspace(13)* %92 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %93, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%94 = add nuw nsw i64 %value_phi5.unr59, 4, !dbg !2308 | |
%95 = getelementptr inbounds double, double addrspace(13)* %198, i64 %91, !dbg !2297 | |
%96 = bitcast double addrspace(13)* %95 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %96, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%97 = add nuw nsw i64 %value_phi5.unr59, 5, !dbg !2308 | |
%98 = getelementptr inbounds double, double addrspace(13)* %198, i64 %94, !dbg !2297 | |
%99 = bitcast double addrspace(13)* %98 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %99, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%100 = add nuw nsw i64 %value_phi5.unr59, 6, !dbg !2308 | |
%101 = getelementptr inbounds double, double addrspace(13)* %198, i64 %97, !dbg !2297 | |
%102 = bitcast double addrspace(13)* %101 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %102, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%103 = getelementptr inbounds double, double addrspace(13)* %198, i64 %100, !dbg !2297 | |
%104 = bitcast double addrspace(13)* %103 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %104, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%105 = add nuw nsw i64 %value_phi5.unr59, 8, !dbg !2308 | |
br label %L37.loopexit.unr-lcssa, !dbg !2309 | |
L37.loopexit.unr-lcssa: ; preds = %L20.preheader, %L20.epil.preheader54, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa | |
%value_phi5.unr = phi i64 [ 1, %L20.preheader ], [ %.lcssa.ph, %L37.loopexit.unr-lcssa.loopexit.unr-lcssa ], [ %105, %L20.epil.preheader54 ] | |
%106 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 6, !dbg !2309 | |
store i64 %value_phi5.unr, i64* %106, align 8, !dbg !2309 | |
%lcmp.mod.not = icmp eq i64 %xtraiter, 0, !dbg !2309 | |
br i1 %lcmp.mod.not, label %L37, label %L20.epil.preheader, !dbg !2309 | |
L20.epil.preheader: ; preds = %L37.loopexit.unr-lcssa | |
%107 = add nsw i64 %xtraiter, -1, !dbg !2309 | |
br label %L20.epil, !dbg !2309 | |
L20.epil: ; preds = %L20.epil, %L20.epil.preheader | |
%iv1 = phi i64 [ 0, %L20.epil.preheader ], [ %iv.next2, %L20.epil ] | |
%iv.next2 = add nuw nsw i64 %iv1, 1, !dbg !2297 | |
%108 = add i64 %value_phi5.unr, %iv1, !dbg !2297 | |
%109 = add nsw i64 %108, -1, !dbg !2297 | |
%110 = getelementptr inbounds double, double addrspace(13)* %198, i64 %109, !dbg !2297 | |
%111 = bitcast double addrspace(13)* %110 to i64 addrspace(13)*, !dbg !2297 | |
store i64 %26, i64 addrspace(13)* %111, align 8, !dbg !2297, !tbaa !67, !alias.scope !2301, !noalias !2304 | |
%epil.iter.cmp.not = icmp eq i64 %iv.next2, %xtraiter, !dbg !2309 | |
br i1 %epil.iter.cmp.not, label %L37.loopexit, label %L20.epil, !dbg !2309, !llvm.loop !2318 | |
L37.loopexit: ; preds = %L20.epil | |
br label %L37, !dbg !2294 | |
L37: ; preds = %pass, %L37.loopexit, %L37.loopexit.unr-lcssa | |
br label %common.ret | |
L39: ; preds = %top | |
%112 = getelementptr inbounds i8, i8 addrspace(11)* %17, i64 32, !dbg !2319 | |
%113 = bitcast i8 addrspace(11)* %112 to i64 addrspace(11)*, !dbg !2319 | |
%114 = load i64, i64 addrspace(11)* %113, align 8, !dbg !2319, !tbaa !154, !alias.scope !2288, !noalias !2291 | |
%115 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !2321 | |
%116 = addrspacecast {} addrspace(10)* addrspace(10)* %115 to {} addrspace(10)* addrspace(11)*, !dbg !2321 | |
%117 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %116, i64 4, !dbg !2321 | |
%118 = bitcast {} addrspace(10)* addrspace(11)* %117 to i64 addrspace(11)*, !dbg !2321 | |
%119 = load i64, i64 addrspace(11)* %118, align 16, !dbg !2321, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !2325, !noalias !2328 | |
%120 = getelementptr inbounds { i64, [1 x [1 x i64]] }, { i64, [1 x [1 x i64]] }* %13, i64 0, i32 0, !dbg !2330 | |
store i64 %114, i64* %120, align 8, !dbg !2330, !tbaa !335, !alias.scope !337, !noalias !2332 | |
%121 = getelementptr inbounds { i64, [1 x [1 x i64]] }, { i64, [1 x [1 x i64]] }* %13, i64 0, i32 1, i64 0, i64 0, !dbg !2330 | |
store i64 %119, i64* %121, align 8, !dbg !2330, !tbaa !335, !alias.scope !337, !noalias !2332 | |
%122 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %116, i64 3, !dbg !2335 | |
%123 = bitcast {} addrspace(10)* addrspace(11)* %122 to i64 addrspace(11)*, !dbg !2335 | |
%124 = load i64, i64 addrspace(11)* %123, align 8, !dbg !2335, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !2325, !noalias !2328 | |
%125 = icmp slt i64 %114, 1, !dbg !2339 | |
%126 = icmp sgt i64 %114, %124, !dbg !2339 | |
%127 = or i1 %125, %126, !dbg !2338 | |
br i1 %127, label %L56, label %L59, !dbg !2338 | |
L56: ; preds = %L39 | |
%128 = addrspacecast { i64, [1 x [1 x i64]] }* %13 to { i64, [1 x [1 x i64]] } addrspace(11)*, !dbg !2338 | |
call fastcc void @julia_throw_boundserror_2095({} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, { i64, [1 x [1 x i64]] } addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(16) %128) #64, !dbg !2338 | |
unreachable, !dbg !2338 | |
L59: ; preds = %L39 | |
%129 = getelementptr inbounds [1 x [1 x i64]], [1 x [1 x i64]]* %14, i64 0, i64 0, i64 0, !dbg !2342 | |
store i64 %119, i64* %129, align 8, !dbg !2342, !tbaa !335, !alias.scope !337, !noalias !2332 | |
%130 = call noalias nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %119) #58, !dbg !2347 | |
%131 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 1, !dbg !2347 | |
store {} addrspace(10)* %130, {} addrspace(10)** %131, align 8, !dbg !2347 | |
%132 = call {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %119), !dbg !2347 | |
%133 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 0, !dbg !2347 | |
store {} addrspace(10)* %132, {} addrspace(10)** %133, align 8, !dbg !2347 | |
%134 = mul i64 %119, 8, !dbg !2347 | |
%135 = bitcast {} addrspace(10)* %132 to i8 addrspace(13)* addrspace(10)*, !dbg !2347 | |
%136 = load i8 addrspace(13)*, i8 addrspace(13)* addrspace(10)* %135, align 8, !dbg !2347 | |
call void @llvm.memset.p13i8.i64(i8 addrspace(13)* align 1 %136, i8 0, i64 %134, i1 false), !dbg !2347 | |
%137 = bitcast {} addrspace(10)* %130 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2352 | |
%138 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %137 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2352 | |
%139 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %138, i64 0, i32 1, !dbg !2352 | |
%140 = load i64, i64 addrspace(11)* %139, align 8, !dbg !2352, !tbaa !263, !range !265, !alias.scope !2355, !noalias !2358 | |
%.not47.not = icmp eq i64 %140, %119, !dbg !2360 | |
br i1 %.not47.not, label %L72, label %L127, !dbg !2354 | |
L72: ; preds = %L59 | |
%.not49.not = icmp eq i64 %119, 0, !dbg !2363 | |
br i1 %.not49.not, label %L131, label %L92.preheader, !dbg !2368 | |
L92.preheader: ; preds = %L72 | |
%141 = add nsw i64 %114, -1, !dbg !2371 | |
%142 = bitcast {} addrspace(10)* %3 to double addrspace(13)* addrspace(10)* | |
%143 = addrspacecast double addrspace(13)* addrspace(10)* %142 to double addrspace(13)* addrspace(11)* | |
%144 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %143, align 8, !alias.scope !2374, !noalias !2375 | |
%"'ipc" = bitcast {} addrspace(10)* %132 to double addrspace(13)* addrspace(10)* | |
%145 = bitcast {} addrspace(10)* %130 to double addrspace(13)* addrspace(10)* | |
%"'ipc7" = addrspacecast double addrspace(13)* addrspace(10)* %"'ipc" to double addrspace(13)* addrspace(11)* | |
%146 = addrspacecast double addrspace(13)* addrspace(10)* %145 to double addrspace(13)* addrspace(11)* | |
store i64* null, i64** %value_phi20_cache, align 8, !dbg !2376 | |
br label %L92, !dbg !2376 | |
L92: ; preds = %L100, %L92.preheader | |
%iv3 = phi i64 [ %iv.next4, %L100 ], [ 0, %L92.preheader ] | |
%value_phi19 = phi i1 [ %176, %L100 ], [ false, %L92.preheader ] | |
%value_phi20 = phi i64 [ %value_phi23, %L100 ], [ 1, %L92.preheader ] | |
%iv.next4 = add nuw nsw i64 %iv3, 1, !dbg !2376 | |
%147 = load i64*, i64** %value_phi20_cache, align 8, !dbg !2376 | |
%148 = bitcast i64* %147 to i8*, !dbg !2376 | |
%149 = and i64 %iv.next4, 1, !dbg !2376 | |
%150 = icmp ne i64 %149, 0, !dbg !2376 | |
%151 = call i64 @llvm.ctpop.i64(i64 %iv.next4) #65, !dbg !2376 | |
%152 = icmp ult i64 %151, 3, !dbg !2376 | |
%153 = and i1 %152, %150, !dbg !2376 | |
br i1 %153, label %grow.i, label %__enzyme_exponentialallocationzero.exit, !dbg !2376 | |
grow.i: ; preds = %L92 | |
%154 = call i64 @llvm.ctlz.i64(i64 %iv.next4, i1 true) #65, !dbg !2376 | |
%155 = sub nuw nsw i64 64, %154, !dbg !2376 | |
%156 = shl i64 8, %155, !dbg !2376 | |
%157 = lshr i64 %156, 1, !dbg !2376 | |
%158 = icmp eq i64 %iv.next4, 1, !dbg !2376 | |
%159 = select i1 %158, i64 0, i64 %157, !dbg !2376 | |
%160 = call i8* @realloc(i8* %148, i64 %156) #65, !dbg !2376 | |
%161 = sub i64 %156, %159, !dbg !2376 | |
%162 = getelementptr inbounds i8, i8* %160, i64 %159, !dbg !2376 | |
call void @llvm.memset.p0i8.i64(i8* %162, i8 0, i64 %161, i1 false) #65, !dbg !2376 | |
br label %__enzyme_exponentialallocationzero.exit, !dbg !2376 | |
__enzyme_exponentialallocationzero.exit: ; preds = %L92, %grow.i | |
%163 = phi i8* [ %160, %grow.i ], [ %148, %L92 ], !dbg !2376 | |
%164 = bitcast i8* %163 to i64*, !dbg !2376 | |
%165 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 7, !dbg !2376 | |
store i64* %164, i64** %165, align 8, !dbg !2376 | |
store i64* %164, i64** %value_phi20_cache, align 8, !dbg !2376 | |
%166 = load i64*, i64** %value_phi20_cache, align 8, !dbg !2376, !dereferenceable !162, !invariant.group !2377 | |
%167 = getelementptr inbounds i64, i64* %166, i64 %iv3, !dbg !2376 | |
store i64 %value_phi20, i64* %167, align 8, !dbg !2376, !invariant.group !2378 | |
br i1 %value_phi19, label %L131.loopexit, label %L100, !dbg !2376 | |
L100: ; preds = %__enzyme_exponentialallocationzero.exit | |
%168 = add nsw i64 %iv.next4, -1, !dbg !2371 | |
%169 = mul i64 %168, %124, !dbg !2371 | |
%170 = add i64 %141, %169, !dbg !2371 | |
%171 = getelementptr inbounds double, double addrspace(13)* %144, i64 %170, !dbg !2371 | |
%172 = load double, double addrspace(13)* %171, align 8, !dbg !2371, !tbaa !67, !alias.scope !2379, !noalias !2382 | |
%173 = add i64 %value_phi20, -1, !dbg !2384 | |
%"'ipl" = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %"'ipc7", align 8, !dbg !2384, !tbaa !87, !alias.scope !2385, !noalias !2386, !nonnull !37 | |
%174 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %146, align 8, !dbg !2384, !tbaa !87, !alias.scope !2387, !noalias !2358, !nonnull !37 | |
%175 = getelementptr inbounds double, double addrspace(13)* %174, i64 %173, !dbg !2384 | |
store double %172, double addrspace(13)* %175, align 8, !dbg !2384, !tbaa !67, !alias.scope !2388, !noalias !2391 | |
%176 = icmp eq i64 %value_phi20, %119, !dbg !2393 | |
%177 = add i64 %value_phi20, 1, !dbg !2394 | |
%value_phi23 = select i1 %176, i64 undef, i64 %177, !dbg !2394 | |
%.not50 = icmp eq i64 %iv.next4, %119, !dbg !2396 | |
br i1 %.not50, label %L131.loopexit, label %L92, !dbg !2399 | |
L127: ; preds = %L59 | |
%178 = addrspacecast [1 x [1 x i64]]* %14 to [1 x [1 x i64]] addrspace(11)*, !dbg !2354 | |
call fastcc void @julia_throw_checksize_error_2097({} addrspace(10)* nocapture noundef nonnull readonly align 16 dereferenceable(40) %130, [1 x [1 x i64]] addrspace(11)* nocapture nofree noundef nonnull readonly align 8 dereferenceable(8) %178) #64, !dbg !2354 | |
unreachable, !dbg !2354 | |
L131.loopexit: ; preds = %L100, %__enzyme_exponentialallocationzero.exit | |
br label %L131, !dbg !2320 | |
L131: ; preds = %L131.loopexit, %L72 | |
br label %common.ret | |
post_box_union: ; preds = %L3 | |
call void @ijl_type_error(i8* noundef getelementptr inbounds ([11 x i8], [11 x i8]* @_j_str1, i64 0, i64 0), {} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809581499376 to {}*) to {} addrspace(10)*), {} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(12)*)) #62, !dbg !2294 | |
unreachable, !dbg !2294 | |
pass: ; preds = %L3 | |
%179 = bitcast {} addrspace(10)* %3 to {} addrspace(10)* addrspace(10)*, !dbg !2400 | |
%180 = addrspacecast {} addrspace(10)* addrspace(10)* %179 to {} addrspace(10)* addrspace(11)*, !dbg !2400 | |
%181 = getelementptr inbounds {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %180, i64 4, !dbg !2400 | |
%182 = bitcast {} addrspace(10)* addrspace(11)* %181 to i64 addrspace(11)*, !dbg !2400 | |
%183 = load i64, i64 addrspace(11)* %182, align 16, !dbg !2400, !tbaa !141, !range !265, !invariant.load !37, !alias.scope !2325, !noalias !2328 | |
%184 = call nonnull {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* noundef addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %183) #58, !dbg !2402 | |
%185 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 3, !dbg !2402 | |
store {} addrspace(10)* %184, {} addrspace(10)** %185, align 8, !dbg !2402 | |
%186 = call {} addrspace(10)* @ijl_alloc_array_1d({} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809556631712 to {}*) to {} addrspace(10)*), i64 %183), !dbg !2402 | |
%187 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 2, !dbg !2402 | |
store {} addrspace(10)* %186, {} addrspace(10)** %187, align 8, !dbg !2402 | |
%188 = mul i64 %183, 8, !dbg !2402 | |
%189 = bitcast {} addrspace(10)* %186 to i8 addrspace(13)* addrspace(10)*, !dbg !2402 | |
%190 = load i8 addrspace(13)*, i8 addrspace(13)* addrspace(10)* %189, align 8, !dbg !2402 | |
call void @llvm.memset.p13i8.i64(i8 addrspace(13)* align 1 %190, i8 0, i64 %188, i1 false), !dbg !2402 | |
%191 = bitcast {} addrspace(10)* %184 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)*, !dbg !2404 | |
%192 = addrspacecast { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(10)* %191 to { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)*, !dbg !2404 | |
%193 = getelementptr inbounds { i8 addrspace(13)*, i64, i16, i16, i32 }, { i8 addrspace(13)*, i64, i16, i16, i32 } addrspace(11)* %192, i64 0, i32 1, !dbg !2404 | |
%194 = load i64, i64 addrspace(11)* %193, align 8, !dbg !2404, !tbaa !263, !range !265, !alias.scope !2409, !noalias !2412 | |
%195 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }* %4, i32 0, i32 8, !dbg !2414 | |
store i64 %194, i64* %195, align 8, !dbg !2414 | |
%.not45.not = icmp eq i64 %194, 0, !dbg !2414 | |
br i1 %.not45.not, label %L37, label %L20.preheader, !dbg !2408 | |
L20.preheader: ; preds = %pass | |
%"'ipc9" = bitcast {} addrspace(10)* %186 to double addrspace(13)* addrspace(10)* | |
%196 = bitcast {} addrspace(10)* %184 to double addrspace(13)* addrspace(10)* | |
%"'ipc10" = addrspacecast double addrspace(13)* addrspace(10)* %"'ipc9" to double addrspace(13)* addrspace(11)* | |
%197 = addrspacecast double addrspace(13)* addrspace(10)* %196 to double addrspace(13)* addrspace(11)* | |
%"'ipl11" = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %"'ipc10", align 8, !tbaa !87, !alias.scope !2418, !noalias !2419, !nonnull !37 | |
%198 = load double addrspace(13)*, double addrspace(13)* addrspace(11)* %197, align 8, !tbaa !87, !alias.scope !2420, !noalias !2412, !nonnull !37 | |
%199 = add nsw i64 %194, -1, !dbg !2309 | |
%xtraiter = and i64 %194, 7, !dbg !2309 | |
%200 = icmp ult i64 %199, 7, !dbg !2309 | |
br i1 %200, label %L37.loopexit.unr-lcssa, label %L20.preheader.new, !dbg !2309 | |
L20.preheader.new: ; preds = %L20.preheader | |
%unroll_iter = and i64 %194, 9223372036854775800, !dbg !2309 | |
%201 = add nsw i64 %unroll_iter, -8, !dbg !2309 | |
%202 = lshr exact i64 %201, 3, !dbg !2309 | |
%203 = add nuw nsw i64 %202, 1, !dbg !2309 | |
%xtraiter55 = and i64 %203, 1, !dbg !2309 | |
%204 = icmp eq i64 %201, 0, !dbg !2309 | |
br i1 %204, label %L37.loopexit.unr-lcssa.loopexit.unr-lcssa, label %L20.preheader.new.new, !dbg !2309 | |
L20.preheader.new.new: ; preds = %L20.preheader.new | |
%unroll_iter61 = and i64 %203, 4611686018427387902, !dbg !2309 | |
%205 = add nsw i64 %unroll_iter61, -2, !dbg !2309 | |
%206 = lshr i64 %205, 1, !dbg !2309 | |
br label %L20, !dbg !2309 | |
} | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc i8 @preprocess_julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %0) unnamed_addr #44 !dbg !2421 { | |
top: | |
%1 = call {}*** @julia.get_pgcstack() #58 | |
%2 = bitcast {} addrspace(10)* %0 to i64 addrspace(10)*, !dbg !2422 | |
%3 = addrspacecast i64 addrspace(10)* %2 to i64 addrspace(11)*, !dbg !2422 | |
%4 = load i64, i64 addrspace(11)* %3, align 8, !dbg !2422, !tbaa !154, !alias.scope !70, !noalias !71 | |
switch i64 %4, label %L12 [ | |
i64 0, label %L4 | |
i64 1, label %L9 | |
], !dbg !2423 | |
common.ret: ; preds = %pass4, %pass2, %pass, %L4 | |
%common.ret.op = phi i8 [ %9, %L4 ], [ %23, %pass ], [ %26, %pass4 ], [ 0, %pass2 ] | |
ret i8 %common.ret.op, !dbg !2424 | |
L4: ; preds = %top | |
%5 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !2425 | |
%6 = addrspacecast i8 addrspace(10)* %5 to i8 addrspace(11)*, !dbg !2425 | |
%7 = getelementptr inbounds i8, i8 addrspace(11)* %6, i64 8, !dbg !2425 | |
%8 = load i8, i8 addrspace(11)* %7, align 8, !dbg !2425, !tbaa !154, !alias.scope !70, !noalias !71 | |
%9 = and i8 %8, 1, !dbg !2425 | |
br label %common.ret | |
L9: ; preds = %top | |
%10 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !2427 | |
%11 = addrspacecast i8 addrspace(10)* %10 to i8 addrspace(11)*, !dbg !2427 | |
%12 = getelementptr inbounds i8, i8 addrspace(11)* %11, i64 48, !dbg !2427 | |
%13 = bitcast i8 addrspace(11)* %12 to {} addrspace(10)* addrspace(11)*, !dbg !2427 | |
%14 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %13 unordered, align 8, !dbg !2427, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not11 = icmp eq {} addrspace(10)* %14, null, !dbg !2427 | |
br i1 %.not11, label %fail, label %pass, !dbg !2427 | |
L12: ; preds = %top | |
%15 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !2429 | |
%16 = addrspacecast i8 addrspace(10)* %15 to i8 addrspace(11)*, !dbg !2429 | |
%17 = getelementptr inbounds i8, i8 addrspace(11)* %16, i64 48, !dbg !2429 | |
%18 = bitcast i8 addrspace(11)* %17 to {} addrspace(10)* addrspace(11)*, !dbg !2429 | |
%19 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %18 unordered, align 8, !dbg !2429, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not12 = icmp eq {} addrspace(10)* %19, null, !dbg !2429 | |
br i1 %.not12, label %fail1, label %pass2, !dbg !2429 | |
L15: ; preds = %pass2 | |
%20 = getelementptr inbounds i8, i8 addrspace(11)* %16, i64 56, !dbg !2429 | |
%21 = bitcast i8 addrspace(11)* %20 to {} addrspace(10)* addrspace(11)*, !dbg !2429 | |
%22 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %21 unordered, align 8, !dbg !2429, !tbaa !154, !alias.scope !70, !noalias !71, !dereferenceable_or_null !161, !align !162 | |
%.not14 = icmp eq {} addrspace(10)* %22, null, !dbg !2429 | |
br i1 %.not14, label %fail3, label %pass4, !dbg !2429 | |
fail: ; preds = %L9 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2427 | |
unreachable, !dbg !2427 | |
pass: ; preds = %L9 | |
%23 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %14) #59, !dbg !2428 | |
br label %common.ret | |
fail1: ; preds = %L12 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2429 | |
unreachable, !dbg !2429 | |
pass2: ; preds = %L12 | |
%24 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %19) #59, !dbg !2430 | |
%25 = and i8 %24, 1, !dbg !2430 | |
%.not13 = icmp eq i8 %25, 0, !dbg !2430 | |
br i1 %.not13, label %common.ret, label %L15, !dbg !2430 | |
fail3: ; preds = %L15 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2429 | |
unreachable, !dbg !2429 | |
pass4: ; preds = %L15 | |
%26 = call fastcc i8 @julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %22) #59, !dbg !2430 | |
br label %common.ret | |
} | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc { {} addrspace(10)*, i8 } @augmented_julia_is_constant_2084({} addrspace(10)* nocapture noundef nonnull readonly align 8 dereferenceable(64) %0, {} addrspace(10)* nocapture %"'") unnamed_addr #44 !dbg !2431 { | |
top: | |
%1 = call {}*** @julia.get_pgcstack() | |
%2 = alloca { {} addrspace(10)*, i8 }, align 8 | |
%3 = bitcast {}*** %1 to {}** | |
%4 = getelementptr inbounds {}*, {}** %3, i64 -13 | |
%5 = getelementptr inbounds {}*, {}** %4, i64 15 | |
%6 = bitcast {}** %5 to i8** | |
%7 = load i8*, i8** %6, align 8 | |
%8 = call noalias nonnull dereferenceable(88) dereferenceable_or_null(88) {} addrspace(10)* @jl_gc_alloc_typed(i8* %7, i64 88, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803843383376 to {}*) to {} addrspace(10)*)) | |
%9 = bitcast {} addrspace(10)* %8 to { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* | |
br label %loop.i | |
loop.i: ; preds = %loop.i, %top | |
%10 = phi i64 [ 0, %top ], [ %11, %loop.i ] | |
%11 = add i64 %10, 1 | |
%12 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %12, align 8 | |
%13 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 1 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %13, align 8 | |
%14 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 2 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %14, align 8 | |
%15 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 3 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %15, align 8 | |
%16 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 4 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %16, align 8 | |
%17 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 5 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %17, align 8 | |
%18 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 7 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %18, align 8 | |
%19 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 8 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %19, align 8 | |
%20 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %9, i64 %10, i32 9 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %20, align 8 | |
%21 = icmp eq i64 %11, 1 | |
br i1 %21, label %zeroType.17.exit, label %loop.i | |
zeroType.17.exit: ; preds = %loop.i | |
%tapemem = bitcast {} addrspace(10)* %8 to { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* | |
%22 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %2, i32 0, i32 0 | |
store {} addrspace(10)* %8, {} addrspace(10)** %22, align 8 | |
%23 = call {}*** @julia.get_pgcstack() #58 | |
%24 = bitcast {} addrspace(10)* %0 to i64 addrspace(10)*, !dbg !2432 | |
%25 = addrspacecast i64 addrspace(10)* %24 to i64 addrspace(11)*, !dbg !2432 | |
%26 = load i64, i64 addrspace(11)* %25, align 8, !dbg !2432, !tbaa !154, !alias.scope !2434, !noalias !2437 | |
%27 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 6, !dbg !2433 | |
store i64 %26, i64 addrspace(10)* %27, align 8, !dbg !2433 | |
switch i64 %26, label %L12 [ | |
i64 0, label %L4 | |
i64 1, label %L9 | |
], !dbg !2433 | |
common.ret: ; preds = %pass4, %pass2, %pass, %L4 | |
%common.ret.op = phi i8 [ %35, %L4 ], [ %56, %pass ], [ %62, %pass4 ], [ 0, %pass2 ] | |
%28 = insertvalue { {} addrspace(10)*, i8 } undef, i8 %common.ret.op, 1, !dbg !2439 | |
%29 = getelementptr inbounds { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %2, i32 0, i32 1, !dbg !2439 | |
store i8 %common.ret.op, i8* %29, align 1, !dbg !2439 | |
%30 = load { {} addrspace(10)*, i8 }, { {} addrspace(10)*, i8 }* %2, align 8, !dbg !2439 | |
ret { {} addrspace(10)*, i8 } %30, !dbg !2439 | |
L4: ; preds = %zeroType.17.exit | |
%31 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !2440 | |
%32 = addrspacecast i8 addrspace(10)* %31 to i8 addrspace(11)*, !dbg !2440 | |
%33 = getelementptr inbounds i8, i8 addrspace(11)* %32, i64 8, !dbg !2440 | |
%34 = load i8, i8 addrspace(11)* %33, align 8, !dbg !2440, !tbaa !154, !alias.scope !2434, !noalias !2437 | |
%35 = and i8 %34, 1, !dbg !2440 | |
br label %common.ret | |
L9: ; preds = %zeroType.17.exit | |
%"'ipc" = bitcast {} addrspace(10)* %"'" to i8 addrspace(10)*, !dbg !2442 | |
%36 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !2442 | |
%"'ipc3" = addrspacecast i8 addrspace(10)* %"'ipc" to i8 addrspace(11)*, !dbg !2442 | |
%37 = addrspacecast i8 addrspace(10)* %36 to i8 addrspace(11)*, !dbg !2442 | |
%"'ipg" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc3", i64 48, !dbg !2442 | |
%38 = getelementptr inbounds i8, i8 addrspace(11)* %37, i64 48, !dbg !2442 | |
%"'ipc4" = bitcast i8 addrspace(11)* %"'ipg" to {} addrspace(10)* addrspace(11)*, !dbg !2442 | |
%39 = bitcast i8 addrspace(11)* %38 to {} addrspace(10)* addrspace(11)*, !dbg !2442 | |
%"'ipl" = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipc4" unordered, align 8, !dbg !2442, !tbaa !154, !alias.scope !2444, !noalias !2445, !dereferenceable_or_null !161 | |
%40 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 0, !dbg !2442 | |
store {} addrspace(10)* %"'ipl", {} addrspace(10)* addrspace(10)* %40, align 8, !dbg !2442 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %"'ipl"), !dbg !2442 | |
%41 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %39 unordered, align 8, !dbg !2442, !tbaa !154, !alias.scope !2434, !noalias !2437, !dereferenceable_or_null !161, !align !162 | |
%42 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 7, !dbg !2442 | |
store {} addrspace(10)* %41, {} addrspace(10)* addrspace(10)* %42, align 8, !dbg !2442 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %41), !dbg !2442 | |
%.not11 = icmp eq {} addrspace(10)* %41, null, !dbg !2442 | |
br i1 %.not11, label %fail, label %pass, !dbg !2442 | |
L12: ; preds = %zeroType.17.exit | |
%"'ipc5" = bitcast {} addrspace(10)* %"'" to i8 addrspace(10)*, !dbg !2446 | |
%43 = bitcast {} addrspace(10)* %0 to i8 addrspace(10)*, !dbg !2446 | |
%"'ipc6" = addrspacecast i8 addrspace(10)* %"'ipc5" to i8 addrspace(11)*, !dbg !2446 | |
%44 = addrspacecast i8 addrspace(10)* %43 to i8 addrspace(11)*, !dbg !2446 | |
%"'ipg7" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc6", i64 48, !dbg !2446 | |
%45 = getelementptr inbounds i8, i8 addrspace(11)* %44, i64 48, !dbg !2446 | |
%"'ipc8" = bitcast i8 addrspace(11)* %"'ipg7" to {} addrspace(10)* addrspace(11)*, !dbg !2446 | |
%46 = bitcast i8 addrspace(11)* %45 to {} addrspace(10)* addrspace(11)*, !dbg !2446 | |
%"'ipl9" = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipc8" unordered, align 8, !dbg !2446, !tbaa !154, !alias.scope !2444, !noalias !2445, !dereferenceable_or_null !161 | |
%47 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 1, !dbg !2446 | |
store {} addrspace(10)* %"'ipl9", {} addrspace(10)* addrspace(10)* %47, align 8, !dbg !2446 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %"'ipl9"), !dbg !2446 | |
%48 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %46 unordered, align 8, !dbg !2446, !tbaa !154, !alias.scope !2434, !noalias !2437, !dereferenceable_or_null !161, !align !162 | |
%49 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 8, !dbg !2446 | |
store {} addrspace(10)* %48, {} addrspace(10)* addrspace(10)* %49, align 8, !dbg !2446 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %48), !dbg !2446 | |
%.not12 = icmp eq {} addrspace(10)* %48, null, !dbg !2446 | |
br i1 %.not12, label %fail1, label %pass2, !dbg !2446 | |
L15: ; preds = %pass2 | |
%"'ipg10" = getelementptr inbounds i8, i8 addrspace(11)* %"'ipc6", i64 56, !dbg !2446 | |
%50 = getelementptr inbounds i8, i8 addrspace(11)* %44, i64 56, !dbg !2446 | |
%"'ipc11" = bitcast i8 addrspace(11)* %"'ipg10" to {} addrspace(10)* addrspace(11)*, !dbg !2446 | |
%51 = bitcast i8 addrspace(11)* %50 to {} addrspace(10)* addrspace(11)*, !dbg !2446 | |
%"'ipl12" = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %"'ipc11" unordered, align 8, !dbg !2446, !tbaa !154, !alias.scope !2444, !noalias !2445, !dereferenceable_or_null !161 | |
%52 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 2, !dbg !2446 | |
store {} addrspace(10)* %"'ipl12", {} addrspace(10)* addrspace(10)* %52, align 8, !dbg !2446 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %"'ipl12"), !dbg !2446 | |
%53 = load atomic {} addrspace(10)*, {} addrspace(10)* addrspace(11)* %51 unordered, align 8, !dbg !2446, !tbaa !154, !alias.scope !2434, !noalias !2437, !dereferenceable_or_null !161, !align !162 | |
%54 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 9, !dbg !2446 | |
store {} addrspace(10)* %53, {} addrspace(10)* addrspace(10)* %54, align 8, !dbg !2446 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %53), !dbg !2446 | |
%.not14 = icmp eq {} addrspace(10)* %53, null, !dbg !2446 | |
br i1 %.not14, label %fail3, label %pass4, !dbg !2446 | |
fail: ; preds = %L9 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2442 | |
unreachable, !dbg !2442 | |
pass: ; preds = %L9 | |
%_augmented = call fastcc { {} addrspace(10)*, i8 } @augmented_julia_is_constant_2084({} addrspace(10)* %41, {} addrspace(10)* %"'ipl"), !dbg !2443 | |
%subcache = extractvalue { {} addrspace(10)*, i8 } %_augmented, 0, !dbg !2443 | |
%55 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 3, !dbg !2443 | |
store {} addrspace(10)* %subcache, {} addrspace(10)* addrspace(10)* %55, align 8, !dbg !2443 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %subcache), !dbg !2443 | |
%56 = extractvalue { {} addrspace(10)*, i8 } %_augmented, 1, !dbg !2443 | |
br label %common.ret | |
fail1: ; preds = %L12 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2446 | |
unreachable, !dbg !2446 | |
pass2: ; preds = %L12 | |
%_augmented13 = call fastcc { {} addrspace(10)*, i8 } @augmented_julia_is_constant_2084({} addrspace(10)* %48, {} addrspace(10)* %"'ipl9"), !dbg !2447 | |
%subcache14 = extractvalue { {} addrspace(10)*, i8 } %_augmented13, 0, !dbg !2447 | |
%57 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 4, !dbg !2447 | |
store {} addrspace(10)* %subcache14, {} addrspace(10)* addrspace(10)* %57, align 8, !dbg !2447 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %subcache14), !dbg !2447 | |
%58 = extractvalue { {} addrspace(10)*, i8 } %_augmented13, 1, !dbg !2447 | |
%59 = and i8 %58, 1, !dbg !2447 | |
%.not13 = icmp eq i8 %59, 0, !dbg !2447 | |
%60 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 10, !dbg !2447 | |
store i1 %.not13, i1 addrspace(10)* %60, align 1, !dbg !2447 | |
br i1 %.not13, label %common.ret, label %L15, !dbg !2447 | |
fail3: ; preds = %L15 | |
call void @ijl_throw({} addrspace(12)* noundef addrspacecast ({}* inttoptr (i64 139809580337168 to {}*) to {} addrspace(12)*)) #62, !dbg !2446 | |
unreachable, !dbg !2446 | |
pass4: ; preds = %L15 | |
%_augmented15 = call fastcc { {} addrspace(10)*, i8 } @augmented_julia_is_constant_2084({} addrspace(10)* %53, {} addrspace(10)* %"'ipl12"), !dbg !2447 | |
%subcache16 = extractvalue { {} addrspace(10)*, i8 } %_augmented15, 0, !dbg !2447 | |
%61 = getelementptr inbounds { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %tapemem, i32 0, i32 5, !dbg !2447 | |
store {} addrspace(10)* %subcache16, {} addrspace(10)* addrspace(10)* %61, align 8, !dbg !2447 | |
call void ({} addrspace(10)*, ...) @julia.write_barrier({} addrspace(10)* %8, {} addrspace(10)* %subcache16), !dbg !2447 | |
%62 = extractvalue { {} addrspace(10)*, i8 } %_augmented15, 1, !dbg !2447 | |
br label %common.ret | |
} | |
; Function Attrs: alwaysinline argmemonly mustprogress nofree willreturn writeonly | |
define internal void @zeroType.17({} addrspace(10)* nocapture writeonly %0, i8 %1, i64 %2) #36 { | |
entry: | |
%3 = bitcast {} addrspace(10)* %0 to { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* | |
br label %loop | |
loop: ; preds = %loop, %entry | |
%4 = phi i64 [ 0, %entry ], [ %5, %loop ] | |
%5 = add i64 %4, 1 | |
%6 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %6, align 8 | |
%7 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 1 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %7, align 8 | |
%8 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 2 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %8, align 8 | |
%9 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 3 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %9, align 8 | |
%10 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 4 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %10, align 8 | |
%11 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 5 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %11, align 8 | |
%12 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 7 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %12, align 8 | |
%13 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 8 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %13, align 8 | |
%14 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1 } addrspace(10)* %3, i64 %4, i32 9 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %14, align 8 | |
%15 = udiv exact i64 %2, 88 | |
%16 = icmp eq i64 %5, %15 | |
br i1 %16, label %exit, label %loop | |
exit: ; preds = %loop | |
ret void | |
} | |
declare void @julia.write_barrier({} addrspace(10)*, ...) | |
; Function Attrs: mustprogress willreturn | |
define internal fastcc {} addrspace(10)* @augmented_julia__eval_tree_array_2078({ {} addrspace(10)*, i8 }* noalias nocapture noundef nonnull align 8 dereferenceable(16) "enzyme_sret" %0, { {} addrspace(10)*, i8 }* nocapture "enzyme_sret" %"'", [1 x {} addrspace(10)*]* noalias nocapture noundef nonnull writeonly align 8 dereferenceable(8) %1, {} addrspace(10)* noundef nonnull align 8 dereferenceable(64) %2, {} addrspace(10)* %"'1", {} addrspace(10)* noundef nonnull align 16 dereferenceable(40) %3, [4 x {} addrspace(10)*] addrspace(11)* nocapture noundef nonnull readonly align 8 dereferenceable(32) %4) unnamed_addr #37 !dbg !2448 { | |
top: | |
%5 = call {}*** @julia.get_pgcstack() | |
%6 = alloca {} addrspace(10)*, align 8 | |
%7 = bitcast {}*** %5 to {}** | |
%8 = getelementptr inbounds {}*, {}** %7, i64 -13 | |
%9 = getelementptr inbounds {}*, {}** %8, i64 15 | |
%10 = bitcast {}** %9 to i8** | |
%11 = load i8*, i8** %10, align 8 | |
%12 = call noalias nonnull dereferenceable(840) dereferenceable_or_null(840) {} addrspace(10)* @jl_gc_alloc_typed(i8* %11, i64 840, {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139803866427152 to {}*) to {} addrspace(10)*)) | |
%13 = bitcast {} addrspace(10)* %12 to { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* | |
br label %loop.i | |
loop.i: ; preds = %loop.i, %top | |
%14 = phi i64 [ 0, %top ], [ %15, %loop.i ] | |
%15 = add i64 %14, 1 | |
%16 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %16, align 8 | |
%17 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 1 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %17, align 8 | |
%18 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 2 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %18, align 8 | |
%19 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 5 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %19, align 8 | |
%20 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 6 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %20, align 8 | |
%21 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 7 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %21, align 8 | |
%22 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 8 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %22, align 8 | |
%23 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 9 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %23, align 8 | |
%24 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 10 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %24, align 8 | |
%25 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 11 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %25, align 8 | |
%26 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 12 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %26, align 8 | |
%27 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 14 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %27, align 8 | |
%28 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 15 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %28, align 8 | |
%29 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 16 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %29, align 8 | |
%30 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 18 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %30, align 8 | |
%31 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 19 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %31, align 8 | |
%32 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 20 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %32, align 8 | |
%33 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 21 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %33, align 8 | |
%34 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 22 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %34, align 8 | |
%35 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 23 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %35, align 8 | |
%36 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 24 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %36, align 8 | |
%37 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 25 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %37, align 8 | |
%38 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 26 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %38, align 8 | |
%39 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 27 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %39, align 8 | |
%40 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 28 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %40, align 8 | |
%41 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 29 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %41, align 8 | |
%42 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 30 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %42, align 8 | |
%43 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 31 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %43, align 8 | |
%44 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 32 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %44, align 8 | |
%45 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 33 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %45, align 8 | |
%46 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 34 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %46, align 8 | |
%47 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 35 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %47, align 8 | |
%48 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 36 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %48, align 8 | |
%49 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 37 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %49, align 8 | |
%50 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 38 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %50, align 8 | |
%51 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 39 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %51, align 8 | |
%52 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 40 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %52, align 8 | |
%53 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 41 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %53, align 8 | |
%54 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 42 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %54, align 8 | |
%55 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 43 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %55, align 8 | |
%56 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 44 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %56, align 8 | |
%57 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 45 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %57, align 8 | |
%58 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 46 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %58, align 8 | |
%59 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 47 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %59, align 8 | |
%60 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 48 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %60, align 8 | |
%61 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 49 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %61, align 8 | |
%62 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 50 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %62, align 8 | |
%63 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 52 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %63, align 8 | |
%64 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 53 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %64, align 8 | |
%65 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 54 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %65, align 8 | |
%66 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 63 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %66, align 8 | |
%67 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 70 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %67, align 8 | |
%68 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 73 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %68, align 8 | |
%69 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 74 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %69, align 8 | |
%70 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 79 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %70, align 8 | |
%71 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 82 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %71, align 8 | |
%72 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 83 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %72, align 8 | |
%73 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 84 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %73, align 8 | |
%74 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 13, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %74, align 8 | |
%75 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 13, i32 1 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %75, align 8 | |
%76 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 13, i32 2 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %76, align 8 | |
%77 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 13, i32 3 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %77, align 8 | |
%78 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 17, i32 0 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %78, align 8 | |
%79 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 17, i32 1 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %79, align 8 | |
%80 = getelementptr { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 }, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i8*, i8*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64*, i64 }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, { {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, i64, i64, {} addrspace(10)*, {} addrspace(10)* }, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i64, i64, i64, i64, i64, i1, i64, {} addrspace(10)*, i64, i1, i64, i1, i64, i1, {} addrspace(10)*, i64, i1, {} addrspace(10)*, {} addrspace(10)*, i64, i1, i1, i64, {} addrspace(10)*, i1, i64, {} addrspace(10)*, {} addrspace(10)*, {} addrspace(10)*, i1, i1, i1, i1 } addrspace(10)* %13, i64 %14, i32 17, i32 2 | |
store {} addrspace(10)* addrspacecast ({}* inttoptr (i64 139809725571080 to {}*) to {} addrspace(10)*), {} addrspace(10)* addrspace(10)* %80, align 8 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment