[llvm-bugs] [Bug 49044] New: >20% code size regression on tramp3d-v4 with new PM

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Feb 4 13:03:53 PST 2021


https://bugs.llvm.org/show_bug.cgi?id=49044

            Bug ID: 49044
           Summary: >20% code size regression on tramp3d-v4 with new PM
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: jpaquette at apple.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

1) Using LNT, compile CTMark at -O3 for AArch64 with + without the new PM. (I
used -C target-arm64-iphoneos-internal.cmake + --cflags -O3 --cxxflags -O3)
2) Use llvm-test-suite/utils/compare.py to compare size.__text

test-suite...ark/tramp3d-v4/tramp3d-v4.test    613236       763796      24.6%

Although this is -O3, and size generally isn't a concern there, this is a
pretty big jump in code size. It might be worth looking into if it is not
expected. I think that a lot of this is due to inlining changes.

The following functions grew a lot in size:

__ZN5Pooma11newRelationIN3EOS5pg_igE5FieldI22UniformRectilinearMeshI10MeshTraitsILi3Ed21UniformRectilinearTag12CartesianTagLi3EEEd10MultiPatchI7GridTag6RemoteI5BrickEEESG_SG_S3_IS9_d16ConstantFunctionEEEvRKT_RKT0_RKT1_RKT2_RKT3_
1080 10036 8956
__Z6assignI22UniformRectilinearMeshI10MeshTraitsILi3Ed21UniformRectilinearTag12CartesianTagLi3EEEd14MultiPatchViewI7GridTag6RemoteI5BrickELi3EES5_d13ExpressionTagI10BinaryNodeI8OpDivideSD_I10OpSubtractSD_ISE_5FieldIS5_dSB_ESH_ESH_ESG_IS5_d16ConstantFunctionEEE8OpAssignERKSG_IT_T0_T1_ESU_RKSG_IT2_T3_T4_ERKT5_
632 10436 9804
__Z6assignI22UniformRectilinearMeshI10MeshTraitsILi3Ed21UniformRectilinearTag12CartesianTagLi3EEEd14MultiPatchViewI7GridTag6RemoteI5BrickELi3EES5_d13ExpressionTagI10BinaryNodeI10OpMultiply6ScalarIdESD_I5OpAdd9ReferenceI5FieldIS5_dSB_EESL_EEE8OpAssignERKSJ_IT_T0_T1_ESV_RKSJ_IT2_T3_T4_ERKT5_
496 15576 15080
__Z6assignI22UniformRectilinearMeshI10MeshTraitsILi3Ed21UniformRectilinearTag12CartesianTagLi3EEEd14MultiPatchViewI7GridTag6RemoteI5BrickELi3EES5_d13ExpressionTagI10BinaryNodeI8OpDivide5FieldIS5_dSB_ESG_EE8OpAssignERKSF_IT_T0_T1_ESP_RKSF_IT2_T3_T4_ERKT5_
488 15608 15120
__Z6assignI22UniformRectilinearMeshI10MeshTraitsILi3Ed21UniformRectilinearTag12CartesianTagLi3EEEd14MultiPatchViewI7GridTag6RemoteI5BrickELi3EES5_d13ExpressionTagI9UnaryNodeI6FnSqrt10BinaryNodeI8OpDivideSF_I10OpMultiply6ScalarIdE5FieldIS5_dSB_EESL_EEE8OpAssignERKSK_IT_T0_T1_ESW_RKSK_IT2_T3_T4_ERKT5_
496 15656 15160

(Format: function_name old_pm_size new_pm_size diff)


Then looking at the remarks:

$ ~/llvm-project/llvm/tools/opt-viewer/opt-stats.py diff0.opt.yaml 
Top 10 remarks by pass:
  asm-printer                    53%
  gvn                            18%
  licm                           12%
  inline                         12%
  slp-vectorizer                  2%
  loop-vectorize                  2%
  prologepilog                    1%
  regalloc                        1%
  loop-delete                     0%
  early-ifcvt                     0%

Top 10 remarks:
  asm-printer/InstructionMix     52%
  gvn/LoadClobbered              18%
  inline/Inlined                  7%
  licm/InstSunk                   6%
  licm/Hoisted                    5%
  inline/TooCostly                4%
  licm/LoadWithLoopInvariantAddressInvalidated  1%
  slp-vectorizer/NotBeneficial    1%
  asm-printer/InstructionCount    1%
  prologepilog/StackSize          1%

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20210204/e242fdbc/attachment.html>


More information about the llvm-bugs mailing list