Last active
July 21, 2017 17:13
-
-
Save annanay25/628bc7b191e1a902d13ed0c52e5e7e43 to your computer and use it in GitHub Desktop.
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
; 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