Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement a mechanism to disable GEP->PHI InstCombiner. #231

Open
wants to merge 3 commits into
base: aie-public
Choose a base branch
from

Conversation

andcarminati
Copy link
Collaborator

This helps to generate cleaner MIR for several kernels.

@andcarminati
Copy link
Collaborator Author

QoR results:

|--------------------------|------------------------|--------------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|-----------------------------|-----------------------------|----------------|----------------|-------------------------------------------|-------------------------------------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|--------------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|------------------|------------------|--------------------|----------------|---------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|-------------------------------|---------------------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|---------------|---------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| Core_Compute_Cycle_Count | FullyConnect_aie2_bf16 | Conv2D_edge_mode_0 | Conv2D_2x8_1 | Softmax_bf16_0 | Abs_bf16_0   | Abs_int8_0   | Add2D_0      | Add2D_1      | Add2D_Standalone_0 | Add2D_Standalone_1 | Add2D_bf16_0 | Add2D_bf16_1 | AddAttributeBroadcasting_aie2_bf16 | AddAttributeBroadcasting_aie2_int8 | AddBf16_aie2_0 | AddBroadcastingBf16_aie2_0 | AddBroadcasting_aie2_0 | Add_aie2_0   | AvgPool2D_0  | AvgPool2D_1  | AvgPool2D_aie2_bfloat16_0 | AvgPool2D_aie2_bfloat16_1 | AvgPool2D_aie2_int8_0 | AvgPool2D_aie2_int8_1 | BatchNorm1d_aie2_bfloat16 | BatchNorm1d_aie2_int8 | BatchNorm2D_0 | BatchNorm2D_1 | BilinearInterpolation_0 | BitShift_AIE2_int8 | BitwiseAnd_int8_0 | BitwiseNot_aie2_0 | BitwiseOr_int8_0 | BitwiseXor_aie2_int8 | Cast_aie2_bfloat16 | Cast_aie2_bfloat16_1 | Cast_aie2_int8 | Cast_aie2_int8_1 | Ceil_AIE2_bfloat16 | Ceil_AIE2_int8 | ChannelsFirstFlatten_bf16_0 | ChannelsFirstFlatten_int8_0 | Clip_aie2_bf16 | Clip_aie2_int8 | CompareOpsAttributeBroadcasting_aie2_bf16 | CompareOpsAttributeBroadcasting_aie2_int8 | CompareOpsBroadcasting_K_EQ_GE_GT_LE_LT_CMP_GE_bfloat16_aie2 | CompareOpsBroadcasting_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_EQ_bfloat16_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_EQ_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_bfloat16_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2 | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GE_int8_aie2_ptr_interface | CompareOps_K_EQ_GE_GT_LE_LT_CMP_GT_int32_aie2 | Conv1D_DW_AIE2_bf16_0 | Conv1D_DW_AIE2_bf16_1 | Conv1D_DW_AIE2_int8_0 | Conv1D_DW_AIE2_int8_1 | Conv2D_0     | Conv2D_1     | Conv2D_2x8_0 | Conv2D_7x7s2_Layer1_0 | Conv2D_7x7s2_Layer1_1 | Conv2D_11x11s4_0 | Conv2D_11x11s4_1 | Conv2D_11x11s4_Layer1_0 | Conv2D_11x11s4_Layer1_1 | Conv2D_DW_0  | Conv2D_DW_1  | Conv2D_DW_bf16_0 | Conv2D_DW_bf16_1 | Conv2D_FC_0  | Conv2D_FC_1  | Conv2D_LReLU_0 | Conv2D_LReLU_1 | Conv2D_ReLU_0 | Conv2D_ReLU_1 | Conv2D_ReLU_Standalone_0 | Conv2D_ReLU_Standalone_1 | Conv2D_ReLU_int8_0 | Conv2D_ReLU_int8_1 | Conv2D_SV60  | Conv2D_Transpose_AIE2_0 | Conv2D_Transpose_AIE2_1 | Conv2D_Transpose_bf16_AIE2_0 | Conv2D_Transpose_bf16_AIE2_1 | Conv2D_edge_mode_1 | Conv2D_mixed_batch_0 | Conv2D_mixed_batch_1 | DegroupG4_aie2_bf16_0 | DegroupG4_aie2_bf16_1 | DegroupG4_aie2_int8_0 | DegroupG4_aie2_int8_1 | DegroupG8_aie2_bf16_0 | DegroupG8_aie2_bf16_1 | DegroupG8_aie2_int8_0 | DegroupG8_aie2_int8_1 | DilatedConv2D_1 | DivAttributeBroadcasting_aie2_bf16_0 | DivAttributeBroadcasting_aie2_int8_0 | DivBroadcasting_aie2_0 | DivBroadcasting_aie2_1 | EleMax_aie2_bfloat16 | EleMax_aie2_int8 | EleMin_aie2_bfloat16 | EleMin_aie2_int8 | ElemDiv_aie2_0 | ElemDiv_aie2_1 | Elu_aie2_bf16_0 | Elu_aie2_int8_0 | Erf_aie2_bf16_0 | Erf_aie2_int8_0 | Erf_aie2_int8_0_ptr_interface | Exp_bf16_0   | Exp_bf16_1   | Expand_aie2_bfloat16 | Expand_aie2_int8 | Floor_aie2_0 | Floor_aie2_1 | FullyConnect_aie2_int8 | GELU_0       | GELU_1       | GEMM_bf16_0  | GEMM_bf16_1  | GEMM_int8_0  | GEMM_int8_1  | GEMV_0       | GEMV_1       | GeluTemplated_aie2_bf16 | GeluTemplated_aie2_int8 | GroupG4_aie2_bf16_0 | GroupG4_aie2_bf16_1 | GroupG4_aie2_int8_0 | GroupG4_aie2_int8_1 | GroupG8_aie2_bf16_0 | GroupG8_aie2_bf16_1 | GroupG8_aie2_int8_0 | GroupG8_aie2_int8_1 | HardSigmoidTemplated_bf16_0 | HardSigmoidTemplated_int8_0 | HardSigmoid_bf16_0 | HardSigmoid_bf16_1 | HardSigmoid_int8_0 | HardSigmoid_int8_1 | HardswishAsHardsigmoid_aie2_0 | HardswishAsHardsigmoid_aie2_1 | Hardswish_aie2_0 | Hardswish_aie2_1 | InstanceNormPart1_aie2_bf16_0 | InstanceNormPart1_aie2_int8_0 | InstanceNormPart2_aie2_bf16_0 | InstanceNormPart2_aie2_int8_0 | InterpolateLinear1D_AIE2_bfloat16 | InterpolateLinear1D_AIE2_int8 | LayerNormC8Part1_aie2_bf16_0 | LayerNormC8Part1_aie2_int8_0 | LayerNormC8Part2_aie2_bf16_0 | LayerNormC8Part2_aie2_int8_0 | LayerNorm_0  | LayerNorm_1  | Log_bf16_0   | Log_int8_0   | LogicalNot_aie2_0 | LogicalXor_aie2_int8 | MaxPool2D_0  | MaxPool2D_1  | MaxPool2D_bf16_0 | MaxPool2D_bf16_1 | Mish_aie2_bfloat16 | Mish_aie2_int8 | Mod_aie2_bf16 | Mul2D_0      | Mul2D_1      | Mul2d_bf16_0 | Mul2d_bf16_1 | MulAttributeBroadcasting_aie2_bf16_0 | MulAttributeBroadcasting_aie2_int8_0 | MulBf16_aie2_0 | MulBroadcastingBf16_aie2_0 | MulBroadcasting_aie2_0 | Mul_aie2_0   | Neg_aie2_0   | Neg_aie2_1   | Pad2D_0      | Pad2D_1      | Pad2D_bf16_0 | Pad3D_AIE2_bfloat16 | Pad3D_AIE2_int8 | PixelShuffle_aie2_bf16 | PixelShuffle_aie2_int8 | PixelUnshuffle_bf16_0 | PixelUnshuffle_int8_0 | PowAttributeBroadcasting_aie2_bf16_0 | PowAttributeBroadcasting_aie2_int8_0 | Pow_bf16_0   | Pow_bf16_1   | Pow_int8_0   | Range_bfloat16_aie2_0 | Range_bfloat16_aie2_1 | Range_int8_aie2_0 | Range_int8_aie2_1 | Reciprocal_aie2_0 | Reciprocal_aie2_1 | ReduceMax_bf16_0 | ReduceMax_bf16_1 | ReduceMax_int8_0 | ReduceMax_int8_1 | ReduceMeanAxis_1_aie2_bf16 | ReduceMeanAxis_1_aie2_int8 | ReduceMeanAxis_2_aie2_bf16 | ReduceMeanAxis_2_aie2_int8 | ReduceMeanAxis_3_aie2_bf16 | ReduceMeanAxis_3_aie2_int8 | ReduceMeanAxis_4_aie2_bf16 | ReduceMeanAxis_4_aie2_int8 | ReduceMeanAxis_5_aie2_bf16 | ReduceMeanAxis_5_aie2_int8 | ReduceMeanAxis_6_aie2_bf16 | ReduceMeanAxis_6_aie2_int8 | ReduceMeanAxis_7_aie2_bf16 | ReduceMeanAxis_7_aie2_int8 | ReduceMin1D_aie2_bf16 | ReduceMin1D_aie2_int8 | ReduceMin_bf16_0 | ReduceMin_bf16_1 | ReduceMin_int8_0 | ReduceMin_int8_1 | ReduceProdAxis_1_aie2_bf16 | ReduceProdAxis_2_aie2_bf16 | ReduceProdAxis_3_aie2_bf16 | ReduceProdAxis_4_aie2_bf16 | ReduceProdAxis_5_aie2_bf16 | ReduceProdAxis_6_aie2_bf16 | ReduceProdAxis_7_aie2_bf16 | ReduceSumAxis_1_aie2_bf16 | ReduceSumAxis_1_aie2_int8 | ReduceSumAxis_2_aie2_bf16 | ReduceSumAxis_2_aie2_int8 | ReduceSumAxis_3_aie2_bf16 | ReduceSumAxis_3_aie2_int8 | ReduceSumAxis_4_aie2_bf16 | ReduceSumAxis_4_aie2_int8 | ReduceSumAxis_5_aie2_bf16 | ReduceSumAxis_5_aie2_int8 | ReduceSumAxis_6_aie2_bf16 | ReduceSumAxis_6_aie2_int8 | ReduceSumAxis_7_aie2_bf16 | ReduceSumAxis_7_aie2_int8 | ReduceSum_bf16_0 | ReduceSum_bf16_1 | ReduceSum_int8_0 | ReduceSum_int8_1 | Requantize_0 | Requantize_1 | Rescale_aie2_int8_0 | Round_aie2_0 | Round_aie2_1 | Rsqrt_aie2_bf16_0 | Rsqrt_aie2_int8_0 | Scale_Add_0  | Scale_Add_1  | Scale_Add_bf16_0 | Scale_Add_bf16_1 | Select_aie2_bf16 | Select_aie2_int8 | Shrink_aie2_0 | Shrink_aie2_1 | SiLU_aie2_bf16 | SiLU_aie2_int8 | SiLU_aie2_int8_1 | SigmoidTemplated_bf16_0 | SigmoidTemplated_int8_0 | SigmoidTemplated_int8_1 | Sigmoid_bf16_0 | Sigmoid_bf16_1 | Sigmoid_int8_0 | Sigmoid_int8_1 | Sign_bf16_0  | Sign_bf16_1  | Sign_int8_0  | Sign_int8_1  | Sin_aie2_bf16 | Sin_aie2_int8 | Slice_bfloat16_0 | Slice_int8_0 | Softmax_1    | Softmax_bf16_1 | Sqrt_bf16_0  | Sqrt_bf16_1  | Sqrt_int8_0  | Sqrt_int8_1  | Squeeze_bfloat16_0 | Squeeze_int8_0 | SubAttributeBroadcasting_aie2_bf16_0 | SubAttributeBroadcasting_aie2_int8_0 | SubBroadcasting_aie2_bf16_0 | SubBroadcasting_aie2_int8_0 | SubBroadcasting_aie2_int8_0_ptr_interface | Sub_aie2_bf16_0 | Sub_aie2_int8_0 | Sub_aie2_int8_0_ptr_interface | TanhTemplated_aie2_bfloat16 | TanhTemplated_aie2_int8 | Tanh_0       | Tanh_1       | Tanh_int8_0  | Tanh_int8_1  | ThresholdedRelu_aie2_bfloat16 | ThresholdedRelu_aie2_int8 | Tile_aie2_bf16_0 | Tile_aie2_int8_1 | Topk1D_bf16_0 | Topk1D_bf16_1 | Topk1D_int8_0 | Topk1D_int8_1 | Topk2D_bf16_0 | Topk2D_bf16_1 | Topk2D_int8_0 | Topk2D_int8_1 | Transpose_aie2_bf16_021 | Transpose_aie2_bf16_021_pad | Transpose_aie2_bf16_102 | Transpose_aie2_bf16_102_pad | Transpose_aie2_bf16_120 | Transpose_aie2_bf16_120_pad | Transpose_aie2_bf16_201 | Transpose_aie2_bf16_201_pad | Transpose_aie2_bf16_210 | Transpose_aie2_bf16_210_pad | Transpose_aie2_int8_021 | Transpose_aie2_int8_021_pad | Transpose_aie2_int8_102 | Transpose_aie2_int8_102_pad | Transpose_aie2_int8_120 | Transpose_aie2_int8_120_pad | Transpose_aie2_int8_201 | Transpose_aie2_int8_201_pad | Transpose_aie2_int8_210 | Transpose_aie2_int8_210_pad | bfloat16     | int8         | Conv2D_bf16_0 | Conv2D_bf16_1 | Averege diff | Diff stdev | Quantile #1 | Quantile #2 | Quantile #3 | Quantile #4 | Quantile #5 | Quantile #6 | Quantile #7 | Quantile #8 | Quantile #9 |
|--------------------------|------------------------|--------------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|-----------------------------|-----------------------------|----------------|----------------|-------------------------------------------|-------------------------------------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|--------------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|------------------|------------------|--------------------|----------------|---------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|-------------------------------|---------------------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|---------------|---------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| aie-public               |                   1090 |              30301 |         3822 |           6351 |          376 |          510 |          217 |          435 |                322 |                482 |          254 |          298 |                                762 |                                807 |            673 |                        728 |                    776 |          726 |         1068 |          780 |                      3247 |                      2247 |                  1068 |                   780 |                       390 |                   408 |           308 |           416 |                     667 |               2008 |               467 |               135 |              467 |                  710 |                974 |                  974 |            725 |              725 |               1413 |            446 |                       13604 |                       11932 |            227 |            246 |                                      1499 |                                      1185 |                                                         1455 |                                                      960 |                                             1462 |                                          967 |                                             1474 |                                          978 |                                                        978 |                                          1098 |                  3358 |                  3902 |                  1539 |                  1773 |         7695 |         2450 |         1819 |                  5886 |                  1613 |             5785 |             5420 |                    4275 |                    2979 |         2941 |          853 |             1177 |             3894 |         2650 |         1143 |           2175 |           5263 |          1276 |         27511 |                     1276 |                     2533 |              10164 |                927 |          858 |                   53845 |                   14441 |                       433874 |                         6292 |              18726 |                11096 |                21520 |                   603 |                   990 |                   364 |                   558 |                   747 |                  1149 |                   436 |                   637 |            5391 |                                 5372 |                                 7802 |                   2059 |                   1450 |                  227 |              164 |                  227 |              164 |           2001 |           1388 |            2605 |             579 |            2770 |            2554 |                          2533 |         6048 |         1229 |                 1960 |             1907 |          315 |          881 |                    829 |         2144 |         2811 |         3622 |         7669 |         2797 |        32931 |          469 |          387 |                    1389 |                    1214 |                 495 |                1532 |                 312 |                 828 |                1026 |                1659 |                 555 |                 891 |                         556 |                         284 |                937 |                649 |                417 |                427 |                          1370 |                          1527 |             1370 |             1522 |                          2919 |                         11387 |                          9536 |                         11508 |                             14467 |                         11967 |                         8982 |                         7834 |                        11278 |                        11222 |        19133 |        16195 |         4149 |         1617 |               225 |                  528 |         1468 |         1260 |             1797 |             1269 |               5479 |           9495 |          5249 |          533 |          533 |          519 |          327 |                                  893 |                                  517 |            697 |                        752 |                    294 |          231 |          779 |          455 |          568 |         1684 |         2394 |                9208 |            9595 |                   8570 |                   7280 |                 17147 |                 14571 |                                40463 |                                 4312 |        34190 |        34196 |         4312 |                  4065 |                  2669 |              1224 |              1846 |              1231 |              2155 |             7193 |             9433 |            14509 |            19315 |                      13116 |                       7531 |                      13152 |                       7592 |                       7245 |                       3024 |                      13122 |                       7557 |                       7224 |                       3041 |                       7231 |                       3020 |                       6263 |                       2255 |                   188 |                   164 |             7193 |            18469 |             8797 |            19069 |                      35466 |                      17821 |                       8722 |                      35498 |                       8730 |                       8709 |                       1794 |                     11960 |                      7244 |                     11981 |                      7281 |                      7066 |                      2971 |                     11996 |                      7305 |                      7069 |                      2974 |                      7052 |                      2947 |                      6212 |                      2215 |            12209 |            12209 |            19670 |            11400 |         1421 |          781 |                 233 |          367 |         1092 |              3605 |              2380 |          374 |          374 |             1709 |             1709 |              329 |              206 |           658 |           759 |           2908 |           2969 |             2967 |                    1633 |                    1277 |                    1277 |           2627 |           1727 |             91 |            110 |         1078 |          210 |          416 |          122 |          3015 |           842 |              945 |         1545 |          426 |           1583 |        29778 |         3794 |        19164 |        19164 |                207 |            207 |                                  762 |                                  807 |                         706 |                         754 |                                       754 |             651 |             704 |                           704 |                        1050 |                     300 |         1970 |         2578 |          339 |          407 |                           514 |                       867 |             4264 |             2595 |          1217 |           169 |           836 |           118 |         34469 |           303 |         30723 |           252 |                    1856 |                        2338 |                    1155 |                        1140 |                    1856 |                        1752 |                    1871 |                        1767 |                    1868 |                        1868 |                    2685 |                        3612 |                    1149 |                        1089 |                    2686 |                        2686 |                    2700 |                        2544 |                    2694 |                        2538 |         1217 |          849 |         23279 |         38224 |              |            |             |             |             |             |             |             |             |             |             |
|--------------------------|------------------------|--------------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|-----------------------------|-----------------------------|----------------|----------------|-------------------------------------------|-------------------------------------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|--------------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|------------------|------------------|--------------------|----------------|---------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|-------------------------------|---------------------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|---------------|---------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| This PR                  |                   1106 |              30329 |         3823 |           6352 |          376 |          510 |          217 |          435 |                322 |                482 |          254 |          298 |                                762 |                                807 |            673 |                        728 |                    776 |          726 |         1068 |          780 |                      3247 |                      2247 |                  1068 |                   780 |                       390 |                   408 |           308 |           416 |                     667 |               2008 |               467 |               135 |              467 |                  710 |                974 |                  974 |            725 |              725 |               1413 |            446 |                       13604 |                       11932 |            227 |            246 |                                      1499 |                                      1185 |                                                         1455 |                                                      960 |                                             1462 |                                          967 |                                             1474 |                                          978 |                                                        978 |                                          1098 |                  3358 |                  3902 |                  1539 |                  1773 |         7695 |         2450 |         1819 |                  5886 |                  1613 |             5785 |             5420 |                    4275 |                    2979 |         2941 |          853 |             1177 |             3894 |         2650 |         1143 |           2175 |           5263 |          1276 |         27511 |                     1276 |                     2533 |              10164 |                927 |          858 |                   53845 |                   14441 |                       433874 |                         6292 |              18726 |                11096 |                21520 |                   603 |                   990 |                   364 |                   558 |                   747 |                  1149 |                   436 |                   637 |            5391 |                                 5372 |                                 7802 |                   2059 |                   1450 |                  227 |              164 |                  227 |              164 |           2001 |           1388 |            2605 |             579 |            2770 |            2554 |                          2533 |         6048 |         1229 |                 1960 |             1907 |          315 |          881 |                    829 |         2144 |         2811 |         3622 |         7669 |         2797 |        32931 |          469 |          387 |                    1389 |                    1214 |                 495 |                1532 |                 312 |                 828 |                1026 |                1659 |                 555 |                 891 |                         556 |                         284 |                937 |                649 |                417 |                427 |                          1370 |                          1527 |             1370 |             1522 |                          2919 |                         11387 |                          9536 |                         11508 |                             14467 |                         11967 |                         8982 |                         7834 |                        11278 |                        11222 |        19133 |        16195 |         4149 |         1617 |               225 |                  528 |         1468 |         1260 |             1797 |             1269 |               5479 |           9495 |          5249 |          533 |          533 |          519 |          327 |                                  893 |                                  517 |            697 |                        752 |                    294 |          231 |          779 |          455 |          568 |         1684 |         2394 |                9208 |            9595 |                   8570 |                   7280 |                 17147 |                 14571 |                                40463 |                                 4312 |        34190 |        34196 |         4312 |                  4065 |                  2669 |              1224 |              1846 |              1231 |              2155 |             7193 |             9433 |            14509 |            19315 |                      13116 |                       7531 |                      13152 |                       7592 |                       7245 |                       3024 |                      13122 |                       7557 |                       7224 |                       3041 |                       7231 |                       3020 |                       6263 |                       2255 |                   188 |                   164 |             7193 |            18469 |             8797 |            19069 |                      35466 |                      17821 |                       8722 |                      35498 |                       8730 |                       8709 |                       1794 |                     11960 |                      7244 |                     11981 |                      7281 |                      7066 |                      2971 |                     11996 |                      7305 |                      7069 |                      2974 |                      7052 |                      2947 |                      6212 |                      2215 |            12209 |            12209 |            19670 |            11400 |         1421 |          781 |                 233 |          367 |         1092 |              3605 |              2380 |          374 |          374 |             1709 |             1709 |              329 |              206 |           658 |           759 |           2908 |           2969 |             2967 |                    1633 |                    1277 |                    1277 |           2627 |           1727 |             91 |            110 |         1078 |          210 |          416 |          122 |          3015 |           842 |              945 |         1545 |          426 |           1583 |        29778 |         3794 |        19164 |        19164 |                207 |            207 |                                  762 |                                  807 |                         706 |                         754 |                                       754 |             651 |             704 |                           704 |                        1050 |                     300 |         1970 |         2578 |          339 |          407 |                           514 |                       867 |             4264 |             2595 |          1217 |           169 |           836 |           118 |         34469 |           303 |         30723 |           252 |                    1856 |                        2338 |                    1155 |                        1140 |                    1856 |                        1752 |                    1871 |                        1767 |                    1868 |                        1868 |                    2685 |                        3612 |                    1149 |                        1089 |                    2686 |                        2686 |                    2700 |                        2544 |                    2694 |                        2538 |         1217 |          849 |         22051 |         34959 | -0.04%       |       0.55 | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      |
|--------------------------|------------------------|--------------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|-----------------------------|-----------------------------|----------------|----------------|-------------------------------------------|-------------------------------------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|--------------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|------------------|------------------|--------------------|----------------|---------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|-------------------------------|---------------------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|---------------|---------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|
| Total diff               | REGR(+1.47%)           | SAME(+0.09%)       | SAME(+0.03%) | SAME(+0.02%)   | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)                       | SAME(+0.00%)                       | SAME(+0.00%)   | SAME(+0.00%)               | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)              | SAME(+0.00%)          | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)            | SAME(+0.00%)       | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)     | SAME(+0.00%)         | SAME(+0.00%)       | SAME(+0.00%)         | SAME(+0.00%)   | SAME(+0.00%)     | SAME(+0.00%)       | SAME(+0.00%)   | SAME(+0.00%)                | SAME(+0.00%)                | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)                              | SAME(+0.00%)                              | SAME(+0.00%)                                                 | SAME(+0.00%)                                             | SAME(+0.00%)                                     | SAME(+0.00%)                                 | SAME(+0.00%)                                     | SAME(+0.00%)                                 | SAME(+0.00%)                                               | SAME(+0.00%)                                  | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)             | SAME(+0.00%)             | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%) | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)                 | SAME(+0.00%)                 | SAME(+0.00%)       | SAME(+0.00%)         | SAME(+0.00%)         | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)    | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)           | SAME(+0.00%)           | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)                  | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)         | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)        | SAME(+0.00%)                | SAME(+0.00%)                | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)       | SAME(+0.00%)                  | SAME(+0.00%)                  | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)                  | SAME(+0.00%)                  | SAME(+0.00%)                  | SAME(+0.00%)                  | SAME(+0.00%)                      | SAME(+0.00%)                  | SAME(+0.00%)                 | SAME(+0.00%)                 | SAME(+0.00%)                 | SAME(+0.00%)                 | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)      | SAME(+0.00%)         | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)       | SAME(+0.00%)   | SAME(+0.00%)  | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)   | SAME(+0.00%)               | SAME(+0.00%)           | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)        | SAME(+0.00%)    | SAME(+0.00%)           | SAME(+0.00%)           | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)          | SAME(+0.00%)          | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)               | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)              | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)        | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)      | SAME(+0.00%)      | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)     | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)            | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%)   | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)     | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)   | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)       | SAME(+0.00%)   | SAME(+0.00%)                         | SAME(+0.00%)                         | SAME(+0.00%)                | SAME(+0.00%)                | SAME(+0.00%)                              | SAME(+0.00%)    | SAME(+0.00%)    | SAME(+0.00%)                  | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%) | SAME(+0.00%)                  | SAME(+0.00%)              | SAME(+0.00%)     | SAME(+0.00%)     | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)  | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%)            | SAME(+0.00%)                | SAME(+0.00%) | SAME(+0.00%) | IMPR(-5.28%)  | IMPR(-8.54%)  | -0.04%       |       0.55 | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      | +0.00%      |
|--------------------------|------------------------|--------------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|--------------------|--------------|--------------|------------------------------------|------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|---------------------------|---------------------------|-----------------------|-----------------------|---------------------------|-----------------------|---------------|---------------|-------------------------|--------------------|-------------------|-------------------|------------------|----------------------|--------------------|----------------------|----------------|------------------|--------------------|----------------|-----------------------------|-----------------------------|----------------|----------------|-------------------------------------------|-------------------------------------------|--------------------------------------------------------------|----------------------------------------------------------|--------------------------------------------------|----------------------------------------------|--------------------------------------------------|----------------------------------------------|------------------------------------------------------------|-----------------------------------------------|-----------------------|-----------------------|-----------------------|-----------------------|--------------|--------------|--------------|-----------------------|-----------------------|------------------|------------------|-------------------------|-------------------------|--------------|--------------|------------------|------------------|--------------|--------------|----------------|----------------|---------------|---------------|--------------------------|--------------------------|--------------------|--------------------|--------------|-------------------------|-------------------------|------------------------------|------------------------------|--------------------|----------------------|----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------------|-----------------|--------------------------------------|--------------------------------------|------------------------|------------------------|----------------------|------------------|----------------------|------------------|----------------|----------------|-----------------|-----------------|-----------------|-----------------|-------------------------------|--------------|--------------|----------------------|------------------|--------------|--------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|--------------|-------------------------|-------------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|---------------------|-----------------------------|-----------------------------|--------------------|--------------------|--------------------|--------------------|-------------------------------|-------------------------------|------------------|------------------|-------------------------------|-------------------------------|-------------------------------|-------------------------------|-----------------------------------|-------------------------------|------------------------------|------------------------------|------------------------------|------------------------------|--------------|--------------|--------------|--------------|-------------------|----------------------|--------------|--------------|------------------|------------------|--------------------|----------------|---------------|--------------|--------------|--------------|--------------|--------------------------------------|--------------------------------------|----------------|----------------------------|------------------------|--------------|--------------|--------------|--------------|--------------|--------------|---------------------|-----------------|------------------------|------------------------|-----------------------|-----------------------|--------------------------------------|--------------------------------------|--------------|--------------|--------------|-----------------------|-----------------------|-------------------|-------------------|-------------------|-------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|-----------------------|-----------------------|------------------|------------------|------------------|------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|----------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|---------------------------|------------------|------------------|------------------|------------------|--------------|--------------|---------------------|--------------|--------------|-------------------|-------------------|--------------|--------------|------------------|------------------|------------------|------------------|---------------|---------------|----------------|----------------|------------------|-------------------------|-------------------------|-------------------------|----------------|----------------|----------------|----------------|--------------|--------------|--------------|--------------|---------------|---------------|------------------|--------------|--------------|----------------|--------------|--------------|--------------|--------------|--------------------|----------------|--------------------------------------|--------------------------------------|-----------------------------|-----------------------------|-------------------------------------------|-----------------|-----------------|-------------------------------|-----------------------------|-------------------------|--------------|--------------|--------------|--------------|-------------------------------|---------------------------|------------------|------------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|---------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|-------------------------|-----------------------------|--------------|--------------|---------------|---------------|--------------|------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|-------------|

