Skip to content

Instantly share code, notes, and snippets.

@annanay25
Last active July 21, 2017 17:13
Show Gist options
  • Save annanay25/628bc7b191e1a902d13ed0c52e5e7e43 to your computer and use it in GitHub Desktop.
Save annanay25/628bc7b191e1a902d13ed0c52e5e7e43 to your computer and use it in GitHub Desktop.
; ModuleID = 'cluster_2.ll'
source_filename = "__compute_module"
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux_gnu"
@0 = private constant [1 x [28 x [28 x [1 x float]]]] [[28 x [28 x [1 x float]]] [[28 x [1 x float]] zeroinitializer, [28 x [1 x float]] zeroinitializer, [28 x [1 x float]] zeroinitializer, [28 x [1 x float]] zeroinitializer, [28 x [1 x float]] zeroinitializer, [28 x [1 x float]] zeroinitializer, [28 x [1 x float]] zeroinitializer, [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FD8585880000000], [1 x float] [float 0x3FD8181840000000], [1 x float] [float 0x3FD3535360000000], [1 x float] [float 0x3FDD9D9DC0000000], [1 x float] [float 0x3FCE9E9EC0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FD69696A0000000], [1 x float] [float 0x3FE1515160000000], [1 x float] [float 0x3FED7D7DA0000000], [1 x float] [float 0x3FED7D7DA0000000], [1 x float] [float 0x3FED7D7DA0000000], [1 x float] [float 0x3FED7D7DA0000000], [1 x float] [float 0x3FED7D7DA0000000], [1 x float] [float 0x3FED7D7DA0000000], [1 x float] [float 0x3FEF7F7FA0000000], [1 x float] [float 0x3FEF7F7FA0000000], [1 x float] [float 0x3FEF1F1F40000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEEBEBEE0000000], [1 x float] [float 0x3FED7D7DA0000000], [1 x float] [float 0x3FE7D7D7E0000000], [1 x float] [float 0x3FB5151520000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FE19191A0000000], [1 x float] [float 0x3FEF7F7FA0000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FE7B7B7C0000000], [1 x float] [float 0x3FB7171720000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FEC5C5C80000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEA1A1A40000000], [1 x float] [float 0x3FE8F8F920000000], [1 x float] [float 0x3FE8F8F920000000], [1 x float] [float 0x3FE8F8F920000000], [1 x float] [float 0x3FE8F8F920000000], [1 x float] [float 0x3FE1717180000000], [1 x float] [float 0x3FCE9E9EC0000000], [1 x float] [float 0x3FCE9E9EC0000000], [1 x float] [float 0x3FCE9E9EC0000000], [1 x float] [float 0x3FCE9E9EC0000000], [1 x float] [float 0x3FCE9E9EC0000000], [1 x float] [float 0x3FE0101020000000], [1 x float] [float 0x3FEBDBDC00000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FE7B7B7C0000000], [1 x float] [float 0x3FB5151520000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FC3131320000000], [1 x float] [float 0x3FD49494A0000000], [1 x float] [float 0x3FAA1A1A40000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FC1111120000000], [1 x float] [float 0x3FEABABAE0000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FDCDCDD00000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FD5151520000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FED5D5D80000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FD5151520000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FED5D5D80000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FDA9A9AC0000000], [1 x float] [float 0x3FE3B3B3C0000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEE7E7EA0000000], [1 x float] [float 0x3FC99999C0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FB9191940000000], [1 x float] [float 0x3FDD5D5D80000000], [1 x float] [float 0x3FEC9C9CC0000000], [1 x float] [float 0x3FEC9C9CC0000000], [1 x float] [float 0x3FEC9C9CC0000000], [1 x float] [float 0x3FEFBFBFE0000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEE1E1E40000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FD1111120000000], [1 x float] [float 0x3FDDDDDE00000000], [1 x float] [float 0x3FEB9B9BC0000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FE1D1D1E0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FC29292A0000000], [1 x float] [float 0x3FE7777780000000], [1 x float] [float 0x3FEFBFBFE0000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEBFBFC20000000], [1 x float] [float 0x3FE9D9DA00000000], [1 x float] [float 0x3FE9D9DA00000000], [1 x float] [float 0x3FD2D2D2E0000000], [1 x float] [float 0x3FD1111120000000], [1 x float] [float 0x3FEAFAFB20000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FDD5D5D80000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FDC5C5C80000000], [1 x float] [float 0x3FEB7B7BA0000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEE5E5E80000000], [1 x float] [float 0x3FEC7C7CA0000000], [1 x float] [float 0x3FDCDCDD00000000], [1 x float] [float 0x3FD6565660000000], [1 x float] [float 0x3FBF1F1F40000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FE9191940000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEE3E3E60000000], [1 x float] [float 0x3FC49494A0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FE5353540000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FE6161620000000], [1 x float] [float 0x3FCF1F1F40000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FC8181840000000], [1 x float] [float 0x3FECFCFD20000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FED5D5D80000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FB2121220000000], [1 x float] [float 0x3FDF1F1F40000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FD5151520000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FE4D4D4E0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FE1717180000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEDDDDE00000000], [1 x float] [float 0x3FCC9C9CC0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FEA5A5A80000000], [1 x float] [float 0x3FEF5F5F80000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FE5151520000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FEE5E5E80000000], [1 x float] [float 0x3FEFDFE000000000], [1 x float] [float 0x3FEDFDFE20000000], [1 x float] [float 0x3FCC9C9CC0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3FD6565660000000], [1 x float] [float 0x3FEF7F7FA0000000], [1 x float] [float 0x3FEE3E3E60000000], [1 x float] [float 0x3FD59595A0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3F94141420000000], [1 x float] [float 0x3FE9D9DA00000000], [1 x float] [float 0x3FEEDEDF00000000], [1 x float] [float 0x3FE3B3B3C0000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] [[1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] [float 0x3F90101020000000], [1 x float] [float 0x3FDD5D5D80000000], [1 x float] [float 0x3FD1515160000000], [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer, [1 x float] zeroinitializer], [28 x [1 x float]] zeroinitializer]]
define void @"cluster_2[_XlaCompiledKernel=true,_XlaNumConstantArgs=0].v7"(i8* align 16 dereferenceable(100352) %retval, i8* noalias %run_options, i8** noalias %params, i8** noalias %temps, i64* noalias %prof_counters) #0 {
entry:
%convolution_sum_address.3.phiops = alloca float
%.s2a51 = alloca i64
%.s2a = alloca i64
%convolution_sum_address.2.s2a = alloca float
%convolution_sum_address.2.phiops = alloca float
%convolution_sum_address.1.s2a = alloca float
%convolution_sum_address.1.phiops = alloca float
%convolution_sum_address.0.s2a = alloca float
%convolution_sum_address.0.phiops = alloca float
%.preload.s2a2 = alloca i8*
%.preload.s2a = alloca i8*
%0 = getelementptr inbounds i8*, i8** %params, i64 1
%1 = load i8*, i8** %0, !tbaa !0, !dereferenceable !3, !align !4
%2 = bitcast i8* %1 to [5 x [5 x [1 x [32 x float]]]]*
%3 = getelementptr inbounds i8*, i8** %temps, i64 0
%4 = load i8*, i8** %3, !tbaa !5, !invariant.load !7, !dereferenceable !8, !align !4
%5 = bitcast i8* %4 to [1 x [28 x [28 x [32 x float]]]]*
br label %polly.split_new_and_old
polly.split_new_and_old: ; preds = %entry
br label %polly.preload.begin
polly.preload.begin: ; preds = %polly.split_new_and_old
%polly.access.temps = getelementptr i8*, i8** %temps, i64 1
%polly.access.temps.load = load i8*, i8** %polly.access.temps
store i8* %polly.access.temps.load, i8** %.preload.s2a
%polly.access.params = getelementptr i8*, i8** %params, i64 0
%polly.access.params.load = load i8*, i8** %polly.access.params
store i8* %polly.access.params.load, i8** %.preload.s2a2
br i1 true, label %polly.start, label %loop_header.dim.0.pre_entry_bb
loop_header.dim.0.pre_entry_bb: ; preds = %polly.preload.begin
br label %loop_header.dim.0
loop_header.dim.0: ; preds = %loop_header.dim.0.pre_entry_bb, %loop_exit.dim.1
%invar_address.dim.0.0 = phi i64 [ %invar.inc, %loop_exit.dim.1 ], [ 0, %loop_header.dim.0.pre_entry_bb ]
%6 = icmp uge i64 %invar_address.dim.0.0, 1
br i1 %6, label %loop_exit.dim.0, label %loop_body.dim.0
loop_body.dim.0: ; preds = %loop_header.dim.0
br label %loop_header.dim.1
loop_header.dim.1: ; preds = %loop_exit.dim.2, %loop_body.dim.0
%invar_address.dim.1.0 = phi i64 [ 0, %loop_body.dim.0 ], [ %invar.inc1, %loop_exit.dim.2 ]
%7 = icmp uge i64 %invar_address.dim.1.0, 28
br i1 %7, label %loop_exit.dim.1, label %loop_body.dim.1
loop_body.dim.1: ; preds = %loop_header.dim.1
br label %loop_header.dim.2
loop_header.dim.2: ; preds = %loop_exit.dim.3, %loop_body.dim.1
%invar_address.dim.2.0 = phi i64 [ 0, %loop_body.dim.1 ], [ %invar.inc2, %loop_exit.dim.3 ]
%8 = icmp uge i64 %invar_address.dim.2.0, 28
br i1 %8, label %loop_exit.dim.2, label %loop_body.dim.2
loop_body.dim.2: ; preds = %loop_header.dim.2
br label %loop_header.dim.3
loop_header.dim.3: ; preds = %loop_exit.k0, %loop_body.dim.2
%invar_address.dim.3.0 = phi i64 [ 0, %loop_body.dim.2 ], [ %invar.inc3, %loop_exit.k0 ]
%9 = icmp uge i64 %invar_address.dim.3.0, 32
br i1 %9, label %loop_exit.dim.3, label %loop_body.dim.3
loop_body.dim.3: ; preds = %loop_header.dim.3
br label %loop_header.k0
loop_header.k0: ; preds = %loop_exit.k1, %loop_body.dim.3
%invar_address.k0.0 = phi i64 [ 0, %loop_body.dim.3 ], [ %invar.inc4, %loop_exit.k1 ]
%convolution_sum_address.0 = phi float [ 0.000000e+00, %loop_body.dim.3 ], [ %convolution_sum_address.1, %loop_exit.k1 ]
%10 = icmp uge i64 %invar_address.k0.0, 5
br i1 %10, label %loop_exit.k0, label %loop_body.k0
loop_body.k0: ; preds = %loop_header.k0
br label %loop_header.k1
loop_header.k1: ; preds = %loop_exit.iz, %loop_body.k0
%invar_address.k1.0 = phi i64 [ 0, %loop_body.k0 ], [ %invar.inc5, %loop_exit.iz ]
%convolution_sum_address.1 = phi float [ %convolution_sum_address.0, %loop_body.k0 ], [ %convolution_sum_address.2, %loop_exit.iz ]
%11 = icmp uge i64 %invar_address.k1.0, 5
br i1 %11, label %loop_exit.k1, label %loop_body.k1
loop_body.k1: ; preds = %loop_header.k1
br label %loop_header.iz
loop_header.iz: ; preds = %in-bounds-after, %loop_body.k1
%invar_address.iz.0 = phi i64 [ 0, %loop_body.k1 ], [ %invar.inc6, %in-bounds-after ]
%convolution_sum_address.2 = phi float [ %convolution_sum_address.1, %loop_body.k1 ], [ %convolution_sum_address.3, %in-bounds-after ]
%12 = icmp uge i64 %invar_address.iz.0, 1
br i1 %12, label %loop_exit.iz, label %loop_body.iz
loop_body.iz: ; preds = %loop_header.iz
%13 = mul nsw i64 %invar_address.dim.1.0, 1
%14 = mul nsw i64 %invar_address.k0.0, 1
%15 = add nsw i64 %13, %14
%16 = sub nsw i64 %15, 2
%17 = mul nsw i64 %invar_address.dim.2.0, 1
%18 = mul nsw i64 %invar_address.k1.0, 1
%19 = add nsw i64 %17, %18
%20 = sub nsw i64 %19, 2
%21 = icmp ult i64 %16, 28
%22 = srem i64 %16, 1
%23 = icmp eq i64 %22, 0
%24 = and i1 %21, %23
%25 = icmp ult i64 %20, 28
%26 = srem i64 %20, 1
%27 = icmp eq i64 %26, 0
%28 = and i1 %25, %27
%29 = and i1 %24, %28
%30 = sdiv i64 %16, 1
%31 = sdiv i64 %20, 1
br i1 %29, label %in-bounds-true, label %in-bounds-false
in-bounds-after: ; preds = %in-bounds-false, %in-bounds-true
%convolution_sum_address.3 = phi float [ %44, %in-bounds-true ], [ %convolution_sum_address.2, %in-bounds-false ]
%invar.inc6 = add nuw nsw i64 %invar_address.iz.0, 1
br label %loop_header.iz
loop_exit.iz: ; preds = %loop_header.iz
%invar.inc5 = add nuw nsw i64 %invar_address.k1.0, 1
br label %loop_header.k1
loop_exit.k1: ; preds = %loop_header.k1
%invar.inc4 = add nuw nsw i64 %invar_address.k0.0, 1
br label %loop_header.k0
loop_exit.k0: ; preds = %loop_header.k0
%32 = getelementptr inbounds [1 x [28 x [28 x [32 x float]]]], [1 x [28 x [28 x [32 x float]]]]* %5, i64 0, i64 0, i64 %invar_address.dim.1.0, i64 %invar_address.dim.2.0, i64 %invar_address.dim.3.0
store float %convolution_sum_address.0, float* %32, !tbaa !9, !alias.scope !11, !noalias !14
%invar.inc3 = add nuw nsw i64 %invar_address.dim.3.0, 1
br label %loop_header.dim.3
loop_exit.dim.3: ; preds = %loop_header.dim.3
%invar.inc2 = add nuw nsw i64 %invar_address.dim.2.0, 1
br label %loop_header.dim.2
loop_exit.dim.2: ; preds = %loop_header.dim.2
%invar.inc1 = add nuw nsw i64 %invar_address.dim.1.0, 1
br label %loop_header.dim.1
loop_exit.dim.1: ; preds = %loop_header.dim.1
%invar.inc = add nuw nsw i64 %invar_address.dim.0.0, 1
br label %loop_header.dim.0
loop_exit.dim.0: ; preds = %loop_header.dim.0
%33 = getelementptr inbounds i8*, i8** %params, i64 0
%34 = load i8*, i8** %33, !tbaa !16, !dereferenceable !18, !align !4
%35 = bitcast i8* %34 to [32 x float]*
%36 = getelementptr inbounds i8*, i8** %temps, i64 1
%37 = load i8*, i8** %36, !tbaa !5, !invariant.load !7, !dereferenceable !8, !align !4
%38 = bitcast i8* %37 to [1 x [28 x [28 x [32 x float]]]]*
br label %loop_header.dim.08
in-bounds-true: ; preds = %loop_body.iz
%39 = getelementptr inbounds [5 x [5 x [1 x [32 x float]]]], [5 x [5 x [1 x [32 x float]]]]* %2, i64 0, i64 %invar_address.k0.0, i64 %invar_address.k1.0, i64 0, i64 %invar_address.dim.3.0
%40 = load float, float* %39, !tbaa !19, !invariant.load !7, !noalias !11
%41 = getelementptr inbounds [1 x [28 x [28 x [1 x float]]]], [1 x [28 x [28 x [1 x float]]]]* @0, i64 0, i64 0, i64 %30, i64 %31, i64 0
%42 = load float, float* %41, !tbaa !21
%43 = fmul fast float %42, %40
%44 = fadd fast float %convolution_sum_address.2, %43
br label %in-bounds-after
in-bounds-false: ; preds = %loop_body.iz
br label %in-bounds-after
loop_header.dim.08: ; preds = %loop_exit.dim.113, %loop_exit.dim.0
%invar_address.dim.010.0 = phi i64 [ 0, %loop_exit.dim.0 ], [ %invar.inc12, %loop_exit.dim.113 ]
%45 = icmp uge i64 %invar_address.dim.010.0, 1
br i1 %45, label %loop_exit.dim.07, label %loop_body.dim.09
loop_body.dim.09: ; preds = %loop_header.dim.08
br label %loop_header.dim.114
loop_header.dim.114: ; preds = %loop_exit.dim.219, %loop_body.dim.09
%invar_address.dim.116.0 = phi i64 [ 0, %loop_body.dim.09 ], [ %invar.inc18, %loop_exit.dim.219 ]
%46 = icmp uge i64 %invar_address.dim.116.0, 28
br i1 %46, label %loop_exit.dim.113, label %loop_body.dim.115
loop_body.dim.115: ; preds = %loop_header.dim.114
br label %loop_header.dim.220
loop_header.dim.220: ; preds = %loop_exit.dim.325, %loop_body.dim.115
%invar_address.dim.222.0 = phi i64 [ 0, %loop_body.dim.115 ], [ %invar.inc24, %loop_exit.dim.325 ]
%47 = icmp uge i64 %invar_address.dim.222.0, 28
br i1 %47, label %loop_exit.dim.219, label %loop_body.dim.221
loop_body.dim.221: ; preds = %loop_header.dim.220
br label %loop_header.dim.326
loop_header.dim.326: ; preds = %loop_body.dim.327, %loop_body.dim.221
%invar_address.dim.328.0 = phi i64 [ 0, %loop_body.dim.221 ], [ %invar.inc30, %loop_body.dim.327 ]
%48 = icmp uge i64 %invar_address.dim.328.0, 32
br i1 %48, label %loop_exit.dim.325, label %loop_body.dim.327
loop_body.dim.327: ; preds = %loop_header.dim.326
%49 = getelementptr inbounds [32 x float], [32 x float]* %35, i64 0, i64 %invar_address.dim.328.0
%50 = load float, float* %49, !tbaa !23, !invariant.load !7, !noalias !11
%51 = getelementptr inbounds [1 x [28 x [28 x [32 x float]]]], [1 x [28 x [28 x [32 x float]]]]* %38, i64 0, i64 0, i64 %invar_address.dim.116.0, i64 %invar_address.dim.222.0, i64 %invar_address.dim.328.0
store float %50, float* %51, !tbaa !9, !alias.scope !14, !noalias !11
%invar.inc30 = add nuw nsw i64 %invar_address.dim.328.0, 1
br label %loop_header.dim.326
loop_exit.dim.325: ; preds = %loop_header.dim.326
%invar.inc24 = add nuw nsw i64 %invar_address.dim.222.0, 1
br label %loop_header.dim.220
loop_exit.dim.219: ; preds = %loop_header.dim.220
%invar.inc18 = add nuw nsw i64 %invar_address.dim.116.0, 1
br label %loop_header.dim.114
loop_exit.dim.113: ; preds = %loop_header.dim.114
%invar.inc12 = add nuw nsw i64 %invar_address.dim.010.0, 1
br label %loop_header.dim.08
loop_exit.dim.07: ; preds = %loop_header.dim.08
%52 = bitcast i8* %retval to [1 x [28 x [28 x [32 x float]]]]*
br label %loop_header.dim.032
loop_header.dim.032: ; preds = %loop_exit.dim.137, %loop_exit.dim.07
%invar_address.dim.034.0 = phi i64 [ 0, %loop_exit.dim.07 ], [ %invar.inc36, %loop_exit.dim.137 ]
%53 = icmp uge i64 %invar_address.dim.034.0, 1
br i1 %53, label %polly.merge_new_and_old, label %loop_body.dim.033
loop_body.dim.033: ; preds = %loop_header.dim.032
br label %loop_header.dim.138
loop_header.dim.138: ; preds = %loop_exit.dim.243, %loop_body.dim.033
%invar_address.dim.140.0 = phi i64 [ 0, %loop_body.dim.033 ], [ %invar.inc42, %loop_exit.dim.243 ]
%54 = icmp uge i64 %invar_address.dim.140.0, 28
br i1 %54, label %loop_exit.dim.137, label %loop_body.dim.139
loop_body.dim.139: ; preds = %loop_header.dim.138
br label %loop_header.dim.244
loop_header.dim.244: ; preds = %loop_exit.dim.349, %loop_body.dim.139
%invar_address.dim.246.0 = phi i64 [ 0, %loop_body.dim.139 ], [ %invar.inc48, %loop_exit.dim.349 ]
%55 = icmp uge i64 %invar_address.dim.246.0, 28
br i1 %55, label %loop_exit.dim.243, label %loop_body.dim.245
loop_body.dim.245: ; preds = %loop_header.dim.244
br label %loop_header.dim.350
loop_header.dim.350: ; preds = %loop_body.dim.351, %loop_body.dim.245
%invar_address.dim.352.0 = phi i64 [ 0, %loop_body.dim.245 ], [ %invar.inc54, %loop_body.dim.351 ]
%56 = icmp uge i64 %invar_address.dim.352.0, 32
br i1 %56, label %loop_exit.dim.349, label %loop_body.dim.351
loop_body.dim.351: ; preds = %loop_header.dim.350
%57 = getelementptr inbounds [1 x [28 x [28 x [32 x float]]]], [1 x [28 x [28 x [32 x float]]]]* %5, i64 0, i64 0, i64 %invar_address.dim.140.0, i64 %invar_address.dim.246.0, i64 %invar_address.dim.352.0
%58 = load float, float* %57, !tbaa !9, !alias.scope !11, !noalias !14
%59 = getelementptr inbounds [1 x [28 x [28 x [32 x float]]]], [1 x [28 x [28 x [32 x float]]]]* %38, i64 0, i64 0, i64 %invar_address.dim.140.0, i64 %invar_address.dim.246.0, i64 %invar_address.dim.352.0
%60 = load float, float* %59, !tbaa !9, !alias.scope !14, !noalias !11
%61 = fadd fast float %58, %60
%62 = getelementptr inbounds [1 x [28 x [28 x [32 x float]]]], [1 x [28 x [28 x [32 x float]]]]* %52, i64 0, i64 0, i64 %invar_address.dim.140.0, i64 %invar_address.dim.246.0, i64 %invar_address.dim.352.0
store float %61, float* %62, !tbaa !9, !alias.scope !11, !noalias !14
%invar.inc54 = add nuw nsw i64 %invar_address.dim.352.0, 1
br label %loop_header.dim.350
loop_exit.dim.349: ; preds = %loop_header.dim.350
%invar.inc48 = add nuw nsw i64 %invar_address.dim.246.0, 1
br label %loop_header.dim.244
loop_exit.dim.243: ; preds = %loop_header.dim.244
%invar.inc42 = add nuw nsw i64 %invar_address.dim.140.0, 1
br label %loop_header.dim.138
loop_exit.dim.137: ; preds = %loop_header.dim.138
%invar.inc36 = add nuw nsw i64 %invar_address.dim.034.0, 1
br label %loop_header.dim.032
polly.merge_new_and_old: ; preds = %polly.exiting, %loop_header.dim.032
br label %loop_exit.dim.031
loop_exit.dim.031: ; preds = %polly.merge_new_and_old
%prof_counter_computation = getelementptr i64, i64* %prof_counters, i64 0
ret void
polly.start: ; preds = %polly.preload.begin
br label %polly.loop_preheader
polly.loop_exit: ; preds = %polly.loop_exit5
br label %polly.loop_preheader71
polly.loop_exit72: ; preds = %polly.loop_exit78
br label %polly.loop_preheader96
polly.loop_exit97: ; preds = %polly.loop_exit103
br label %polly.exiting
polly.exiting: ; preds = %polly.loop_exit97
br label %polly.merge_new_and_old
polly.loop_header: ; preds = %polly.loop_exit5, %polly.loop_preheader
%polly.indvar = phi i64 [ 0, %polly.loop_preheader ], [ %polly.indvar_next, %polly.loop_exit5 ]
br label %polly.loop_preheader4
polly.loop_exit5: ; preds = %polly.loop_exit11
%polly.indvar_next = add nsw i64 %polly.indvar, 1
%polly.loop_cond = icmp sle i64 %polly.indvar_next, 27
br i1 %polly.loop_cond, label %polly.loop_header, label %polly.loop_exit
polly.loop_preheader: ; preds = %polly.start
br label %polly.loop_header
polly.loop_header3: ; preds = %polly.loop_exit11, %polly.loop_preheader4
%polly.indvar6 = phi i64 [ 0, %polly.loop_preheader4 ], [ %polly.indvar_next7, %polly.loop_exit11 ]
br label %polly.loop_preheader10
polly.loop_exit11: ; preds = %polly.stmt.loop_exit.k0
%polly.indvar_next7 = add nsw i64 %polly.indvar6, 1
%polly.loop_cond8 = icmp sle i64 %polly.indvar_next7, 27
br i1 %polly.loop_cond8, label %polly.loop_header3, label %polly.loop_exit5
polly.loop_preheader4: ; preds = %polly.loop_header
%63 = add i64 %polly.indvar, -2
%64 = mul i64 %polly.indvar, 3584
%scevgep66 = getelementptr i8, i8* %4, i64 %64
br label %polly.loop_header3
polly.loop_header9: ; preds = %polly.stmt.loop_exit.k0, %polly.loop_preheader10
%polly.indvar12 = phi i64 [ 0, %polly.loop_preheader10 ], [ %polly.indvar_next13, %polly.stmt.loop_exit.k0 ]
br label %polly.stmt.loop_body.dim.3
polly.stmt.loop_body.dim.3: ; preds = %polly.loop_header9
store float 0.000000e+00, float* %convolution_sum_address.0.phiops
br label %polly.loop_preheader16
polly.loop_exit17: ; preds = %polly.merge
br label %polly.stmt.loop_exit.k0
polly.stmt.loop_exit.k0: ; preds = %polly.loop_exit17
%convolution_sum_address.0.s2a.reload65 = load float, float* %convolution_sum_address.0.s2a
%65 = shl i64 %polly.indvar12, 2
%scevgep68 = getelementptr i8, i8* %scevgep67, i64 %65
%scevgep6869 = bitcast i8* %scevgep68 to float*
store float %convolution_sum_address.0.s2a.reload65, float* %scevgep6869
%polly.indvar_next13 = add nsw i64 %polly.indvar12, 1
%polly.loop_cond14 = icmp sle i64 %polly.indvar_next13, 31
br i1 %polly.loop_cond14, label %polly.loop_header9, label %polly.loop_exit11
polly.loop_preheader10: ; preds = %polly.loop_header3
%66 = add i64 %polly.indvar6, -2
%67 = shl i64 %polly.indvar6, 7
%scevgep67 = getelementptr i8, i8* %scevgep66, i64 %67
br label %polly.loop_header9
polly.loop_header15: ; preds = %polly.merge, %polly.loop_preheader16
%polly.indvar18 = phi i64 [ 0, %polly.loop_preheader16 ], [ %polly.indvar_next19, %polly.merge ]
br label %polly.stmt.loop_header.k0
polly.stmt.loop_header.k0: ; preds = %polly.loop_header15
%convolution_sum_address.0.phiops.reload = load float, float* %convolution_sum_address.0.phiops
store float %convolution_sum_address.0.phiops.reload, float* %convolution_sum_address.0.s2a
br label %polly.cond
polly.cond: ; preds = %polly.stmt.loop_header.k0
%68 = icmp sle i64 %polly.indvar18, 4
br i1 %68, label %polly.then, label %polly.else
polly.merge: ; preds = %polly.else, %polly.stmt.loop_exit.k1
%polly.indvar_next19 = add nsw i64 %polly.indvar18, 1
%polly.loop_cond20 = icmp sle i64 %polly.indvar_next19, 5
br i1 %polly.loop_cond20, label %polly.loop_header15, label %polly.loop_exit17
polly.loop_preheader16: ; preds = %polly.stmt.loop_body.dim.3
%69 = shl i64 %polly.indvar12, 2
%scevgep = getelementptr i8, i8* %1, i64 %69
br label %polly.loop_header15
polly.then: ; preds = %polly.cond
br label %polly.stmt.loop_body.k0
polly.stmt.loop_body.k0: ; preds = %polly.then
%convolution_sum_address.0.s2a.reload = load float, float* %convolution_sum_address.0.s2a
store float %convolution_sum_address.0.s2a.reload, float* %convolution_sum_address.1.phiops
br label %polly.loop_preheader22
polly.loop_exit23: ; preds = %polly.merge28
br label %polly.stmt.loop_exit.k1
polly.stmt.loop_exit.k1: ; preds = %polly.loop_exit23
%convolution_sum_address.1.s2a.reload64 = load float, float* %convolution_sum_address.1.s2a
store float %convolution_sum_address.1.s2a.reload64, float* %convolution_sum_address.0.phiops
br label %polly.merge
polly.else: ; preds = %polly.cond
br label %polly.merge
polly.loop_header21: ; preds = %polly.merge28, %polly.loop_preheader22
%polly.indvar24 = phi i64 [ 0, %polly.loop_preheader22 ], [ %polly.indvar_next25, %polly.merge28 ]
br label %polly.stmt.loop_header.k1
polly.stmt.loop_header.k1: ; preds = %polly.loop_header21
%convolution_sum_address.1.phiops.reload = load float, float* %convolution_sum_address.1.phiops
store float %convolution_sum_address.1.phiops.reload, float* %convolution_sum_address.1.s2a
br label %polly.cond27
polly.cond27: ; preds = %polly.stmt.loop_header.k1
%70 = icmp sle i64 %polly.indvar24, 4
br i1 %70, label %polly.then29, label %polly.else30
polly.merge28: ; preds = %polly.else30, %polly.stmt.loop_exit.iz
%polly.indvar_next25 = add nsw i64 %polly.indvar24, 1
%polly.loop_cond26 = icmp sle i64 %polly.indvar_next25, 5
br i1 %polly.loop_cond26, label %polly.loop_header21, label %polly.loop_exit23
polly.loop_preheader22: ; preds = %polly.stmt.loop_body.k0
%71 = add i64 %63, %polly.indvar18
%72 = mul i64 %polly.indvar18, 640
%scevgep57 = getelementptr i8, i8* %scevgep, i64 %72
br label %polly.loop_header21
polly.then29: ; preds = %polly.cond27
br label %polly.stmt.loop_body.k1
polly.stmt.loop_body.k1: ; preds = %polly.then29
%convolution_sum_address.1.s2a.reload = load float, float* %convolution_sum_address.1.s2a
store float %convolution_sum_address.1.s2a.reload, float* %convolution_sum_address.2.phiops
br label %polly.loop_preheader32
polly.loop_exit33: ; preds = %polly.merge38
br label %polly.stmt.loop_exit.iz
polly.stmt.loop_exit.iz: ; preds = %polly.loop_exit33
%convolution_sum_address.2.s2a.reload63 = load float, float* %convolution_sum_address.2.s2a
store float %convolution_sum_address.2.s2a.reload63, float* %convolution_sum_address.1.phiops
br label %polly.merge28
polly.else30: ; preds = %polly.cond27
br label %polly.merge28
polly.loop_header31: ; preds = %polly.merge38, %polly.loop_preheader32
%polly.indvar34 = phi i64 [ 0, %polly.loop_preheader32 ], [ %polly.indvar_next35, %polly.merge38 ]
br label %polly.stmt.loop_header.iz
polly.stmt.loop_header.iz: ; preds = %polly.loop_header31
%convolution_sum_address.2.phiops.reload = load float, float* %convolution_sum_address.2.phiops
store float %convolution_sum_address.2.phiops.reload, float* %convolution_sum_address.2.s2a
br label %polly.cond37
polly.cond37: ; preds = %polly.stmt.loop_header.iz
%73 = icmp eq i64 %polly.indvar34, 0
br i1 %73, label %polly.then39, label %polly.else40
polly.merge38: ; preds = %polly.else40, %polly.stmt.in-bounds-after
%polly.indvar_next35 = add nsw i64 %polly.indvar34, 1
%polly.loop_cond36 = icmp sle i64 %polly.indvar_next35, 1
br i1 %polly.loop_cond36, label %polly.loop_header31, label %polly.loop_exit33
polly.loop_preheader32: ; preds = %polly.stmt.loop_body.k1
%74 = add i64 %66, %polly.indvar24
%75 = shl i64 %polly.indvar24, 7
%scevgep58 = getelementptr i8, i8* %scevgep57, i64 %75
%scevgep5859 = bitcast i8* %scevgep58 to float*
br label %polly.loop_header31
polly.then39: ; preds = %polly.cond37
br label %polly.stmt.loop_body.iz
polly.stmt.loop_body.iz: ; preds = %polly.then39
%p_49 = sdiv i64 %71, 1
%p_50 = sdiv i64 %74, 1
store i64 %p_49, i64* %.s2a
store i64 %p_50, i64* %.s2a51
br label %polly.cond52
polly.cond52: ; preds = %polly.stmt.loop_body.iz
%76 = add nsw i64 %polly.indvar, %polly.indvar18
%77 = icmp sge i64 %76, 30
%78 = add nsw i64 %polly.indvar, %polly.indvar18
%79 = icmp sle i64 %78, 1
%80 = or i1 %77, %79
%81 = add nsw i64 %polly.indvar6, %polly.indvar24
%82 = icmp sge i64 %81, 30
%83 = or i1 %80, %82
%84 = add nsw i64 %polly.indvar6, %polly.indvar24
%85 = icmp sle i64 %84, 1
%86 = or i1 %83, %85
br i1 %86, label %polly.then54, label %polly.else55
polly.merge53: ; preds = %polly.stmt.in-bounds-true, %polly.stmt.in-bounds-false
br label %polly.stmt.in-bounds-after
polly.stmt.in-bounds-after: ; preds = %polly.merge53
%convolution_sum_address.3.phiops.reload = load float, float* %convolution_sum_address.3.phiops
store float %convolution_sum_address.3.phiops.reload, float* %convolution_sum_address.2.phiops
br label %polly.merge38
polly.else40: ; preds = %polly.cond37
br label %polly.merge38
polly.then54: ; preds = %polly.cond52
br label %polly.stmt.in-bounds-false
polly.stmt.in-bounds-false: ; preds = %polly.then54
%convolution_sum_address.2.s2a.reload = load float, float* %convolution_sum_address.2.s2a
store float %convolution_sum_address.2.s2a.reload, float* %convolution_sum_address.3.phiops
br label %polly.merge53
polly.else55: ; preds = %polly.cond52
br label %polly.stmt.in-bounds-true
polly.stmt.in-bounds-true: ; preds = %polly.else55
%.s2a.reload = load i64, i64* %.s2a
%.s2a51.reload = load i64, i64* %.s2a51
%convolution_sum_address.2.s2a.reload56 = load float, float* %convolution_sum_address.2.s2a
%_p_scalar_ = load float, float* %scevgep5859
%p_ = getelementptr inbounds [1 x [28 x [28 x [1 x float]]]], [1 x [28 x [28 x [1 x float]]]]* @0, i64 0, i64 0, i64 %.s2a.reload, i64 %.s2a51.reload, i64 0
%_p_scalar_60 = load float, float* %p_
%p_61 = fmul fast float %_p_scalar_60, %_p_scalar_
%p_62 = fadd fast float %convolution_sum_address.2.s2a.reload56, %p_61
store float %p_62, float* %convolution_sum_address.3.phiops
br label %polly.merge53
polly.loop_header70: ; preds = %polly.loop_exit78, %polly.loop_preheader71
%polly.indvar73 = phi i64 [ 0, %polly.loop_preheader71 ], [ %polly.indvar_next74, %polly.loop_exit78 ]
br label %polly.loop_preheader77
polly.loop_exit78: ; preds = %polly.loop_exit84
%polly.indvar_next74 = add nsw i64 %polly.indvar73, 1
%polly.loop_cond75 = icmp sle i64 %polly.indvar_next74, 27
br i1 %polly.loop_cond75, label %polly.loop_header70, label %polly.loop_exit72
polly.loop_preheader71: ; preds = %polly.loop_exit
br label %polly.loop_header70
polly.loop_header76: ; preds = %polly.loop_exit84, %polly.loop_preheader77
%polly.indvar79 = phi i64 [ 0, %polly.loop_preheader77 ], [ %polly.indvar_next80, %polly.loop_exit84 ]
br label %polly.loop_preheader83
polly.loop_exit84: ; preds = %polly.stmt.loop_body.dim.327
%polly.indvar_next80 = add nsw i64 %polly.indvar79, 1
%polly.loop_cond81 = icmp sle i64 %polly.indvar_next80, 27
br i1 %polly.loop_cond81, label %polly.loop_header76, label %polly.loop_exit78
polly.loop_preheader77: ; preds = %polly.loop_header70
%87 = mul i64 %polly.indvar73, 3584
%scevgep91 = getelementptr i8, i8* %polly.access.temps.load, i64 %87
br label %polly.loop_header76
polly.loop_header82: ; preds = %polly.stmt.loop_body.dim.327, %polly.loop_preheader83
%polly.indvar85 = phi i64 [ 0, %polly.loop_preheader83 ], [ %polly.indvar_next86, %polly.stmt.loop_body.dim.327 ]
br label %polly.stmt.loop_body.dim.327
polly.stmt.loop_body.dim.327: ; preds = %polly.loop_header82
%88 = shl i64 %polly.indvar85, 2
%scevgep88 = getelementptr i8, i8* %polly.access.params.load, i64 %88
%scevgep8889 = bitcast i8* %scevgep88 to float*
%_p_scalar_90 = load float, float* %scevgep8889
%scevgep93 = getelementptr i8, i8* %scevgep92, i64 %88
%scevgep9394 = bitcast i8* %scevgep93 to float*
store float %_p_scalar_90, float* %scevgep9394
%polly.indvar_next86 = add nsw i64 %polly.indvar85, 1
%polly.loop_cond87 = icmp sle i64 %polly.indvar_next86, 31
br i1 %polly.loop_cond87, label %polly.loop_header82, label %polly.loop_exit84
polly.loop_preheader83: ; preds = %polly.loop_header76
%89 = shl i64 %polly.indvar79, 7
%scevgep92 = getelementptr i8, i8* %scevgep91, i64 %89
br label %polly.loop_header82
polly.loop_header95: ; preds = %polly.loop_exit103, %polly.loop_preheader96
%polly.indvar98 = phi i64 [ 0, %polly.loop_preheader96 ], [ %polly.indvar_next99, %polly.loop_exit103 ]
br label %polly.loop_preheader102
polly.loop_exit103: ; preds = %polly.loop_exit109
%polly.indvar_next99 = add nsw i64 %polly.indvar98, 1
%polly.loop_cond100 = icmp sle i64 %polly.indvar_next99, 27
br i1 %polly.loop_cond100, label %polly.loop_header95, label %polly.loop_exit97
polly.loop_preheader96: ; preds = %polly.loop_exit72
br label %polly.loop_header95
polly.loop_header101: ; preds = %polly.loop_exit109, %polly.loop_preheader102
%polly.indvar104 = phi i64 [ 0, %polly.loop_preheader102 ], [ %polly.indvar_next105, %polly.loop_exit109 ]
br label %polly.loop_preheader108
polly.loop_exit109: ; preds = %polly.stmt.loop_body.dim.351
%polly.indvar_next105 = add nsw i64 %polly.indvar104, 1
%polly.loop_cond106 = icmp sle i64 %polly.indvar_next105, 27
br i1 %polly.loop_cond106, label %polly.loop_header101, label %polly.loop_exit103
polly.loop_preheader102: ; preds = %polly.loop_header95
%90 = mul i64 %polly.indvar98, 3584
%scevgep113 = getelementptr i8, i8* %4, i64 %90
%scevgep118 = getelementptr i8, i8* %polly.access.temps.load, i64 %90
%scevgep124 = getelementptr i8, i8* %retval, i64 %90
br label %polly.loop_header101
polly.loop_header107: ; preds = %polly.stmt.loop_body.dim.351, %polly.loop_preheader108
%polly.indvar110 = phi i64 [ 0, %polly.loop_preheader108 ], [ %polly.indvar_next111, %polly.stmt.loop_body.dim.351 ]
br label %polly.stmt.loop_body.dim.351
polly.stmt.loop_body.dim.351: ; preds = %polly.loop_header107
%91 = shl i64 %polly.indvar110, 2
%scevgep115 = getelementptr i8, i8* %scevgep114, i64 %91
%scevgep115116 = bitcast i8* %scevgep115 to float*
%_p_scalar_117 = load float, float* %scevgep115116
%scevgep120 = getelementptr i8, i8* %scevgep119, i64 %91
%scevgep120121 = bitcast i8* %scevgep120 to float*
%_p_scalar_122 = load float, float* %scevgep120121
%p_123 = fadd fast float %_p_scalar_117, %_p_scalar_122
%92 = shl i64 %polly.indvar110, 2
%scevgep126 = getelementptr i8, i8* %scevgep125, i64 %92
%scevgep126127 = bitcast i8* %scevgep126 to float*
store float %p_123, float* %scevgep126127
%polly.indvar_next111 = add nsw i64 %polly.indvar110, 1
%polly.loop_cond112 = icmp sle i64 %polly.indvar_next111, 31
br i1 %polly.loop_cond112, label %polly.loop_header107, label %polly.loop_exit109
polly.loop_preheader108: ; preds = %polly.loop_header101
%93 = shl i64 %polly.indvar104, 7
%scevgep114 = getelementptr i8, i8* %scevgep113, i64 %93
%scevgep119 = getelementptr i8, i8* %scevgep118, i64 %93
%scevgep125 = getelementptr i8, i8* %scevgep124, i64 %93
br label %polly.loop_header107
}
attributes #0 = { "polly-optimized" }
!0 = !{!1, !1, i64 0}
!1 = !{!"pointer-to element_type: F32 dimensions: 5 dimensions: 5 dimensions: 1 dimensions: 32 layout { minor_to_major: 3 minor_to_major: 2 minor_to_major: 1 minor_to_major: 0 }", !2}
!2 = !{!"XLA TBAA"}
!3 = !{i64 3200}
!4 = !{i64 16}
!5 = !{!6, !6, i64 0}
!6 = !{!"pointer-to element_type: F32 dimensions: 1 dimensions: 28 dimensions: 28 dimensions: 32 layout { minor_to_major: 3 minor_to_major: 2 minor_to_major: 1 minor_to_major: 0 }", !2}
!7 = !{}
!8 = !{i64 100352}
!9 = !{!10, !10, i64 0}
!10 = !{!"element_type: F32 dimensions: 1 dimensions: 28 dimensions: 28 dimensions: 32 layout { minor_to_major: 3 minor_to_major: 2 minor_to_major: 1 minor_to_major: 0 }", !2}
!11 = !{!12}
!12 = !{!"buffer: 0", !13}
!13 = distinct !{!13}
!14 = !{!15}
!15 = !{!"buffer: 1", !13}
!16 = !{!17, !17, i64 0}
!17 = !{!"pointer-to element_type: F32 dimensions: 32 layout { minor_to_major: 0 }", !2}
!18 = !{i64 128}
!19 = !{!20, !20, i64 0}
!20 = !{!"element_type: F32 dimensions: 5 dimensions: 5 dimensions: 1 dimensions: 32 layout { minor_to_major: 3 minor_to_major: 2 minor_to_major: 1 minor_to_major: 0 }", !2}
!21 = !{!22, !22, i64 0}
!22 = !{!"element_type: F32 dimensions: 1 dimensions: 28 dimensions: 28 dimensions: 1 layout { minor_to_major: 3 minor_to_major: 2 minor_to_major: 1 minor_to_major: 0 }", !2}
!23 = !{!24, !24, i64 0}
!24 = !{!"element_type: F32 dimensions: 32 layout { minor_to_major: 0 }", !2}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment