From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id C709B3858D37; Thu, 4 May 2023 09:03:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C709B3858D37 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1683190983; bh=3eCsiQlFJdSI0EYE9I0kmZtcfHS0TrUnVGWzvJRFPqs=; h=From:To:Subject:Date:In-Reply-To:References:From; b=YzgnRudN0DVhfNC30eIR10m59lVQSSuW6R/TsbtzdMLZriNmR0ZQriydarWKsjZSj T9ObuJD3hZp3Nh6A+g1unqsLtcf+4HSiBTHx7zM5Fj8+vU/rNDtBusXbiGfavCMxXC kPWbg5zIThy9IVQDoraO9/kiV4bV+xA99azrwpzA= From: "jakub at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/109695] [14 Regression] crash in gimple_ranger::range_of_expr since r14-377-gc92b8be9b52b7e Date: Thu, 04 May 2023 09:02:56 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: jakub at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P1 X-Bugzilla-Assigned-To: aldyh at gcc dot gnu.org X-Bugzilla-Target-Milestone: 14.0 X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D109695 --- Comment #17 from Jakub Jelinek --- For peak memory consumption there is -fmem-report, which prints stats about= GC memory. For this PR I think you want instead measure maximum stack usage. Perhaps GCC could be built with -fstack-usage and something could be derived from callgraph and the stack usage info. Or use systemtap on cc1/cc1plus a= nd try to determine something using it? Or build gcc with -fsplit-stack and hook into morestack? Or just try to check for functions with largest stack usages in cc1plus? Doing that on the trunk gives: objdump -dr cc1plus | grep '>:\|sub.*0x.*[0-9a-f][0-9a-f][0-9a-f][0-9a-f],.*rsp' | awk '/>:/{I=3D$2}/sub.*rsp/{J=3Dgensub(/.*(0x[0-9a-f]+),%rsp/,"\\1","1",$0);K= =3Dstrtonum(J);printf "%d %s %s\n", K, I, $0}' | grep -v 0xffffffffffff | sort -nr 410440 <_ZN19infer_range_manager17register_all_usesEP9tree_node>: 275120d:= =20=20=20=20 48 81 ec 48 43 06 00 sub $0x64348,%rsp 410440 <_ZN12ranger_cache21apply_inferred_rangesEP6gimple>: 274075d: 48 = 81 ec 48 43 06 00 sub $0x64348,%rsp 287320 <_ZN12gori_compute15logical_combineER6vrange9tree_codeRK6irangeRKS0_S7_S7_S= 7_>: 2748d0c: 48 81 ec 58 62 04 00 sub $0x46258,%rsp 205320 <_ZN13gimple_ranger25prefill_stmt_dependenciesEP9tree_node>: 27398e= d:=20=20 48 81 ec 08 22 03 00 sub $0x32208,%rsp 205288 <_ZN12gori_compute15condexpr_adjustER6vrangeS1_P6gimpleP9tree_nodeS5_S5_R10= fur_source>: 274c2c3: 48 81 ec e8 21 03 00 sub $0x321e8,%rsp 204840 <_ZNK15operator_rshift9op1_rangeER6irangeP9tree_nodeRKS0_S5_13relation_trio= >:=20 16481ba: 48 81 ec 28 20 03 00 sub $0x32028,%rsp 164952 <_ZL21determine_value_rangeP4loopP9tree_nodeS2_P12__mpz_structS4_S4_= >:=20 189afc6: 48 81 ec 58 84 02 00 sub $0x28458,%rsp 164512 <_ZN8selftestL26range_op_bitwise_and_testsEv>: 164fef4: 48 81 ec a0= 82 02 00 sub $0x282a0,%rsp 164360 <_ZN8selftestL25range_tests_int_range_maxEv>: 1a26584: 48 81 ec 08= 82 02 00 sub $0x28208,%rsp 164312 <_ZN18remove_unreachable25remove_and_update_globalsEb.part.0>: 19e1= 780: 48 81 ec d8 81 02 00 sub $0x281d8,%rsp 164296 <_ZN12ranger_cache16fill_block_cacheEP9tree_nodeP15basic_block_defS3= _>:=20 27418ed: 48 81 ec c8 81 02 00 sub $0x281c8,%rsp 164280 <_ZN16fold_using_range17range_of_range_opER6vrangeR23gimple_range_op_handle= rR10fur_source>: 274680a: 48 81 ec b8 81 02 00 sub $0x281b8,%rsp 164280 <_ZN12gori_compute21compute_operand_rangeER6vrangeP6gimpleRKS0_P9tree_nodeR= 10fur_sourceP14value_relation.part.0>: 274b259: 48 81 ec b8 81 02 00 sub $0x281b8,%rsp 164248 <_ZN11range_query14get_tree_rangeER6vrangeP9tree_nodeP6gimple>:=20 1a17e26: 48 81 ec 98 81 02 00 sub $0x28198,%rsp 164232 <_ZN12gori_compute21refine_using_relationEP9tree_nodeR6vrangeS1_S3_R10fur_s= ource15relation_kind_t>: 274a50a: 48 81 ec 88 81 02 00 sub $0x28188,%rsp 164104 <_ZN8selftestL21range_op_rshift_testsEv>: 1648826: 48 81 ec 08= 81 02 00 sub $0x28108,%rsp 164008 <_ZNK13operator_cast9op1_rangeER6irangeP9tree_nodeRKS0_S5_13relation_trio.p= art.0>: 164e5f9: 48 81 ec a8 80 02 00 sub $0x280a8,%rsp 163864 <_ZN21gimple_outgoing_range18calc_switch_rangesEP7gswitch>: 274335d= :=20=20=20 48 81 ec 18 80 02 00 sub $0x28018,%rsp 123240 <_ZN12gori_compute22compute_operand1_rangeER6vrangeR23gimple_range_op_handl= erRKS0_P9tree_nodeR10fur_sourceP14value_relation>: 274d1de: 48 81 ec 68 e1 01 00 sub $0x1e168,%rsp 123224 <_ZN12gori_compute22compute_operand2_rangeER6vrangeR23gimple_range_op_handl= erRKS0_P9tree_nodeR10fur_sourceP14value_relation>: 274dc8e: 48 81 ec 58 e1 01 00 sub $0x1e158,%rsp 123176 <_ZN16path_range_query23compute_ranges_in_blockEP15basic_block_def>:= =20 18c708d: 48 81 ec 28 e1 01 00 sub $0x1e128,%rsp 123176 <_ZN16fold_using_range12range_of_phiER6vrangeP4gphiR10fur_source>:=20 2745820: 48 81 ec 28 e1 01 00 sub $0x1e128,%rsp 123176 <_ZN13gimple_ranger7dump_bbEP8_IO_FILEP15basic_block_def>: 273cd4b:= =20=20=20=20 48 81 ec 28 e1 01 00 sub $0x1e128,%rsp 123144 <_ZN16fold_using_range18range_of_cond_exprER6vrangeP7gassignR10fur_source>:= =20 27450a3: 48 81 ec 08 e1 01 00 sub $0x1e108,%rsp 123128 <_ZN12ranger_cache15propagate_cacheEP9tree_node>: 2740d9d: 48 = 81 ec f8 e0 01 00 sub $0x1e0f8,%rsp 83240 <_ZN8selftestL21range_op_lshift_testsEv>: 16461da: 48 81 ec 28= 45 01 00 sub $0x14528,%rsp 83048 <_ZL23adjust_op1_for_overflowR6irangeRKS_15relation_kind_tb.part.0>:= =20 1639c99: 48 81 ec 68 44 01 00 sub $0x14468,%rsp 82856 <_ZL15simplify_rotateP20gimple_stmt_iterator>: 185282e: 48 81 ec a8= 43 01 00 sub $0x143a8,%rsp 82560 <_ZN21simplify_using_ranges18fold_cond_with_opsE9tree_codeP9tree_nodeS2_P6g= imple>: 1a6bfca: 48 81 ec 80 42 01 00 sub $0x14280,%rsp 82248 <_ZL21record_nonwrapping_ivP4loopP9tree_nodeS2_P6gimpleS2_S2_bb.constprop.0= >:=20 189571d: 48 81 ec 48 41 01 00 sub $0x14148,%rsp 82168 <_ZNK15operator_lshift9op1_rangeER6irangeP9tree_nodeRKS0_S5_13relation_trio= .part.0>: 1645c99: 48 81 ec f8 40 01 00 sub $0x140f8,%rsp 82136 <_ZN13gimple_ranger11update_stmtEP6gimple>: 2738dff: 48 81 ec d8= 40 01 00 sub $0x140d8,%rsp 82136 <_ZN12ranger_cache14range_from_domER6vrangeP9tree_nodeP15basic_block_defNS_= 8rfd_modeE.part.0>: 273f88d: 48 81 ec d8 40 01 00 sub $0x140d8,%rsp 82120 <_ZNK14range_operator10fold_rangeER6irangeP9tree_nodeRKS0_S5_13relation_tri= o>:=20 163ed79: 48 81 ec c8 40 01 00 sub $0x140c8,%rsp 82120 <_Z10range_castR6vrangeP9tree_node>: 163c1da: 48 81 ec c8 40 01 0= 0=20=20=20 sub $0x140c8,%rsp 82104 <_ZN17block_range_cache4dumpEP8_IO_FILEP15basic_block_defb>: 273e3e9= :=20=20=20 48 81 ec b8 40 01 00 sub $0x140b8,%rsp 82104 <_ZN16path_range_query16ssa_range_in_phiER6vrangeP4gphi>: 18c6573:= =20=20=20=20=20=20 48 81 ec b8 40 01 00 sub $0x140b8,%rsp 82104 <_ZN13gimple_ranger35register_transitive_inferred_rangesEP15basic_block_def= >:=20 273aeba: 48 81 ec b8 40 01 00 sub $0x140b8,%rsp 82104 <_ZN12assume_query12calculate_opEP9tree_nodeP6gimpleR6vrangeR10fur_source>:= =20 273b99d: 48 81 ec b8 40 01 00 sub $0x140b8,%rsp 82104 <_Z21find_case_label_rangeP7gswitchPK6irange>: 19e2b5a: 48 81 ec b8= 40 01 00 sub $0x140b8,%rsp 82088 <_ZN15relation_oracle17validate_relationE15relation_kind_tP9tree_nodeS2_>:= =20 1a300c4: 48 81 ec a8 40 01 00 sub $0x140a8,%rsp 82080 <_ZN19infer_range_manager9add_rangeEP9tree_nodeP15basic_block_defRK6vrange>= :=20 2750c36: 48 81 ec a0 40 01 00 sub $0x140a0,%rsp 82080 <_ZN11range_query14query_relationEP6gimpleP9tree_nodeS3_b>: 1a189ab:= =20=20=20=20 48 81 ec a0 40 01 00 sub $0x140a0,%rsp 81992 <_ZN18gimple_infer_range17check_assume_funcEP5gcall>: 27501ba: 48 = 81 ec 48 40 01 00 sub $0x14048,%rsp 81976 <_ZN12assume_query13calculate_phiEP4gphiR6vrangeR10fur_source>: 273b= dca: 48 81 ec 38 40 01 00 sub $0x14038,%rsp 81928 <_ZNK20operator_bitwise_and9op1_rangeER6irangeP9tree_nodeRKS0_S5_13relation= _trio.part.0>: 164fad6: 48 81 ec 08 40 01 00 sub $0x14008,%rsp 81880 <_ZL40evaluate_control_stmt_using_entry_checksP6gimpleR3vecISt4pairIP18unsw= itch_predicatebE7va_heap6vl_ptrEiP8hash_setIP8edge_defLb0E19default_hash_tr= aitsISC_EE>: 18adb2d: 48 81 ec d8 3f 01 00 sub $0x13fd8,%rsp 43176 <_ZL25vect_recog_divmod_patternP8vec_infoP14_stmt_vec_infoPP9tree_nod= e>:=20 289acca: 48 81 ec a8 a8 00 00 sub $0xa8a8,%rsp 42936 <_Z20range_of_var_in_loopR6vrangeP9tree_nodeP4loopP6gimpleP11range_query>:= =20 1a73c99: 48 81 ec b8 a7 00 00 sub $0xa7b8,%rsp 42312 <_ZN21simplify_using_ranges8simplifyEP20gimple_stmt_iterator>: 1a727= 4a:=20 48 81 ec 48 a5 00 00 sub $0xa548,%rsp 42264 <_ZN12_GLOBAL__N_116pass_assumptions7executeEP8function>: 19e0da6:= =20=20=20=20=20=20 48 81 ec 18 a5 00 00 sub $0xa518,%rsp 42248 <_ZN13back_threader20find_taken_edge_condERK3vecIP15basic_block_def7va_heap= 6vl_ptrEP5gcond>: 19488c6: 48 81 ec 08 a5 00 00 sub $0xa508,%rsp 42072 <_ZN10fur_source23register_outgoing_edgesEP5gcondR6irangeP8edge_defS5= _>:=20 2746196: 48 81 ec 58 a4 00 00 sub $0xa458,%rsp 41688 <_ZNK12operator_abs9op1_rangeER6irangeP9tree_nodeRKS0_S5_13relation_trio>:= =20 163cf10: 48 81 ec d8 a2 00 00 sub $0xa2d8,%rsp 41640 <_ZL17value_replacementP15basic_block_defS0_P8edge_defS2_P4gphiP9tree_nodeS= 6_>: 18cf2ed: 48 81 ec a8 a2 00 00 sub $0xa2a8,%rsp 41624 <_ZL16alloca_call_typeP6gimpleb>: 277f6c6: 48 81 ec 98 a2 00 0= 0=20=20=20 sub $0xa298,%rsp 41448 <_ZN16path_range_query24adjust_for_non_null_usesEP15basic_block_def>:= =20 18c7a9a: 48 81 ec e8 a1 00 00 sub $0xa1e8,%rsp 41400 <_ZL28scev_var_range_cant_overflowP9tree_nodeS0_P4loop>: 189622d:=20= =20=20=20=20=20=20 48 81 ec b8 a1 00 00 sub $0xa1b8,%rsp 41384 <_ZNK18operator_not_equal10fold_rangeER6irangeP9tree_nodeRKS0_S5_13relation= _trio>: 163cbd9: 48 81 ec a8 a1 00 00 sub $0xa1a8,%rsp 41384 <_ZNK14operator_equal10fold_rangeER6irangeP9tree_nodeRKS0_S5_13relation_tri= o>:=20 163c889: 48 81 ec a8 a1 00 00 sub $0xa1a8,%rsp 41352 <_ZNK12operator_div7wi_foldER6irangeP9tree_nodeRK16generic_wide_intI16wide_= int_storageES8_S8_S8_>: 164b48d: 48 81 ec 88 a1 00 00 sub $0xa188,%rsp 41328 <_Z26check_nul_terminated_arrayIP9tree_nodeEbT_S1_S1_>: 13d3f24: 48 = 81 ec 70 a1 00 00 sub $0xa170,%rsp 41328 <_Z26check_nul_terminated_arrayIP6gimpleEbT_P9tree_nodeS4_>: 13d2184= :=20=20=20 48 81 ec 70 a1 00 00 sub $0xa170,%rsp 41328 <_Z26check_nul_terminated_arrayIP5gcallEbT_P9tree_nodeS4_>: 13d5044:= =20=20=20=20 48 81 ec 70 a1 00 00 sub $0xa170,%rsp 41304 <_ZN6irange6invertEv>: 1a2130a: 48 81 ec 58 a1 00 00 sub=20=20=20 $0xa158,%rsp 41272 <_ZNK15operator_lshift10fold_rangeER6irangeP9tree_nodeRKS0_S5_13relation_tr= io>: 1643762: 48 81 ec 38 a1 00 00 sub $0xa138,%rsp 41272 <_ZNK14range_operator16wi_fold_in_partsER6irangeP9tree_nodeRK16generic_wide= _intI16wide_int_storageES8_S8_S8_>: 163e6cd: 48 81 ec 38 a1 00 00 sub $0xa138,%rsp 41272 <_ZN8selftest14test_expr_evalC1Ev>: 2756cda: 48 81 ec 38 a1 00 0= 0=20=20=20 sub $0xa138,%rsp 41256 <_ZN6irange9intersectERK6vrange>: 1a2385a: 48 81 ec 28 a1 00 0= 0=20=20=20 sub $0xa128,%rsp 41176 <_ZL33infer_loop_bounds_from_signednessP4loopP6gimple>: 1895ff2: 48 = 81 ec d8 a0 00 00 sub $0xa0d8,%rsp 41160 <_ZNK14range_operator22wi_fold_in_parts_equivER6irangeP9tree_nodeRK16generi= c_wide_intI16wide_int_storageES8_j>: 163a47d: 48 81 ec c8 a0 00 00 sub $0xa0c8,%rsp 41160 <_ZN13gimple_ranger13range_of_exprER6vrangeP9tree_nodeP6gimple>:=20 273c4d6: 48 81 ec c8 a0 00 00 sub $0xa0c8,%rsp 41160 <_Z17expr_not_equal_toP9tree_nodeRK16generic_wide_intI16wide_int_storageE>:= =20 135839c: 48 81 ec c8 a0 00 00 sub $0xa0c8,%rsp 41152 <_ZNK7cfn_ffs10fold_rangeER6irangeP9tree_nodeRKS0_S5_13relation_trio>= :=20 275489b: 48 81 ec c0 a0 00 00 sub $0xa0c0,%rsp 41144 <_ZN18dom_opt_dom_walker40set_global_ranges_from_unreachable_edgesEP15basic= _block_def>: 184994a: 48 81 ec b8 a0 00 00 sub $0xa0b8,%rsp 41144 <_ZN13gimple_ranger13range_of_stmtER6vrangeP6gimpleP9tree_node>:=20 273a819: 48 81 ec b8 a0 00 00 sub $0xa0b8,%rsp 41136 <_ZN12_GLOBAL__N_116memmodel_to_uhwiEP9tree_nodeP6gimplePm>: 13cc0fd= :=20=20=20 48 81 ec b0 a0 00 00 sub $0xa0b0,%rsp 41112 <_ZN21simplify_using_ranges16legacy_fold_condEP5gcondPP8edge_def>:=20 1a6cf03: 48 81 ec 98 a0 00 00 sub $0xa098,%rsp 41088 <_ZN20hybrid_jt_simplifier8simplifyEP6gimpleS1_P15basic_block_defP8jt_state= >:=20 194c4b1: 48 81 ec 80 a0 00 00 sub $0xa080,%rsp 41080 <_ZN16path_range_query22compute_ranges_in_phisEP15basic_block_def>:=20 18c6c20: 48 81 ec 78 a0 00 00 sub $0xa078,%rsp 41072 <_ZN15relation_oracle17validate_relationE15relation_kind_tR6vrangeS2_= >:=20 1a2fe8e: 48 81 ec 70 a0 00 00 sub $0xa070,%rsp 41064 <_ZN9ssa_cache4dumpEP8_IO_FILE>: 273ed82: 48 81 ec 68 a0 00 0= 0=20=20=20 sub $0xa068,%rsp 41064 <_ZN16fold_using_range13range_of_callER6vrangeP5gcallR10fur_source>:= =20 2744e8f: 48 81 ec 68 a0 00 00 sub $0xa068,%rsp 41064 <_ZN13gimple_ranger13range_on_edgeER6vrangeP8edge_defP9tree_node>:=20 273c91d: 48 81 ec 68 a0 00 00 sub $0xa068,%rsp 41064 <_ZN12ranger_cache11resolve_domER6vrangeP9tree_nodeP15basic_block_def= >:=20 273f60d: 48 81 ec 68 a0 00 00 sub $0xa068,%rsp 41064 <_ZN12gori_compute35compute_operand1_and_operand2_rangeER6vrangeR23gimple_r= ange_op_handlerRKS0_P9tree_nodeR10fur_sourceP14value_relation>: 274e70d: 48 81 ec 68 a0 00 00 sub $0xa068,%rsp 41064 <_ZN12assume_query4dumpEP8_IO_FILE>: 2738a44: 48 81 ec 68 a0 00 0= 0=20=20=20 sub $0xa068,%rsp 41064 <_ZN11range_query13value_on_edgeEP8edge_defP9tree_node>: 1a17949:=20= =20=20=20=20=20=20 48 81 ec 68 a0 00 00 sub $0xa068,%rsp 41064 <_ZN11range_query13value_of_stmtEP6gimpleP9tree_node>: 1a1754f: 48 = 81 ec 68 a0 00 00 sub $0xa068,%rsp 41064 <_ZN11range_query13value_of_exprEP9tree_nodeP6gimple>: 1a17759: 48 = 81 ec 68 a0 00 00 sub $0xa068,%rsp 41056 <_ZL17dump_ssaname_infoP14pretty_printerP9tree_nodei.part.0>: 13c3b0= d:=20=20 48 81 ec 60 a0 00 00 sub $0xa060,%rsp 41056 <_ZL13cprop_operandP6gimpleP17ssa_use_operand_tP11range_query>: 1848= 038: 48 81 ec 60 a0 00 00 sub $0xa060,%rsp 41056 <_Z14set_range_infoP9tree_nodeRK6vrange>: 1964ca7: 48 81 ec 60= a0 00 00 sub $0xa060,%rsp 41048 <_ZN23gimple_range_op_handler8calc_op2ER6vrangeRKS0_S3_13relation_tri= o>:=20 2752927: 48 81 ec 58 a0 00 00 sub $0xa058,%rsp 41048 <_ZN23gimple_range_op_handler8calc_op1ER6vrangeRKS0_S3_13relation_tri= o>:=20 27526f7: 48 81 ec 58 a0 00 00 sub $0xa058,%rsp 41048 <_ZN23gimple_range_op_handler8calc_op1ER6vrangeRKS0_>: 2752536: 48 = 81 ec 58 a0 00 00 sub $0xa058,%rsp 41048 <_ZN19infer_range_manager18maybe_adjust_rangeER6vrangeP9tree_nodeP15basic_b= lock_def>: 27513c8: 48 81 ec 58 a0 00 00 sub $0xa058,%rsp 41048 <_ZN13gimple_ranger24register_inferred_rangesEP6gimple>: 273ac9f:=20= =20=20=20=20=20=20 48 81 ec 58 a0 00 00 sub $0xa058,%rsp 41048 <_ZN13gimple_ranger20export_global_rangesEv>: 273b430: 48 81 ec 58= a0 00 00 sub $0xa058,%rsp 41048 <_ZN13gimple_ranger14range_on_entryER6vrangeP15basic_block_defP9tree_node>:= =20 27393bd: 48 81 ec 58 a0 00 00 sub $0xa058,%rsp 41048 <_ZN12_GLOBAL__N_115loop_versioning21prune_loop_conditionsEP4loop>:=20 272ae8a: 48 81 ec 58 a0 00 00 sub $0xa058,%rsp 41048 <_ZN11range_query14query_relationEP8edge_defP9tree_nodeS3_b>: 1a18cf= d:=20=20 48 81 ec 58 a0 00 00 sub $0xa058,%rsp 41040 <_ZN16ssa_block_ranges4dumpEP8_IO_FILE>: 273dc1a: 48 81 ec 50= a0 00 00 sub $0xa050,%rsp 41040 <_ZN16path_range_query22internal_range_of_exprER6vrangeP9tree_nodeP6gimple>= :=20 18c6e0b: 48 81 ec 50 a0 00 00 sub $0xa050,%rsp 41040 <_ZN12ranger_cache23register_inferred_valueERK6vrangeP9tree_nodeP15basic_bl= ock_def>: 274056b: 48 81 ec 50 a0 00 00 sub $0xa050,%rsp 41040 <_ZN12ranger_cache10edge_rangeER6vrangeP8edge_defP9tree_nodeNS_8rfd_modeE>:= =20 2740274: 48 81 ec 50 a0 00 00 sub $0xa050,%rsp 41040 <_Z29duplicate_ssa_name_range_infoP9tree_nodeS0_>: 1965057: 48 = 81 ec 50 a0 00 00 sub $0xa050,%rsp 41040 <_Z17debug_seed_rangerR13gimple_ranger>: 27566fb: 48 81 ec 50= a0 00 00 sub $0xa050,%rsp 41032 <_ZNK13operator_cast10fold_rangeER6irangeP9tree_nodeRKS0_S5_13relation_trio= >:=20 16512bd: 48 81 ec 48 a0 00 00 sub $0xa048,%rsp 41032 <_ZN13back_threader22find_taken_edge_switchERK3vecIP15basic_block_def7va_he= ap6vl_ptrEP7gswitch>: 19487bc: 48 81 ec 48 a0 00 00 sub $0xa048,%rsp 40968 <_ZN12gori_compute21outgoing_edge_range_pER6vrangeP8edge_defP9tree_nodeR11r= ange_query>: 274f5a0: 48 81 ec 08 a0 00 00 sub $0xa008,%rsp 40936 <_ZN21simplify_using_ranges9fold_condEP5gcond>: 1a6e521: 48 81 ec e8= 9f 00 00 sub $0x9fe8,%rsp 40920 <_ZNK15operator_rshift10fold_rangeER6irangeP9tree_nodeRKS0_S5_13relation_tr= io>: 1643682: 48 81 ec d8 9f 00 00 sub $0x9fd8,%rsp 40920 <_ZNK14irange_storage7equal_pERK6irangeP9tree_node>: 1a2eb89: 48 = 81 ec d8 9f 00 00 sub $0x9fd8,%rsp 40920 <_ZN11Value_RangeaSERK6vrange.isra.0>: 2750095: 48 81 ec d8 9f 00 0= 0=20=20=20 sub $0x9fd8,%rsp 40920 <_Z16get_nonzero_bitsPK9tree_node.part.0>: 1963f15: 48 81 ec d8= 9f 00 00 sub $0x9fd8,%rsp 40912 <_ZN14irange_storage10set_irangeERK6irange.part.0>: 1a2e60a: 48 = 81 ec d0 9f 00 00 sub $0x9fd0,%rsp 38872 <_ZN3ana8selftestL17test_sm_state_mapEv>: 1ae38cf: 48 81 ec d8= 97 00 00 sub $0x97d8,%rsp 21384 <_ZN3ana17impl_run_checkersEPNS_6loggerE>: 1acd577: 48 81 ec 88= 53 00 00 sub $0x5388,%rsp 20216 <_ZN3ana8selftestL16test_iteration_1Ev>: 1afbcac: 48 81 ec f8= 4e 00 00 sub $0x4ef8,%rsp 19752 <_ZN3ana8selftestL18test_state_mergingEv>: 1afca8f: 48 81 ec 28= 4d 00 00 sub $0x4d28,%rsp 19640 <_ZN3ana8selftestL23test_constraint_mergingEv>: 1afb84c: 48 81 ec b8= 4c 00 00 sub $0x4cb8,%rsp 19640 <_ZN3ana8selftestL19test_many_constantsEv>: 28eeb44: 48 81 ec b8= 4c 00 00 sub $0x4cb8,%rsp 19608 <_ZN3ana8selftestL26test_program_state_mergingEv>: 1ae4ecf: 48 = 81 ec 98 4c 00 00 sub $0x4c98,%rsp 19584 <_ZN3ana8selftestL15test_equality_1Ev>: 1af6f09: 48 81 ec 80 4c 00 0= 0=20=20=20 sub $0x4c80,%rsp 19584 <_ZN3ana8selftestL13test_equalityEv>: 28f14cd: 48 81 ec 80 4c 00 0= 0=20=20=20 sub $0x4c80,%rsp 19480 <_ZN3ana8selftestL25test_binop_svalue_foldingEv>: 1af3d8e: 48 = 81 ec 18 4c 00 00 sub $0x4c18,%rsp 19464 <_ZN3ana8selftestL28test_program_state_merging_2Ev>: 1ae3470: 48 = 81 ec 08 4c 00 00 sub $0x4c08,%rsp 19448 <_ZN3ana8selftestL23test_canonicalization_3Ev>: 1af9fdb: 48 81 ec f8= 4b 00 00 sub $0x4bf8,%rsp 19440 <_ZN3ana8selftestL23test_canonicalization_2Ev>: 1af87dd: 48 81 ec f0= 4b 00 00 sub $0x4bf0,%rsp 19432 <_ZN3ana8selftestL32test_get_representative_path_varEv>: 1af96c1:=20= =20=20=20=20=20=20 48 81 ec e8 4b 00 00 sub $0x4be8,%rsp 19400 <_ZN3ana8selftestL17test_stack_framesEv>: 1b007bf: 48 81 ec c8= 4b 00 00 sub $0x4bc8,%rsp 19400 <_ZN3ana8selftestL12test_array_2Ev>: 1af78d1: 48 81 ec c8 4b 00 0= 0=20=20=20 sub $0x4bc8,%rsp 19392 <_ZN3ana8selftestL11test_structEv>: 1af6b08: 48 81 ec c0 4b 00 0= 0=20=20=20 sub $0x4bc0,%rsp 19376 <_ZN3ana8selftestL28test_get_representative_treeEv>: 1b021d6: 48 = 81 ec b0 4b 00 00 sub $0x4bb0,%rsp 19352 <_ZN3ana8selftestL24test_compound_assignmentEv>: 1af84ca: 48 = 81 ec 98 4b 00 00 sub $0x4b98,%rsp 19344 <_ZN3ana8selftestL8test_varEv>: 1af742d: 48 81 ec 90 4b 00 00 sub= =20=20=20 $0x4b90,%rsp 19344 <_ZN3ana8selftestL23test_sub_svalue_foldingEv>: 1af1fc4: 48 81 ec 90= 4b 00 00 sub $0x4b90,%rsp 19336 <_ZN3ana8selftestL25test_constant_comparisonsEv>: 28ec11f: 48 = 81 ec 88 4b 00 00 sub $0x4b88,%rsp 19328 <_ZN3ana8selftestL11test_allocaEv>: 1b0168f: 48 81 ec 80 4b 00 0= 0=20=20=20 sub $0x4b80,%rsp 19320 <_ZN3ana8selftestL15test_involves_pEv>: 1af33e8: 48 81 ec 78 4b 00 0= 0=20=20=20 sub $0x4b78,%rsp 19320 <_ZN3ana8selftestL11test_mallocEv>: 1afae06: 48 81 ec 78 4b 00 0= 0=20=20=20 sub $0x4b78,%rsp 19312 <_ZN3ana8selftestL27test_unaryop_svalue_foldingEv>: 1af3006: 48 = 81 ec 70 4b 00 00 sub $0x4b70,%rsp 19312 <_ZN3ana8selftestL27test_initial_svalue_foldingEv>: 1af28c6: 48 = 81 ec 70 4b 00 00 sub $0x4b70,%rsp 19312 <_ZN3ana8selftestL21test_unique_constantsEv>: 1af3716: 48 81 ec 70= 4b 00 00 sub $0x4b70,%rsp 19304 <_ZN3ana8selftestL9test_dumpEv>: 1b020a0: 48 81 ec 68 4b 00 0= 0=20=20=20 sub $0x4b68,%rsp 19304 <_ZN3ana8selftestL9test_bitsEv>: 28eb80c: 48 81 ec 68 4b 00 0= 0=20=20=20 sub $0x4b68,%rsp 19304 <_ZN3ana8selftestL35test_POINTER_PLUS_EXPR_then_MEM_REFEv>: 1af8382:= =20=20=20=20 48 81 ec 68 4b 00 00 sub $0x4b68,%rsp 19304 <_ZN3ana8selftestL23test_malloc_constraintsEv>: 1afaaa8: 48 81 ec 68= 4b 00 00 sub $0x4b68,%rsp 19304 <_ZN3ana8selftestL20test_constraint_implEv>: 28eae5f: 48 81 ec 68= 4b 00 00 sub $0x4b68,%rsp 19304 <_ZN3ana8selftestL17test_transitivityEv>: 28e997b: 48 81 ec 68= 4b 00 00 sub $0x4b68,%rsp 19304 <_ZN3ana8selftestL15test_assignmentEv>: 1afa198: 48 81 ec 68 4b 00 0= 0=20=20=20 sub $0x4b68,%rsp 19296 <_ZN3ana8selftestL26test_constraint_conditionsEv>: 28f64cd: 48 = 81 ec 60 4b 00 00 sub $0x4b60,%rsp 19296 <_ZN3ana8selftestL12test_purgingEv>: 28ed806: 48 81 ec 60 4b 00 0= 0=20=20=20 sub $0x4b60,%rsp 19296 <_ZN3ana8selftestL12test_mem_refEv>: 1af822d: 48 81 ec 60 4b 00 0= 0=20=20=20 sub $0x4b60,%rsp 19280 <_ZN3ana8selftestL23test_canonicalization_4Ev>: 1af2624: 48 81 ec 50= 4b 00 00 sub $0x4b50,%rsp 19264 <_ZN3ana8selftestL12test_array_1Ev>: 1af6e38: 48 81 ec 40 4b 00 0= 0=20=20=20 sub $0x4b40,%rsp 19256 <_ZN3ana8selftestL20test_program_state_1Ev>: 1ae4ccb: 48 81 ec 38= 4b 00 00 sub $0x4b38,%rsp 19232 <_ZN3ana8selftestL22test_bit_range_regionsEv>: 1aec219: 48 81 ec 20= 4b 00 00 sub $0x4b20,%rsp 19216 <_ZN3ana8selftestL20test_program_state_2Ev>: 1ae0529: 48 81 ec 10= 4b 00 00 sub $0x4b10,%rsp 19184 <_ZN3ana8selftestL25test_widening_constraintsEv>: 1aed7ea: 48 = 81 ec f0 4a 00 00 sub $0x4af0,%rsp 19160 <_ZN3ana8selftestL27test_program_point_equalityEv>: 1add8e0: 48 = 81 ec d8 4a 00 00 sub $0x4ad8,%rsp 19160 <_ZN3ana8selftestL20test_unique_unknownsEv>: 1aeb9c4: 48 81 ec d8= 4a 00 00 sub $0x4ad8,%rsp 19152 <_ZN3ana8selftestL31test_bits_within_svalue_foldingEv>: 1aec408: 48 = 81 ec d0 4a 00 00 sub $0x4ad0,%rsp 19152 <_ZN3ana8selftestL20test_descendent_of_pEv>: 1aebb03: 48 81 ec d0= 4a 00 00 sub $0x4ad0,%rsp 16616 <_ZL22estimate_local_effectsP11cgraph_node>: 27c5aaa: 48 81 ec e8= 40 00 00 sub $0x40e8,%rsp 16328 <_Z35ipa_merge_fn_summary_after_inliningP11cgraph_edge>: 146ae10:=20= =20=20=20=20=20=20 48 81 ec c8 3f 00 00 sub $0x3fc8,%rsp 16296 <_ZL27decide_whether_version_nodeP11cgraph_node>: 27cde7d: 48 = 81 ec a8 3f 00 00 sub $0x3fa8,%rsp 16280 <_ZN16ipa_fn_summary_t9duplicateEP11cgraph_nodeS1_P14ipa_fn_summaryS3= _>:=20 146eac6: 48 81 ec 98 3f 00 00 sub $0x3f98,%rsp 16104 <_Z21do_estimate_edge_timeP11cgraph_edgeP5sreal>: 147d7b7: 48 = 81 ec e8 3e 00 00 sub $0x3ee8,%rsp 16072 <_Z22do_estimate_edge_hintsP11cgraph_edge>: 147e625: 48 81 ec c8= 3e 00 00 sub $0x3ec8,%rsp 16072 <_Z21do_estimate_edge_sizeP11cgraph_edge.part.0>: 147cc65: 48 = 81 ec c8 3e 00 00 sub $0x3ec8,%rsp 12152 <_Z11inline_callP11cgraph_edgebP3vecIS0_7va_heap6vl_ptrEPibPb>: 1480= 600: 48 81 ec 78 2f 00 00 sub $0x2f78,%rsp 12088 <_Z29ix86_valid_target_attribute_pP9tree_nodeS0_S0_i>: 1b6919d: 48 = 81 ec 38 2f 00 00 sub $0x2f38,%rsp 8568 <_ZL33gimple_fold_builtin_clear_paddingP20gimple_stmt_iterator>: 13ae= e2d: 48 81 ec 78 21 00 00 sub $0x2178,%rsp 8544 <_ZL19clear_padding_unionP20clear_padding_structP9tree_nodelb>: 13aed= 58:=20 48 81 ec 60 21 00 00 sub $0x2160,%rsp 8536 <_Z26clear_type_padding_in_maskP9tree_nodePh>: 13af2cc: 48 81 ec 58= 21 00 00 sub $0x2158,%rsp 6088 <_Z32ix86_valid_target_attribute_treeP9tree_nodeS0_P11gcc_optionsS2_b>= :=20 1b68eb1: 48 81 ec c8 17 00 00 sub $0x17c8,%rsp 5912 <_ZL28determine_group_iv_cost_condP11ivopts_dataP8iv_groupP7iv_cand>:= =20 188613a: 48 81 ec 18 17 00 00 sub $0x1718,%rsp 5448 <_ZN8selftestL16range_tests_miscEv>: 1a28014: 48 81 ec 48 15 00 0= 0=20=20=20 sub $0x1548,%rsp 4936 <_ZL18cselib_record_setsP8rtx_insn>: 124b6dd: 48 81 ec 48 13 00 0= 0=20=20=20 sub $0x1348,%rsp 4576 <_ZN8selftestL19range_tests_irange3Ev>: 1a25261: 48 81 ec e0 11 00 0= 0=20=20=20 sub $0x11e0,%rsp 4360 : 29e8d86: 48 81 ec 08 11 00 00 sub $0x1108,%rsp 4168 <_Z14gt_pch_restoreP8_IO_FILE>: 1398d13: 48 81 ec 48 10 00 00 sub= =20=20=20 $0x1048,%rsp 4120 <_ZN8selftest9read_fileERKNS_8locationEPKc>: 2951eba: 48 81 ec 18= 10 00 00 sub $0x1018,%rsp 4120 <_ZL23verify_speculative_callP11cgraph_nodeP6gimplejP11cgraph_edge>:=20 122add2: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4096 <_ZNK9vec_usage4dumpEP12mem_locationR9mem_usage>: 294f90e: 48 = 81 ec 00 10 00 00 sub $0x1000,%rsp 4096 : 29ef6f8: 48 81 ec 00 10 00 00 sub $0x1000,%rsp That is just insane. selftests I assume aren't called recursively, but 410k stack in one function? Compare that to gcc 12 (April 18th build): objdump -dr cc1plus | grep '>:\|sub.*0x.*[0-9a-f][0-9a-f][0-9a-f][0-9a-f],.*rsp' | awk '/>:/{I=3D$2}/sub.*rsp/{J=3Dgensub(/.*(0x[0-9a-f]+),%rsp/,"\\1","1",$0);K= =3Dstrtonum(J);printf "%d %s %s\n", K, I, $0}' | grep -v 0xffffffffffff | sort -nr 20536 <_ZN12gori_compute15condexpr_adjustER6irangeS1_P6gimpleP9tree_nodeS5_S5_R10= fur_source>: 2622776: 48 81 ec 38 50 00 00 sub $0x5038,%rsp 20504 <_ZNK15operator_rshift9op1_rangeER6irangeP9tree_nodeRKS0_S5_9tree_cod= e>:=20 2735799: 48 81 ec 18 50 00 00 sub $0x5018,%rsp 16744 <_ZNK13operator_cast9op1_rangeER6irangeP9tree_nodeRKS0_S5_9tree_code>= :=20 2728476: 48 81 ec 68 41 00 00 sub $0x4168,%rsp 16448 <_ZN8selftestL25range_tests_int_range_maxEv>: 1997a7d: 48 81 ec 40= 40 00 00 sub $0x4040,%rsp 16440 <_ZN8selftestL26range_op_bitwise_and_testsEv>: 272a18a: 48 81 ec 38= 40 00 00 sub $0x4038,%rsp 16440 <_ZN12gori_compute21compute_operand_rangeER6irangeP6gimpleRKS0_P9tree_nodeR= 10fur_source>: 262168a: 48 81 ec 38 40 00 00 sub $0x4038,%rsp 16416 <_ZN8selftestL21range_op_rshift_testsEv>: 2735b68: 48 81 ec 20= 40 00 00 sub $0x4020,%rsp 12528 <_ZN8selftestL18range_tests_legacyEv>: 1997f55: 48 81 ec f0 30 00 0= 0=20=20=20 sub $0x30f0,%rsp 12360 <_ZN21gimple_outgoing_range18calc_switch_rangesEP7gswitch>: 261940a:= =20=20=20=20 48 81 ec 48 30 00 00 sub $0x3048,%rsp 12328 <_ZN12gori_compute15logical_combineER6irange9tree_codeRKS0_S4_S4_S4_S= 4_>: 2620078: 48 81 ec 28 30 00 00 sub $0x3028,%rsp 12312 <_ZN16fold_using_range18range_of_cond_exprER6irangeP7gassignR10fur_source>:= =20 261b780: 48 81 ec 18 30 00 00 sub $0x3018,%rsp 12312 <_ZN12ranger_cache16fill_block_cacheEP9tree_nodeP15basic_block_defS3_= >:=20 26182ca: 48 81 ec 18 30 00 00 sub $0x3018,%rsp 12312 <_ZN12ranger_cache15propagate_cacheEP9tree_node>: 2617960: 48 = 81 ec 18 30 00 00 sub $0x3018,%rsp 12296 <_ZN11range_query14get_tree_rangeER6irangeP9tree_nodeP6gimple>: 198e= ee6: 48 81 ec 08 30 00 00 sub $0x3008,%rsp 11768 <_Z11inline_callP11cgraph_edgebP3vecIS0_7va_heap6vl_ptrEPibPb>: 1420= ff0: 48 81 ec f8 2d 00 00 sub $0x2df8,%rsp 11704 <_Z29ix86_valid_target_attribute_pP9tree_nodeS0_S0_i>: 1abd69d: 48 = 81 ec b8 2d 00 00 sub $0x2db8,%rsp 8744 <_ZL15simplify_rotateP20gimple_stmt_iterator>: 17d683e: 48 81 ec 28= 22 00 00 sub $0x2228,%rsp 8568 <_ZL33gimple_fold_builtin_clear_paddingP20gimple_stmt_iterator>: 1352= 5dd: 48 81 ec 78 21 00 00 sub $0x2178,%rsp 8544 <_ZL19clear_padding_unionP20clear_padding_structP9tree_nodelb>: 13525= 10:=20 48 81 ec 60 21 00 00 sub $0x2160,%rsp 8536 <_ZNK15operator_lshift9op1_rangeER6irangeP9tree_nodeRKS0_S5_9tree_code= >:=20 272d8b9: 48 81 ec 58 21 00 00 sub $0x2158,%rsp 8536 <_Z26clear_type_padding_in_maskP9tree_nodePh>: 1352a4c: 48 81 ec 58= 21 00 00 sub $0x2158,%rsp 8424 <_ZN16fold_using_range17range_of_range_opER6irangeP6gimpleR10fur_sourc= e>:=20 261cac3: 48 81 ec e8 20 00 00 sub $0x20e8,%rsp 8392 <_ZN8selftestL21range_op_lshift_testsEv>: 272ddef: 48 81 ec c8= 20 00 00 sub $0x20c8,%rsp 8296 <_ZNK20operator_bitwise_and9op1_rangeER6irangeP9tree_nodeRKS0_S5_9tree_code= .part.0>: 2728c86: 48 81 ec 68 20 00 00 sub $0x2068,%rsp 8264 <_ZN16fold_using_range12range_of_phiER6irangeP4gphiR10fur_source>:=20 261be26: 48 81 ec 48 20 00 00 sub $0x2048,%rsp 8264 <_Z10fold_rangeR6irangeP6gimpleS0_S0_>: 261f7ce: 48 81 ec 48 20 00 0= 0=20=20=20 sub $0x2048,%rsp 8264 <_Z10fold_rangeR6irangeP6gimpleS0_>: 261f78b: 48 81 ec 48 20 00 0= 0=20=20=20 sub $0x2048,%rsp 8264 <_Z10fold_rangeR6irangeP6gimplejPS_>: 261f810: 48 81 ec 48 20 00 0= 0=20=20=20 sub $0x2048,%rsp 8248 <_ZN13gimple_ranger25prefill_stmt_dependenciesEP9tree_node>: 26125bd:= =20=20=20=20 48 81 ec 38 20 00 00 sub $0x2038,%rsp 8232 <_ZN16path_range_query23compute_ranges_in_blockEP15basic_block_def>:=20 184174d: 48 81 ec 28 20 00 00 sub $0x2028,%rsp 8232 <_ZN12gori_compute22compute_operand2_rangeER6irangeP6gimpleRKS0_P9tree_node= R10fur_source>: 26222a6: 48 81 ec 28 20 00 00 sub $0x2028,%rsp 8232 <_ZN12gori_compute22compute_operand1_rangeER6irangeP6gimpleRKS0_P9tree_node= R10fur_source>: 2621ea6: 48 81 ec 28 20 00 00 sub $0x2028,%rsp 8232 <_Z21find_case_label_rangeP7gswitchPK6irange>: 195363a: 48 81 ec 28= 20 00 00 sub $0x2028,%rsp 8224 <_ZN13gimple_ranger20export_global_rangesEv>: 2613048: 48 81 ec 20= 20 00 00 sub $0x2020,%rsp 8216 <_ZN13gimple_ranger7dump_bbEP8_IO_FILEP15basic_block_def>: 2613a06:= =20=20=20=20=20=20 48 81 ec 18 20 00 00 sub $0x2018,%rsp 8200 <_ZN16fold_using_range27range_of_builtin_ubsan_callER6irangeP5gcall9tree_co= deR10fur_source>: 261b55d: 48 81 ec 08 20 00 00 sub $0x2008,%rsp 6360 <_ZL28determine_group_iv_cost_condP11ivopts_dataP8iv_groupP7iv_cand>:= =20 18050ba: 48 81 ec d8 18 00 00 sub $0x18d8,%rsp 5896 <_Z32ix86_valid_target_attribute_treeP9tree_nodeS0_P11gcc_optionsS2_b>= :=20 1abd3b1: 48 81 ec 08 17 00 00 sub $0x1708,%rsp 5272 <_ZN21simplify_using_ranges8simplifyEP20gimple_stmt_iterator>: 19e126= a:=20=20 48 81 ec 98 14 00 00 sub $0x1498,%rsp 4952 <_ZL18cselib_record_setsP8rtx_insn>: 11e5d0d: 48 81 ec 58 13 00 0= 0=20=20=20 sub $0x1358,%rsp 4616 <_ZN6irange6invertEv>: 1992bfd: 48 81 ec 08 12 00 00 sub=20=20=20 $0x1208,%rsp 4536 <_ZNK14range_operator10fold_rangeER6irangeP9tree_nodeRKS0_S5_9tree_cod= e>:=20 27297ba: 48 81 ec b8 11 00 00 sub $0x11b8,%rsp 4536 <_ZNK12operator_div7wi_foldER6irangeP9tree_nodeRK16generic_wide_intI16wide_= int_storageES8_S8_S8_>: 2730f7d: 48 81 ec b8 11 00 00 sub $0x11b8,%rsp 4520 <_ZNK14range_operator16wi_fold_in_partsER6irangeP9tree_nodeRK16generic_wide= _intI16wide_int_storageES8_S8_S8_>: 27290fd: 48 81 ec a8 11 00 00 sub $0x11a8,%rsp 4472 <_ZNK12operator_abs9op1_rangeER6irangeP9tree_nodeRKS0_S5_9tree_code.part.0>= :=20 2727c9d: 48 81 ec 78 11 00 00 sub $0x1178,%rsp 4456 <_ZNK20operator_bitwise_and24remove_impossible_rangesER6irangeRKS0_>:= =20 272b673: 48 81 ec 68 11 00 00 sub $0x1168,%rsp 4360 : 28b87e6: 48 81 ec 08 11 00 00 sub $0x1108,%rsp 4344 <_ZNK18operator_not_equal10fold_rangeER6irangeP9tree_nodeRKS0_S5_9tree_code= .part.0>: 2726e52: 48 81 ec f8 10 00 00 sub $0x10f8,%rsp 4344 <_ZNK14operator_equal10fold_rangeER6irangeP9tree_nodeRKS0_S5_9tree_code.par= t.0>: 2726b22: 48 81 ec f8 10 00 00 sub $0x10f8,%rsp 4344 <_ZL16alloca_call_typeP6gimpleb>: 2650686: 48 81 ec f8 10 00 0= 0=20=20=20 sub $0x10f8,%rsp 4344 <_Z17expr_not_equal_toP9tree_nodeRK16generic_wide_intI16wide_int_storageE>:= =20 12fafec: 48 81 ec f8 10 00 00 sub $0x10f8,%rsp 4264 <_ZN6irange16irange_intersectERKS_>: 199625a: 48 81 ec a8 10 00 0= 0=20=20=20 sub $0x10a8,%rsp 4264 <_ZN10fur_source23register_outgoing_edgesEP5gcondR6irangeP8edge_defS5_= >:=20 261c4a6: 48 81 ec a8 10 00 00 sub $0x10a8,%rsp 4232 <_ZNK15operator_lshift10fold_rangeER6irangeP9tree_nodeRKS0_S5_9tree_co= de>: 2729cdd: 48 81 ec 88 10 00 00 sub $0x1088,%rsp 4216 <_ZN13back_threader20find_taken_edge_condERK3vecIP15basic_block_def7va_heap= 6vl_ptrEP5gcond>: 18c3b8f: 48 81 ec 78 10 00 00 sub $0x1078,%rsp 4216 <_ZN12ranger_cache13range_on_edgeER6irangeP8edge_defP9tree_node.part.0= >:=20 2616a16: 48 81 ec 78 10 00 00 sub $0x1078,%rsp 4200 <_ZN13gimple_ranger13range_of_exprER6irangeP9tree_nodeP6gimple>: 2613= 3b6: 48 81 ec 68 10 00 00 sub $0x1068,%rsp 4184 <_ZN13gimple_ranger13range_of_stmtER6irangeP6gimpleP9tree_node>: 2612= ced: 48 81 ec 58 10 00 00 sub $0x1058,%rsp 4184 <_ZN12_GLOBAL__N_115loop_versioning21prune_loop_conditionsEP4loop>:=20 2603a4a: 48 81 ec 58 10 00 00 sub $0x1058,%rsp 4176 <_ZN8selftest14test_expr_evalC1Ev>: 2624e77: 48 81 ec 50 10 00 0= 0=20=20=20 sub $0x1050,%rsp 4168 <_ZN3ana8selftestL17test_sm_state_mapEv>: 1a4d99f: 48 81 ec 48= 10 00 00 sub $0x1048,%rsp 4168 <_ZN16path_range_query22compute_ranges_in_phisEP15basic_block_def>:=20 1841614: 48 81 ec 48 10 00 00 sub $0x1048,%rsp 4168 <_Z14gt_pch_restoreP8_IO_FILE>: 133c2b3: 48 81 ec 48 10 00 00 sub= =20=20=20 $0x1048,%rsp 4152 <_ZNK15operator_rshift10fold_rangeER6irangeP9tree_nodeRKS0_S5_9tree_co= de>: 2729fad: 48 81 ec 38 10 00 00 sub $0x1038,%rsp 4152 <_ZN16path_range_query24adjust_for_non_null_usesEP15basic_block_def>:= =20 1840b6a: 48 81 ec 38 10 00 00 sub $0x1038,%rsp 4152 <_ZN12gori_compute21outgoing_edge_range_pER6irangeP8edge_defP9tree_nodeR11r= ange_query>: 2623c90: 48 81 ec 38 10 00 00 sub $0x1038,%rsp 4136 <_ZN12ranger_cache14range_from_domER6irangeP9tree_nodeP15basic_block_def.pa= rt.0>: 2615dad: 48 81 ec 28 10 00 00 sub $0x1028,%rsp 4136 <_ZN11range_query15get_value_rangeEPK9tree_nodeP6gimple>: 198f5ae:=20= =20=20=20=20=20=20 48 81 ec 28 10 00 00 sub $0x1028,%rsp 4136 <_Z10range_castR6irangeP9tree_node>: 2723b7f: 48 81 ec 28 10 00 0= 0=20=20=20 sub $0x1028,%rsp 4120 <_ZNK13operator_cast10fold_rangeER6irangeP9tree_nodeRKS0_S5_9tree_code= >:=20 273423d: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZN8selftest9read_fileERKNS_8locationEPKc>: 282e24a: 48 81 ec 18= 10 00 00 sub $0x1018,%rsp 4120 <_ZN21simplify_using_ranges9fold_condEP5gcond>: 19dca01: 48 81 ec 18= 10 00 00 sub $0x1018,%rsp 4120 <_ZN20hybrid_jt_simplifier8simplifyEP6gimpleS1_P15basic_block_defP8jt_state= >:=20 18c792b: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZN17block_range_cache4dumpEP8_IO_FILEP15basic_block_defb>: 261585a:= =20=20=20=20 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZN16path_range_query19range_on_path_entryER6irangeP9tree_node>:=20 183fcd6: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZN16path_range_query16ssa_range_in_phiER6irangeP4gphi>: 1840e2a:=20= =20=20=20=20=20=20 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZN13gimple_ranger14range_on_entryER6irangeP15basic_block_defP9tree_node>:= =20 261213a: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZN13gimple_ranger13range_on_edgeER6irangeP8edge_defP9tree_node>:=20 26136c0: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZN12gori_compute35compute_operand1_and_operand2_rangeER6irangeP6gimpleRKS= 0_P9tree_nodeR10fur_source>: 26226cc: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZN11range_query13value_of_exprEP9tree_nodeP6gimple>: 198e565: 48 = 81 ec 18 10 00 00 sub $0x1018,%rsp 4120 <_ZL23verify_speculative_callP11cgraph_nodeP6gimplejP11cgraph_edge>:=20 11c5d23: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4112 <_ZN11range_query13value_on_edgeEP8edge_defP9tree_node>: 198e727: 48 = 81 ec 10 10 00 00 sub $0x1010,%rsp 4112 <_ZN11range_query13value_of_stmtEP6gimpleP9tree_node>: 198e63d: 48 = 81 ec 10 10 00 00 sub $0x1010,%rsp 4104 <_ZN16ssa_global_cache4dumpEP8_IO_FILE>: 261637a: 48 81 ec 08 10 00 0= 0=20=20=20 sub $0x1008,%rsp 4104 <_ZN12ranger_cache17update_to_nonnullEP15basic_block_defP9tree_node>:= =20 26170c9: 48 81 ec 08 10 00 00 sub $0x1008,%rsp 4104 <_ZN11range_query14query_relationEP8edge_defP9tree_nodeS3_b>: 198f45d= :=20=20=20 48 81 ec 08 10 00 00 sub $0x1008,%rsp 4104 <_ZN11range_query14query_relationEP6gimpleP9tree_nodeS3_b>: 198f399:= =20=20=20=20=20 48 81 ec 08 10 00 00 sub $0x1008,%rsp 4096 <_ZNK9vec_usage4dumpEP12mem_locationR9mem_usage>: 282c08e: 48 = 81 ec 00 10 00 00 sub $0x1000,%rsp 4096 <_ZN8fur_listC1ER6irangeS1_>: 261aa03: 48 81 ec 00 10 00 00 sub= =20=20=20 $0x1000,%rsp 4096 <_ZN8fur_listC1ER6irange>: 261a936: 48 81 ec 00 10 00 00 sub= =20=20=20 $0x1000,%rsp 4096 <_ZN16ssa_block_ranges4dumpEP8_IO_FILE>: 2614c84: 48 81 ec 00 10 00 0= 0=20=20=20 sub $0x1000,%rsp 4096 <_ZN13back_threader22find_taken_edge_switchERK3vecIP15basic_block_def7va_he= ap6vl_ptrEP7gswitch>: 18c3a6a: 48 81 ec 00 10 00 00 sub $0x1000,%rsp 4096 <_Z17debug_seed_rangerR13gimple_ranger>: 2624aa7: 48 81 ec 00 10 00 0= 0=20=20=20 sub $0x1000,%rsp 4096 : 28bf1f8: 48 81 ec 00 10 00 00 sub $0x1000,%rsp Even there ranger occupies the highest spots due to int_range_max. Compare to GCC 10: objdump -dr cc1plus | grep '>:\|sub.*0x.*[0-9a-f][0-9a-f][0-9a-f][0-9a-f],.*rsp' | awk '/>:/{I=3D$2}/sub.*rsp/{J=3Dgensub(/.*(0x[0-9a-f]+),%rsp/,"\\1","1",$0);K= =3Dstrtonum(J);printf "%d %s %s\n", K, I, $0}' | grep -v 0xffffffffffff | sort -nr 5384 <_Z32ix86_valid_target_attribute_treeP9tree_nodeS0_P11gcc_optionsS2_b>= :=20 1634edd: 48 81 ec 08 15 00 00 sub $0x1508,%rsp 5384 <_Z11inline_callP11cgraph_edgebP3vecIS0_7va_heap6vl_ptrEPibPb>: 10547= 30:=20 48 81 ec 08 15 00 00 sub $0x1508,%rsp 5336 <_Z29ix86_valid_target_attribute_pP9tree_nodeS0_S0_i>: 163519d: 48 = 81 ec d8 14 00 00 sub $0x14d8,%rsp 4952 <_ZL18cselib_record_setsP8rtx_insn>: e1a65d: 48 81 ec 58 13 00 0= 0=20=20=20 sub $0x1358,%rsp 4360 : 1e4a72f: 48 81 ec 08 11 00 00 sub $0x1108,%rsp 4120 <_ZN8selftest9read_fileERKNS_8locationEPKc>: 1dd05da: 48 81 ec 18= 10 00 00 sub $0x1018,%rsp 4120 <_ZL23verify_speculative_callP11cgraph_nodeP6gimplejP11cgraph_edge>:= =20=20 df91d2: 48 81 ec 18 10 00 00 sub $0x1018,%rsp 4096 <_ZNK9vec_usage4dumpEP12mem_locationR9mem_usage>: 1dce49e: 48 = 81 ec 00 10 00 00 sub $0x1000,%rsp 4096 : 1e50b78: 48 81 ec 00 10 00 00 sub $0x1000,%rsp Usual Linux stack is around 8MB, but e.g. on Windows I think just 2MB.=