This affects other benchmarks whose results are not visible. For example Add2D_bf16_1:

aie-public:

	lda	q0, [p4, #16]
	nop	
	vldb	wl8, [p1], m1
	vldb	wh8, [p1], m2
	vldb	wl10, [p1], m1
	vldb	wh10, [p1], m2
	vldb	wl1, [p1], m1;		vmac.f	bmh2, bmh2, x4, x10, r1
	vldb	wh1, [p1], m2;		vmov	wl5, q0;		vmac.f	bmh3, bmh3, x4, x1, r1
	vldb	wl3, [p1], m1;		vmac.f	bmh1, bmh1, x4, x8, r1
.L_LEnd0:
	vldb.2d	wh3, [p1], d0;		nopa	;		padds	[p4], #16;		nopx	;		vsel.32	x4, x4, x5, r16;		vmac.f	bmh4, bmh4, x4, x3, r1

This PR:

.LBB47_5:                               // %for.body80
                                        //   Parent Loop BB47_3 Depth=1
                                        // =>  This Inner Loop Header: Depth=2
	vldb	wl3, [p1], m1;		nopxm	
	lda	q0, [p4], #16
	vldb	wh3, [p1], m2
	vldb	wl5, [p1], m1
	vldb	wh5, [p1], m2;		vmov	x8, x3
	vldb	wl7, [p1], m1;		vmov	x10, x5;		vmac.f	bmh1, bmh1, x6, x8, r1
	vldb	wh7, [p1], m2;		vmov	x2, x9;		vmac.f	bmh2, bmh2, x6, x10, r1
	vldb	wl9, [p1], m1;		vsel.32	x6, x6, x11, r16
	vldb.2d	wh9, [p1], d0;		vmov	x1, x7;		vmac.f	bmh3, bmh3, x6, x1, r1
.L_LEnd0:
	nopb	;		nopa	;		nops	;		nopx	;		vmov	wl11, q0;		vmac.f	bmh4, bmh4, x6, x2, r1

If we turn our eyes to the post-swp, we have:

.LBB47_5:                               // %for.body80
                                        //   Parent Loop BB47_3 Depth=1
                                        // =>  This Inner Loop Header: Depth=2
	nopb	;		lda	q0, [p4], #16;		nops	;		nopx	;		vsel.32	x4, x4, x8, r16;		nopv	
	vldb	wl5, [p1], m1;		nopx	
	vldb	wh5, [p1], m2;		vmac.f	bmh2, bmh2, x4, x5, r1
	vldb	wl10, [p1], m1;		vmac.f	bmh1, bmh1, x4, x10, r1
	vldb	wh10, [p1], m2;		vmac.f	bmh4, bmh4, x4, x1, r1
	vldb	wl1, [p1], m1
	vldb	wh1, [p1], m2;		vmac.f	bmh3, bmh3, x4, x3, r1
	vldb	wl3, [p1], m1;		vmov	wl8, q0
.L_LEnd0:
	vldb.2d	wh3, [p1], d0;		nopa	;		nops	;		nopxm	;		nopv

@andcarminati andcarminati force-pushed the andreu.instcombiner.phi.gep.disable branch from c377d51 to a7ffe20 Compare November 7, 2024 08:12
@andcarminati andcarminati force-pushed the andreu.instcombiner.phi.gep.disable branch from a7ffe20 to 5e3962c Compare November 7, 2024 10:12
@andcarminati andcarminati force-pushed the andreu.instcombiner.phi.gep.disable branch from 5e3962c to 3c222d7 Compare November 7, 2024 10:14
; CHECK: bb3:
; CHECK-NEXT: [[PHI:%.*]] = phi ptr [ [[TMP10]], [[BB1]] ], [ [[TMP4]], [[BB2]] ]
; CHECK-NEXT: [[TMP25:%.*]] = load i32, ptr [[PHI]], align 4
; CHECK-NEXT: ret i32 [[TMP25]]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah. Probably the combine is better for very local alias analysis that doesn't want to follow too many PHI nodes

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In our case the PHI in bb3 dominates one of the GEPs?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In our case, one GEP should reach the load. The combiner basically does the following for this case:

%struct = type { i32, i32 }

define i32 @dontFoldGEPs(ptr %dm, i1 %arg4, i64 %arg9, i64 %arg19) {
bb:
  %0 = load ptr, ptr %dm, align 8
  br i1 %arg4, label %bb1, label %bb2

bb1:                                              ; preds = %bb
  %1 = trunc i64 %arg9 to i20
  br label %bb3

bb2:                                              ; preds = %bb
  %2 = trunc i64 %arg19 to i20
  br label %bb3

bb3:                                              ; preds = %bb2, %bb1
  %.pn = phi i20 [ %1, %bb1 ], [ %2, %bb2 ]
  %phi = getelementptr inbounds %struct, ptr %0, i20 %.pn
  %3 = load i32, ptr %phi, align 4
  ret i32 %3
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants