{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":22711503,"defaultBranch":"master","name":"gcc","ownerLogin":"gcc-mirror","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-08-07T06:50:37.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/8382043?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716279098.0","currentOid":""},"activityList":{"items":[{"before":"d9c90c82d900fdae95df4499bf5f0a4ecb903b53","after":"0ac802064c2a018cf166c37841697e867de65a95","ref":"refs/heads/trunk","pushedAt":"2024-05-31T14:15:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"alpha: Fix invalid RTX in divmodsi insn patterns [PR115297]\n\nany_divmod instructions are modelled with invalid RTX:\n\n [(set (match_operand:DI 0 \"register_operand\" \"=c\")\n (sign_extend:DI (match_operator:SI 3 \"divmod_operator\"\n [(match_operand:DI 1 \"register_operand\" \"a\")\n (match_operand:DI 2 \"register_operand\" \"b\")])))\n (clobber (reg:DI 23))\n (clobber (reg:DI 28))]\n\nwhere SImode divmod_operator (div,mod,udiv,umod) has DImode operands.\n\nWrap input operand with truncate:SI to make machine modes consistent.\n\n\tPR target/115297\n\ngcc/ChangeLog:\n\n\t* config/alpha/alpha.md (si3): Wrap DImode\n\toperands 3 and 4 with truncate:SI RTX.\n\t(*divmodsi_internal_er): Ditto for operands 1 and 2.\n\t(*divmodsi_internal_er_1): Ditto.\n\t(*divmodsi_internal): Ditto.\n\t* config/alpha/constraints.md (\"b\"): Correct register\n\tnumber in the description.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/alpha/pr115297.c: New test.","shortMessageHtmlLink":"alpha: Fix invalid RTX in divmodsi insn patterns [PR115297]"}},{"before":"d9c90c82d900fdae95df4499bf5f0a4ecb903b53","after":"0ac802064c2a018cf166c37841697e867de65a95","ref":"refs/heads/master","pushedAt":"2024-05-31T14:15:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"alpha: Fix invalid RTX in divmodsi insn patterns [PR115297]\n\nany_divmod instructions are modelled with invalid RTX:\n\n [(set (match_operand:DI 0 \"register_operand\" \"=c\")\n (sign_extend:DI (match_operator:SI 3 \"divmod_operator\"\n [(match_operand:DI 1 \"register_operand\" \"a\")\n (match_operand:DI 2 \"register_operand\" \"b\")])))\n (clobber (reg:DI 23))\n (clobber (reg:DI 28))]\n\nwhere SImode divmod_operator (div,mod,udiv,umod) has DImode operands.\n\nWrap input operand with truncate:SI to make machine modes consistent.\n\n\tPR target/115297\n\ngcc/ChangeLog:\n\n\t* config/alpha/alpha.md (si3): Wrap DImode\n\toperands 3 and 4 with truncate:SI RTX.\n\t(*divmodsi_internal_er): Ditto for operands 1 and 2.\n\t(*divmodsi_internal_er_1): Ditto.\n\t(*divmodsi_internal): Ditto.\n\t* config/alpha/constraints.md (\"b\"): Correct register\n\tnumber in the description.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/alpha/pr115297.c: New test.","shortMessageHtmlLink":"alpha: Fix invalid RTX in divmodsi insn patterns [PR115297]"}},{"before":"65dbe0ab7cdaf2aa84b09a74e594f0faacf1945c","after":"d9c90c82d900fdae95df4499bf5f0a4ecb903b53","ref":"refs/heads/trunk","pushedAt":"2024-05-31T13:24:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"nvptx target: Global constructor, destructor support, via nvptx-tools 'ld'\n\nThe function attributes 'constructor', 'destructor', and 'init_priority' now\nwork, as do the C++ features making use of this. Test cases with effective\ntarget 'global_constructor' and 'init_priority' now generally work, and\n'check-gcc-c++' test results greatly improve; no more\n\"sorry, unimplemented: global constructors not supported on this target\".\n\nFor proper execution test results, this depends on\n\n\"ld: Global constructor/destructor support\".\n\n\tgcc/\n\t* config/nvptx/nvptx.h: Configure global constructor, destructor\n\tsupport.\n\tgcc/testsuite/\n\t* gcc.dg/no_profile_instrument_function-attr-1.c: GCC/nvptx is\n\t'NO_DOT_IN_LABEL' but not 'NO_DOLLAR_IN_LABEL', so '$' may apper\n\tin identifiers.\n\t* lib/target-supports.exp\n\t(check_effective_target_global_constructor): Enable for nvptx.\n\tlibgcc/\n\t* config/nvptx/crt0.c (__gbl_ctors): New weak function.\n\t(__main): Invoke it.\n\t* config/nvptx/gbl-ctors.c: New.\n\t* config/nvptx/t-nvptx: Configure global constructor, destructor\n\tsupport.","shortMessageHtmlLink":"nvptx target: Global constructor, destructor support, via nvptx-tools…"}},{"before":"65dbe0ab7cdaf2aa84b09a74e594f0faacf1945c","after":"d9c90c82d900fdae95df4499bf5f0a4ecb903b53","ref":"refs/heads/master","pushedAt":"2024-05-31T13:24:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"nvptx target: Global constructor, destructor support, via nvptx-tools 'ld'\n\nThe function attributes 'constructor', 'destructor', and 'init_priority' now\nwork, as do the C++ features making use of this. Test cases with effective\ntarget 'global_constructor' and 'init_priority' now generally work, and\n'check-gcc-c++' test results greatly improve; no more\n\"sorry, unimplemented: global constructors not supported on this target\".\n\nFor proper execution test results, this depends on\n\n\"ld: Global constructor/destructor support\".\n\n\tgcc/\n\t* config/nvptx/nvptx.h: Configure global constructor, destructor\n\tsupport.\n\tgcc/testsuite/\n\t* gcc.dg/no_profile_instrument_function-attr-1.c: GCC/nvptx is\n\t'NO_DOT_IN_LABEL' but not 'NO_DOLLAR_IN_LABEL', so '$' may apper\n\tin identifiers.\n\t* lib/target-supports.exp\n\t(check_effective_target_global_constructor): Enable for nvptx.\n\tlibgcc/\n\t* config/nvptx/crt0.c (__gbl_ctors): New weak function.\n\t(__main): Invoke it.\n\t* config/nvptx/gbl-ctors.c: New.\n\t* config/nvptx/t-nvptx: Configure global constructor, destructor\n\tsupport.","shortMessageHtmlLink":"nvptx target: Global constructor, destructor support, via nvptx-tools…"}},{"before":"e0ab5ee9bed5cbad9ae344a23ff0d302b8279d32","after":"65dbe0ab7cdaf2aa84b09a74e594f0faacf1945c","ref":"refs/heads/trunk","pushedAt":"2024-05-31T12:32:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"tree-optimization/115278 - fix DSE in if-conversion wrt volatiles\n\nThe following adds the missing guard for volatile stores to the\nembedded DSE in the loop if-conversion pass.\n\n\tPR tree-optimization/115278\n\t* tree-if-conv.cc (ifcvt_local_dce): Do not DSE volatile stores.\n\n\t* g++.dg/vect/pr115278.cc: New testcase.","shortMessageHtmlLink":"tree-optimization/115278 - fix DSE in if-conversion wrt volatiles"}},{"before":"e0ab5ee9bed5cbad9ae344a23ff0d302b8279d32","after":"65dbe0ab7cdaf2aa84b09a74e594f0faacf1945c","ref":"refs/heads/master","pushedAt":"2024-05-31T12:32:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"tree-optimization/115278 - fix DSE in if-conversion wrt volatiles\n\nThe following adds the missing guard for volatile stores to the\nembedded DSE in the loop if-conversion pass.\n\n\tPR tree-optimization/115278\n\t* tree-if-conv.cc (ifcvt_local_dce): Do not DSE volatile stores.\n\n\t* g++.dg/vect/pr115278.cc: New testcase.","shortMessageHtmlLink":"tree-optimization/115278 - fix DSE in if-conversion wrt volatiles"}},{"before":"37fafc63e732c51900d2d998b6df6433d9ca6e2f","after":"e0ab5ee9bed5cbad9ae344a23ff0d302b8279d32","ref":"refs/heads/trunk","pushedAt":"2024-05-31T10:24:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"fix: valid compiler optimization may fail the test\n\ncxa4001 may fail with \"Exception not raised\" when the compiler omits the\ncalls to To_Mapping, in accordance with 10.2.1(18/3):\n\n \"If a library unit is declared pure, then the implementation is\n permitted to omit a call on a library-level subprogram of the library\n unit if the results are not needed after the call\"\n\nUsing the result of both To_Mapping calls prevents the compiler from\nomitting them.\n\n\"The corrected test will be available on the ACAA web site\n(http://www.ada-auth.org/), and will be issued with the Modified Tests List\nversion 2.6K, 3.1DD, and 4.1GG.\"\n\ngcc/testsuite/ChangeLog:\n\n\t* ada/acats/tests/cxa/cxa4001.a: Use function result.","shortMessageHtmlLink":"fix: valid compiler optimization may fail the test"}},{"before":"37fafc63e732c51900d2d998b6df6433d9ca6e2f","after":"e0ab5ee9bed5cbad9ae344a23ff0d302b8279d32","ref":"refs/heads/master","pushedAt":"2024-05-31T10:24:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"fix: valid compiler optimization may fail the test\n\ncxa4001 may fail with \"Exception not raised\" when the compiler omits the\ncalls to To_Mapping, in accordance with 10.2.1(18/3):\n\n \"If a library unit is declared pure, then the implementation is\n permitted to omit a call on a library-level subprogram of the library\n unit if the results are not needed after the call\"\n\nUsing the result of both To_Mapping calls prevents the compiler from\nomitting them.\n\n\"The corrected test will be available on the ACAA web site\n(http://www.ada-auth.org/), and will be issued with the Modified Tests List\nversion 2.6K, 3.1DD, and 4.1GG.\"\n\ngcc/testsuite/ChangeLog:\n\n\t* ada/acats/tests/cxa/cxa4001.a: Use function result.","shortMessageHtmlLink":"fix: valid compiler optimization may fail the test"}},{"before":"a0d60660f2aae2d79685f73d568facb2397582d8","after":"37fafc63e732c51900d2d998b6df6433d9ca6e2f","ref":"refs/heads/trunk","pushedAt":"2024-05-31T09:34:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"build: Include minor version in config.gcc unsupported message\n\nIt has been pointed out to me that when moving Solaris 11.3 from\nconfig.gcc's obsolete to unsupported list, I'd forgotten to also move\nthe minor version info, leading to confusing\n\n*** Configuration i386-pc-solaris2.11 not supported\n\ninstead of the correct\n\n*** Configuration i386-pc-solaris2.11.3 not supported\n\nThis patch fixes this oversight.\n\nTested on i386-pc-solaris2.11 (11.3 and 11.4).\n\n2024-05-30 Rainer Orth \n\n\tgcc:\n\t* config.gcc: Move ${target_min} from obsolete to unsupported\n\tmessage.","shortMessageHtmlLink":"build: Include minor version in config.gcc unsupported message"}},{"before":"a0d60660f2aae2d79685f73d568facb2397582d8","after":"37fafc63e732c51900d2d998b6df6433d9ca6e2f","ref":"refs/heads/master","pushedAt":"2024-05-31T09:34:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"build: Include minor version in config.gcc unsupported message\n\nIt has been pointed out to me that when moving Solaris 11.3 from\nconfig.gcc's obsolete to unsupported list, I'd forgotten to also move\nthe minor version info, leading to confusing\n\n*** Configuration i386-pc-solaris2.11 not supported\n\ninstead of the correct\n\n*** Configuration i386-pc-solaris2.11.3 not supported\n\nThis patch fixes this oversight.\n\nTested on i386-pc-solaris2.11 (11.3 and 11.4).\n\n2024-05-30 Rainer Orth \n\n\tgcc:\n\t* config.gcc: Move ${target_min} from obsolete to unsupported\n\tmessage.","shortMessageHtmlLink":"build: Include minor version in config.gcc unsupported message"}},{"before":"7e322d576eb6a87607215196bec62d3348e65b0e","after":"a0d60660f2aae2d79685f73d568facb2397582d8","ref":"refs/heads/trunk","pushedAt":"2024-05-31T08:16:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Fix some opindex for some options [PR115022]\n\nWhile looking at the index I noticed that some options had\n`-` in the front for the index which is wrong. And then\nI noticed there was no index for `mcmodel=` for targets or had\nused `-mcmodel` incorrectly.\n\nThis fixes both of those and regnerates the urls files see that\n`-mcmodel=` option now has an url associated with it.\n\ngcc/ChangeLog:\n\n\tPR target/115022\n\t* doc/invoke.texi (fstrub=disable): Fix opindex.\n\t(minline-memops-threshold): Fix opindex.\n\t(mcmodel=): Add opindex and fix them.\n\t* common.opt.urls: Regenerate.\n\t* config/aarch64/aarch64.opt.urls: Regenerate.\n\t* config/bpf/bpf.opt.urls: Regenerate.\n\t* config/i386/i386.opt.urls: Regenerate.\n\t* config/loongarch/loongarch.opt.urls: Regenerate.\n\t* config/nds32/nds32-elf.opt.urls: Regenerate.\n\t* config/nds32/nds32-linux.opt.urls: Regenerate.\n\t* config/or1k/or1k.opt.urls: Regenerate.\n\t* config/riscv/riscv.opt.urls: Regenerate.\n\t* config/rs6000/aix64.opt.urls: Regenerate.\n\t* config/rs6000/linux64.opt.urls: Regenerate.\n\t* config/sparc/sparc.opt.urls: Regenerate.\n\nSigned-off-by: Andrew Pinski ","shortMessageHtmlLink":"Fix some opindex for some options [PR115022]"}},{"before":"7e322d576eb6a87607215196bec62d3348e65b0e","after":"a0d60660f2aae2d79685f73d568facb2397582d8","ref":"refs/heads/master","pushedAt":"2024-05-31T08:16:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Fix some opindex for some options [PR115022]\n\nWhile looking at the index I noticed that some options had\n`-` in the front for the index which is wrong. And then\nI noticed there was no index for `mcmodel=` for targets or had\nused `-mcmodel` incorrectly.\n\nThis fixes both of those and regnerates the urls files see that\n`-mcmodel=` option now has an url associated with it.\n\ngcc/ChangeLog:\n\n\tPR target/115022\n\t* doc/invoke.texi (fstrub=disable): Fix opindex.\n\t(minline-memops-threshold): Fix opindex.\n\t(mcmodel=): Add opindex and fix them.\n\t* common.opt.urls: Regenerate.\n\t* config/aarch64/aarch64.opt.urls: Regenerate.\n\t* config/bpf/bpf.opt.urls: Regenerate.\n\t* config/i386/i386.opt.urls: Regenerate.\n\t* config/loongarch/loongarch.opt.urls: Regenerate.\n\t* config/nds32/nds32-elf.opt.urls: Regenerate.\n\t* config/nds32/nds32-linux.opt.urls: Regenerate.\n\t* config/or1k/or1k.opt.urls: Regenerate.\n\t* config/riscv/riscv.opt.urls: Regenerate.\n\t* config/rs6000/aix64.opt.urls: Regenerate.\n\t* config/rs6000/linux64.opt.urls: Regenerate.\n\t* config/sparc/sparc.opt.urls: Regenerate.\n\nSigned-off-by: Andrew Pinski ","shortMessageHtmlLink":"Fix some opindex for some options [PR115022]"}},{"before":"1b58f46ba2079b327580ffa1720c0b40ab3db74d","after":"7e322d576eb6a87607215196bec62d3348e65b0e","ref":"refs/heads/trunk","pushedAt":"2024-05-31T07:50:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"testsuite: Adjust several dg-additional-files-options calls [PR115294]\n\nA recent patch\n\ncommit bdc264a16e327c63d133131a695a202fbbc0a6a0\nAuthor: Alexandre Oliva \nDate: Thu May 30 02:06:48 2024 -0300\n\n [testsuite] conditionalize dg-additional-sources on target and type\n\nadded two additional args to dg-additional-files-options.\nUnfortunately, this completely broke several testsuites like\n\nERROR: tcl error sourcing /vol/gcc/src/hg/master/local/libatomic/testsuite/../../gcc/testsuite/lib/gcc-dg.exp.\nwrong # args: should be \"dg-additional-files-options options source dest type\"\n\nsince the patch forgot to adjust some of the callers.\n\nThis patch fixes that.\n\nTested on i386-pc-solaris2.11, sparc-sun-solaris2.11, and\nx86_64-pc-linux-gnu.\n\n2024-05-31 Rainer Orth \n\n\tlibatomic:\n\tPR testsuite/115294\n\t* testsuite/lib/libatomic.exp (libatomic_target_compile): Pass new\n\tdg-additional-files-options args.\n\n\tlibgomp:\n\tPR testsuite/115294\n\t* testsuite/lib/libgomp.exp (libgomp_target_compile): Pass new\n\tdg-additional-files-options args.\n\n\tlibitm:\n\tPR testsuite/115294\n\t* testsuite/lib/libitm.exp (libitm_target_compile): Pass new\n\tdg-additional-files-options args.\n\n\tlibphobos:\n\tPR testsuite/115294\n\t* testsuite/lib/libphobos.exp (libphobos_target_compile): Pass new\n\tdg-additional-files-options args.\n\n\tlibvtv:\n\tPR testsuite/115294\n\t* testsuite/lib/libvtv.exp (libvtv_target_compile): Pass new\n\tdg-additional-files-options args.","shortMessageHtmlLink":"testsuite: Adjust several dg-additional-files-options calls [PR115294]"}},{"before":"1b58f46ba2079b327580ffa1720c0b40ab3db74d","after":"7e322d576eb6a87607215196bec62d3348e65b0e","ref":"refs/heads/master","pushedAt":"2024-05-31T07:50:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"testsuite: Adjust several dg-additional-files-options calls [PR115294]\n\nA recent patch\n\ncommit bdc264a16e327c63d133131a695a202fbbc0a6a0\nAuthor: Alexandre Oliva \nDate: Thu May 30 02:06:48 2024 -0300\n\n [testsuite] conditionalize dg-additional-sources on target and type\n\nadded two additional args to dg-additional-files-options.\nUnfortunately, this completely broke several testsuites like\n\nERROR: tcl error sourcing /vol/gcc/src/hg/master/local/libatomic/testsuite/../../gcc/testsuite/lib/gcc-dg.exp.\nwrong # args: should be \"dg-additional-files-options options source dest type\"\n\nsince the patch forgot to adjust some of the callers.\n\nThis patch fixes that.\n\nTested on i386-pc-solaris2.11, sparc-sun-solaris2.11, and\nx86_64-pc-linux-gnu.\n\n2024-05-31 Rainer Orth \n\n\tlibatomic:\n\tPR testsuite/115294\n\t* testsuite/lib/libatomic.exp (libatomic_target_compile): Pass new\n\tdg-additional-files-options args.\n\n\tlibgomp:\n\tPR testsuite/115294\n\t* testsuite/lib/libgomp.exp (libgomp_target_compile): Pass new\n\tdg-additional-files-options args.\n\n\tlibitm:\n\tPR testsuite/115294\n\t* testsuite/lib/libitm.exp (libitm_target_compile): Pass new\n\tdg-additional-files-options args.\n\n\tlibphobos:\n\tPR testsuite/115294\n\t* testsuite/lib/libphobos.exp (libphobos_target_compile): Pass new\n\tdg-additional-files-options args.\n\n\tlibvtv:\n\tPR testsuite/115294\n\t* testsuite/lib/libvtv.exp (libvtv_target_compile): Pass new\n\tdg-additional-files-options args.","shortMessageHtmlLink":"testsuite: Adjust several dg-additional-files-options calls [PR115294]"}},{"before":"cd161b335c2723d0dce1cab00ad216b423ec2767","after":"36575f5fe491d86b6851ff3f47cbfb7dad0fc8ae","ref":"refs/heads/releases/gcc-14","pushedAt":"2024-05-31T07:24:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"vect: Fix access size alignment assumption [PR115192]\n\ncreate_intersect_range_checks checks whether two access ranges\na and b are alias-free using something equivalent to:\n\n end_a <= start_b || end_b <= start_a\n\nIt has two ways of doing this: a \"vanilla\" way that calculates\nthe exact exclusive end pointers, and another way that uses the\nlast inclusive aligned pointers (and changes the comparisons\naccordingly). The comment for the latter is:\n\n /* Calculate the minimum alignment shared by all four pointers,\n\t then arrange for this alignment to be subtracted from the\n\t exclusive maximum values to get inclusive maximum values.\n\t This \"- min_align\" is cumulative with a \"+ access_size\"\n\t in the calculation of the maximum values. In the best\n\t (and common) case, the two cancel each other out, leaving\n\t us with an inclusive bound based only on seg_len. In the\n\t worst case we're simply adding a smaller number than before.\n\nThe problem is that the associated code implicitly assumed that the\naccess size was a multiple of the pointer alignment, and so the\nalignment could be carried over to the exclusive end pointer.\n\nThe testcase started failing after g:9fa5b473b5b8e289b6542\nbecause that commit improved the alignment information for\nthe accesses.\n\ngcc/\n\tPR tree-optimization/115192\n\t* tree-data-ref.cc (create_intersect_range_checks): Take the\n\talignment of the access sizes into account.\n\ngcc/testsuite/\n\tPR tree-optimization/115192\n\t* gcc.dg/vect/pr115192.c: New test.\n\n(cherry picked from commit a0fe4fb1c8d7804515845dd5d2a814b3c7a1ccba)","shortMessageHtmlLink":"vect: Fix access size alignment assumption [PR115192]"}},{"before":"d2cfe8a73b3c4195a25cde28e1641ef36ebb08c1","after":"1b58f46ba2079b327580ffa1720c0b40ab3db74d","ref":"refs/heads/trunk","pushedAt":"2024-05-31T06:34:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"xtensa: Use epilogue_completed rather than cfun->machine->epilogue_done\n\nIn commit ad89d820bf, an \"epilogue_done\" member was added to the\nmachine_function structure, but it is sufficient to use the existing\n\"epilogue_completed\" global variable.\n\ngcc/ChangeLog:\n\n\t* config/xtensa/xtensa-protos.h\n\t(xtensa_use_return_instruction_p): Remove.\n\t* config/xtensa/xtensa.cc\n\t(machine_function): Remove \"epilogue_done\" field.\n\t(xtensa_expand_epilogue): Remove \"cfun->machine->epilogue_done\" usage.\n\t(xtensa_use_return_instruction_p): Remove.\n\t* config/xtensa/xtensa.md (\"return\"):\n\tReplace calling \"xtensa_use_return_instruction_p()\" with inline code.","shortMessageHtmlLink":"xtensa: Use epilogue_completed rather than cfun->machine->epilogue_done"}},{"before":"d2cfe8a73b3c4195a25cde28e1641ef36ebb08c1","after":"1b58f46ba2079b327580ffa1720c0b40ab3db74d","ref":"refs/heads/master","pushedAt":"2024-05-31T06:34:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"xtensa: Use epilogue_completed rather than cfun->machine->epilogue_done\n\nIn commit ad89d820bf, an \"epilogue_done\" member was added to the\nmachine_function structure, but it is sufficient to use the existing\n\"epilogue_completed\" global variable.\n\ngcc/ChangeLog:\n\n\t* config/xtensa/xtensa-protos.h\n\t(xtensa_use_return_instruction_p): Remove.\n\t* config/xtensa/xtensa.cc\n\t(machine_function): Remove \"epilogue_done\" field.\n\t(xtensa_expand_epilogue): Remove \"cfun->machine->epilogue_done\" usage.\n\t(xtensa_use_return_instruction_p): Remove.\n\t* config/xtensa/xtensa.md (\"return\"):\n\tReplace calling \"xtensa_use_return_instruction_p()\" with inline code.","shortMessageHtmlLink":"xtensa: Use epilogue_completed rather than cfun->machine->epilogue_done"}},{"before":"3a873c0a7bc8183de95a6103b507101a25eed413","after":"d2cfe8a73b3c4195a25cde28e1641ef36ebb08c1","ref":"refs/heads/trunk","pushedAt":"2024-05-31T05:17:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"C23: allow aliasing for types derived from structs with variable size\n\nPreviously, we set the aliasing set of structures with variable size\n\nstruct foo { int x[n]; char b; };\n\nto zero. The reason is that such types can be compatible to diffrent\nstructure types which are incompatible.\n\nstruct foo { int x[2]; char b; };\nstruct foo { int x[3]; char b; };\n\nBut it is not enough to set the aliasing set to zero, because derived\ntypes would then still end up in different equivalence classes even\nthough they might be compatible. Instead those types should be set\nto structural equivalency. We also add checking assertions that\nensure that TYPE_CANONICAL is set correctly for all tagged types.\n\ngcc/c/\n\t* c-decl.cc (finish_struct): Do not set TYPE_CANONICAL for\n\tstructure or unions with variable size.\n\t* c-objc-common.cc (c_get_alias_set): Do not set alias set to zero.\n\t* c-typeck.cc (comptypes_verify): New function.\n\t(comptypes,comptypes_same_p,comptypes_check_enum_int): Add assertion.\n\t(comptypes_equiv_p): Add assertion that ensures that compatible\n\ttypes have the same equivalence class.\n\t(tagged_types_tu_compatible_p): Remove now unneeded special case.\n\ngcc/testsuite/\n\t* gcc.dg/gnu23-tag-alias-8.c: New test.","shortMessageHtmlLink":"C23: allow aliasing for types derived from structs with variable size"}},{"before":"3a873c0a7bc8183de95a6103b507101a25eed413","after":"d2cfe8a73b3c4195a25cde28e1641ef36ebb08c1","ref":"refs/heads/master","pushedAt":"2024-05-31T05:17:38.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"C23: allow aliasing for types derived from structs with variable size\n\nPreviously, we set the aliasing set of structures with variable size\n\nstruct foo { int x[n]; char b; };\n\nto zero. The reason is that such types can be compatible to diffrent\nstructure types which are incompatible.\n\nstruct foo { int x[2]; char b; };\nstruct foo { int x[3]; char b; };\n\nBut it is not enough to set the aliasing set to zero, because derived\ntypes would then still end up in different equivalence classes even\nthough they might be compatible. Instead those types should be set\nto structural equivalency. We also add checking assertions that\nensure that TYPE_CANONICAL is set correctly for all tagged types.\n\ngcc/c/\n\t* c-decl.cc (finish_struct): Do not set TYPE_CANONICAL for\n\tstructure or unions with variable size.\n\t* c-objc-common.cc (c_get_alias_set): Do not set alias set to zero.\n\t* c-typeck.cc (comptypes_verify): New function.\n\t(comptypes,comptypes_same_p,comptypes_check_enum_int): Add assertion.\n\t(comptypes_equiv_p): Add assertion that ensures that compatible\n\ttypes have the same equivalence class.\n\t(tagged_types_tu_compatible_p): Remove now unneeded special case.\n\ngcc/testsuite/\n\t* gcc.dg/gnu23-tag-alias-8.c: New test.","shortMessageHtmlLink":"C23: allow aliasing for types derived from structs with variable size"}},{"before":"d0fb9d292fd251f5815496ff9abf6d0636a0c767","after":"173f8763a66622f2a70ad66f60573fcff7d6b49e","ref":"refs/heads/releases/gcc-13","pushedAt":"2024-05-31T03:33:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"i386: Fix ix86_option override after change [PR 113719]\n\nIn ix86_override_options_after_change, calls to ix86_default_align\nand ix86_recompute_optlev_based_flags will cause mismatched target\nopt_set when doing cl_optimization_restore. Move them back to\nix86_option_override_internal to solve the issue.\n\ngcc/ChangeLog:\n\n\tPR target/113719\n\t* config/i386/i386-options.cc (ix86_override_options_after_change):\n\tRemove call to ix86_default_align and\n\tix86_recompute_optlev_based_flags.\n\t(ix86_option_override_internal): Call ix86_default_align and\n\tix86_recompute_optlev_based_flags.\n\n(cherry picked from commit 499d00127d39ba894b0f7216d73660b380bdc325)","shortMessageHtmlLink":"i386: Fix ix86_option override after change [PR 113719]"}},{"before":"06333a181d865e699eb574ee0641d01df74376a0","after":"cd161b335c2723d0dce1cab00ad216b423ec2767","ref":"refs/heads/releases/gcc-14","pushedAt":"2024-05-31T03:33:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"i386: Fix ix86_option override after change [PR 113719]\n\nIn ix86_override_options_after_change, calls to ix86_default_align\nand ix86_recompute_optlev_based_flags will cause mismatched target\nopt_set when doing cl_optimization_restore. Move them back to\nix86_option_override_internal to solve the issue.\n\ngcc/ChangeLog:\n\n\tPR target/113719\n\t* config/i386/i386-options.cc (ix86_override_options_after_change):\n\tRemove call to ix86_default_align and\n\tix86_recompute_optlev_based_flags.\n\t(ix86_option_override_internal): Call ix86_default_align and\n\tix86_recompute_optlev_based_flags.\n\n(cherry picked from commit 499d00127d39ba894b0f7216d73660b380bdc325)","shortMessageHtmlLink":"i386: Fix ix86_option override after change [PR 113719]"}},{"before":"0ab643555c24eddfd692605ca185a04527993a56","after":"3a873c0a7bc8183de95a6103b507101a25eed413","ref":"refs/heads/trunk","pushedAt":"2024-05-31T01:25:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Rename double_u with __double_u to avoid pulluting the namespace.\n\ngcc/ChangeLog:\n\n\t* config/i386/emmintrin.h (__double_u): Rename from double_u.\n\t(_mm_load_sd): Replace double_u with __double_u.\n\t(_mm_store_sd): Ditto.\n\t(_mm_loadh_pd): Ditto.\n\t(_mm_loadl_pd): Ditto.\n\t* config/i386/xmmintrin.h (__float_u): Rename from float_u.\n\t(_mm_load_ss): Ditto.\n\t(_mm_store_ss): Ditto.","shortMessageHtmlLink":"Rename double_u with __double_u to avoid pulluting the namespace."}},{"before":"0ab643555c24eddfd692605ca185a04527993a56","after":"3a873c0a7bc8183de95a6103b507101a25eed413","ref":"refs/heads/master","pushedAt":"2024-05-31T01:25:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Rename double_u with __double_u to avoid pulluting the namespace.\n\ngcc/ChangeLog:\n\n\t* config/i386/emmintrin.h (__double_u): Rename from double_u.\n\t(_mm_load_sd): Replace double_u with __double_u.\n\t(_mm_store_sd): Ditto.\n\t(_mm_loadh_pd): Ditto.\n\t(_mm_loadl_pd): Ditto.\n\t* config/i386/xmmintrin.h (__float_u): Rename from float_u.\n\t(_mm_load_ss): Ditto.\n\t(_mm_store_ss): Ditto.","shortMessageHtmlLink":"Rename double_u with __double_u to avoid pulluting the namespace."}},{"before":"201cfa725587d13867b4dc25955434ebe90aff7b","after":"06333a181d865e699eb574ee0641d01df74376a0","ref":"refs/heads/releases/gcc-14","pushedAt":"2024-05-31T00:34:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Daily bump.","shortMessageHtmlLink":"Daily bump."}},{"before":"e715204f203d318524ae86f3f2a1e8d5d7cb08dc","after":"0ab643555c24eddfd692605ca185a04527993a56","ref":"refs/heads/trunk","pushedAt":"2024-05-31T00:34:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Daily bump.","shortMessageHtmlLink":"Daily bump."}},{"before":"e715204f203d318524ae86f3f2a1e8d5d7cb08dc","after":"0ab643555c24eddfd692605ca185a04527993a56","ref":"refs/heads/master","pushedAt":"2024-05-31T00:34:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Daily bump.","shortMessageHtmlLink":"Daily bump."}},{"before":"1bc4a777b21ae36b116e1842b7c482340ec929ef","after":"338ca0d79b2a910b2c418273b0136f6b8272cb12","ref":"refs/heads/releases/gcc-11","pushedAt":"2024-05-31T00:34:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Daily bump.","shortMessageHtmlLink":"Daily bump."}},{"before":"e26f16424f6279662efb210bc87c77148e956fed","after":"b5291b7034513ac6ac78289405f40853b7d51393","ref":"refs/heads/releases/gcc-12","pushedAt":"2024-05-31T00:34:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Daily bump.","shortMessageHtmlLink":"Daily bump."}},{"before":"3be8fa7b19d218ca5812d71801e3e83ee2260ea0","after":"d0fb9d292fd251f5815496ff9abf6d0636a0c767","ref":"refs/heads/releases/gcc-13","pushedAt":"2024-05-31T00:34:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"Daily bump.","shortMessageHtmlLink":"Daily bump."}},{"before":"46d931b3dd31cbba7c3355ada63f155aa24a4e2b","after":"e715204f203d318524ae86f3f2a1e8d5d7cb08dc","ref":"refs/heads/trunk","pushedAt":"2024-05-30T22:26:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hubot","name":"Hubot","path":"/hubot","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/480938?s=80&v=4"},"commit":{"message":"i386: Rewrite bswaphi2 handling [PR115102]\n\nIntroduce *bswaphi2 instruction pattern and enable bswaphi2 expander\nalso for non-movbe targets. The testcase:\n\nunsigned short bswap8 (unsigned short val)\n{\n return ((val & 0xff00) >> 8) | ((val & 0xff) << 8);\n}\n\nnow expands through bswaphi2 named expander.\n\nRewrite bswaphi_lowpart insn pattern as bswaphisi2_lowpart in the RTX form\nthat combine pass can use to simplify:\n\nTrying 6, 9, 8 -> 10:\n 6: r99:SI=bswap(r103:SI)\n 9: {r107:SI=r103:SI&0xffffffffffff0000;clobber flags:CC;}\n REG_DEAD r103:SI\n REG_UNUSED flags:CC\n 8: {r106:SI=r99:SI 0>>0x10;clobber flags:CC;}\n REG_DEAD r99:SI\n REG_UNUSED flags:CC\n 10: {r104:SI=r106:SI|r107:SI;clobber flags:CC;}\n REG_DEAD r107:SI\n REG_DEAD r106:SI\n REG_UNUSED flags:CC\n\nSuccessfully matched this instruction:\n(set (reg:SI 104 [ _8 ])\n (ior:SI (and:SI (reg/v:SI 103 [ val ])\n (const_int -65536 [0xffffffffffff0000]))\n (lshiftrt:SI (bswap:SI (reg/v:SI 103 [ val ]))\n (const_int 16 [0x10]))))\nallowing combination of insns 6, 8, 9 and 10\n\nwhen compiling the following testcase:\n\nunsigned int bswap8 (unsigned int val)\n{\n return (val & 0xffff0000) | ((val & 0xff00) >> 8) | ((val & 0xff) << 8);\n}\n\nto produce:\n\n\tmovl %edi, %eax\n\txchgb %ah, %al\n\tret\n\nThe expansion now always goes through a clobberless form of the bswaphi\ninstruction. The instruction is conditionally converted to a rotate at\npeephole2 pass. This significantly simplifies bswaphisi2_lowpart\ninsn pattern attributes.\n\n\tPR target/115102\n\ngcc/ChangeLog:\n\n\t* config/i386/i386.md (bswaphi2): Also enable for !TARGET_MOVBE.\n\t(*bswaphi2): New insn pattern.\n\t(bswaphisi2_lowpart): Rename from bswaphi_lowpart. Rewrite\n\tinsn RTX to match the expected form of the combine pass.\n\tRemove rol{w} alternative and corresponding attributes.\n\t(bswsaphisi2_lowpart peephole2): New peephole2 pattern to\n\tconditionally convert bswaphisi2_lowpart to rotlhi3_1_slp.\n\t(bswapsi2): Update expander for rename.\n\t(rotlhi3_1_slp splitter): Conditionally split to bswaphi2.\n\ngcc/testsuite/ChangeLog:\n\n\t* gcc.target/i386/pr115102.c: New test.","shortMessageHtmlLink":"i386: Rewrite bswaphi2 handling [PR115102]"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEWRmM0gA","startCursor":null,"endCursor":null}},"title":"Activity · gcc-mirror/gcc"}