{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":686019034,"defaultBranch":"main","name":"llvm-project","ownerLogin":"sdesmalen-arm","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-09-01T14:42:09.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/36851054?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1725901699.0","currentOid":""},"activityList":{"items":[{"before":"7dd550be0af7ae1ffb806af80c4fd2bc3bc79fd7","after":"5e1a55eaa0bb592dd04f1b8474b8f064aded7b2e","ref":"refs/heads/disable-paired-spill-fill-pei","pushedAt":"2024-09-10T14:41:57.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"tru","name":"Tobias Hieta","path":"/tru","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/35614?s=80&v=4"},"commit":{"message":"[AArch64] Disable SVE paired ld1/st1 for callee-saves.\n\nThe functionality to make use of SVE's load/store pair instructions for\nthe callee-saves is broken because the offsets used in the instructions\nare incorrect.\n\nThis is addressed by #105518 but given the complexity of this code\nand the subtleties around calculating the right offsets, we favour\ndisabling the behaviour altogether for LLVM 19.\n\nThis fix is critical for any programs being compiled with `+sme2`.","shortMessageHtmlLink":"[AArch64] Disable SVE paired ld1/st1 for callee-saves."}},{"before":null,"after":"68a56a401548ecbbdc638b1298b1e89577cd3573","ref":"refs/heads/sme-agnostic-attr","pushedAt":"2024-09-09T17:08:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64][Clang] Add support for __arm_agnostic(\"sme_za_state\")\n\nThis adds support for parsing the attribute and codegen to\nmap it to \"aarch64_za_state_agnostic\" LLVM IR attribute.\n\nThis is proposed in the following PR:\n\n https://github.com/ARM-software/acle/pull/336","shortMessageHtmlLink":"[AArch64][Clang] Add support for __arm_agnostic(\"sme_za_state\")"}},{"before":null,"after":"7dd550be0af7ae1ffb806af80c4fd2bc3bc79fd7","ref":"refs/heads/disable-paired-spill-fill-pei","pushedAt":"2024-09-05T14:18:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Disable SVE paired ld1/st1 for callee-saves.\n\nThe functionality to make use of SVE's load/store pair instructions for\nthe callee-saves is broken because the offsets used in the instructions\nare incorrect.\n\nThis is addressed by #105518 but given the complexity of this code\nand the subtleties around calculating the right offsets, we favour\ndisabling the behaviour altogether for LLVM 19.\n\nThis fix is critical for any programs being compiled with `+sme2`.","shortMessageHtmlLink":"[AArch64] Disable SVE paired ld1/st1 for callee-saves."}},{"before":null,"after":"fb159e17a39b1b9c283523ce7fea5b50e9924db3","ref":"refs/heads/fix_reload_pnr","pushedAt":"2024-09-05T12:42:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Remove redundant COPY from loadRegFromStackSlot\n\nThis removes a redundant 'COPY' instruction that #81716 probably\nforgot to remove.\n\nThis redundant COPY led to an issue because because code in\nLiveRangeSplitting expects that the instruction emitted by\n`loadRegFromStackSlot` is an instruction that accesses memory, which\nisn't the case for the COPY instruction.","shortMessageHtmlLink":"[AArch64] Remove redundant COPY from loadRegFromStackSlot"}},{"before":"15442ff91c753c0856caedcff955007f8fae4b1b","after":null,"ref":"refs/heads/sve-fixed-length-abd","pushedAt":"2024-08-21T19:34:17.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"}},{"before":"55f389e2333ecc14ab46df88594b25a21daa13d8","after":"4c09fafb20fb6c7f354cdb47fd41435af213df0a","ref":"refs/heads/sme-peephole-opt","pushedAt":"2024-08-21T07:34:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Fix failing test before committing","shortMessageHtmlLink":"Fix failing test before committing"}},{"before":null,"after":"15442ff91c753c0856caedcff955007f8fae4b1b","ref":"refs/heads/sve-fixed-length-abd","pushedAt":"2024-08-20T15:06:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Add SVE lowering of fixed-length UABD/SABD","shortMessageHtmlLink":"[AArch64] Add SVE lowering of fixed-length UABD/SABD"}},{"before":"ffa5bb1158f39486d1d84bc5c57de615bfa43119","after":"89a2c38e04e1997ecb8561642092e6ddeec8a51d","ref":"refs/heads/reland-vecreduce-combine","pushedAt":"2024-08-20T14:13:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Only use SVE addv reductions when using SVE for fixed length vectors.\n\nThis avoids the combine for cases where NEON can use a more optimal set of instructions.","shortMessageHtmlLink":"Only use SVE addv reductions when using SVE for fixed length vectors."}},{"before":"a16b9e5842715e34d9800dfe63a1eafd45ed82f2","after":"55f389e2333ecc14ab46df88594b25a21daa13d8","ref":"refs/heads/sme-peephole-opt","pushedAt":"2024-08-20T08:01:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Fix issue where HasStreamingModeChanges may be set to 'false' incorrectly","shortMessageHtmlLink":"Fix issue where HasStreamingModeChanges may be set to 'false' incorre…"}},{"before":"a6559736c5d1f90f61005722c54fbfbda4de80d7","after":"a16b9e5842715e34d9800dfe63a1eafd45ed82f2","ref":"refs/heads/sme-peephole-opt","pushedAt":"2024-08-19T15:18:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Relax restrictions for COPY and refactor\n\nThe restrictions for the COPY nodes were too strict. I couldn't\ncome up with any tests or cases where a COPY on its own would\nresult in any issues.\n\nAlso refactored the code a bit so that we don't need to do any\nanalysis on COPY nodes when the algorithm isn't trying to match a\n'smstart/smstop' sequence.","shortMessageHtmlLink":"Relax restrictions for COPY and refactor"}},{"before":null,"after":"a6559736c5d1f90f61005722c54fbfbda4de80d7","ref":"refs/heads/sme-peephole-opt","pushedAt":"2024-08-16T16:20:36.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Add SME peephole optimizer pass\n\nThis pass removes back-to-back smstart/smstop instructions\nto reduce the number of streaming mode changes in a function.\n\nThe implementation as proposed doesn't aim to solve all problems\nyet and suggests a number of cases that can be optimized in the\nfuture.","shortMessageHtmlLink":"[AArch64] Add SME peephole optimizer pass"}},{"before":"06d01fe9dc58d6ad6de1e7fb31781859c0312271","after":"ffa5bb1158f39486d1d84bc5c57de615bfa43119","ref":"refs/heads/reland-vecreduce-combine","pushedAt":"2024-08-07T15:46:05.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64][SVE] Fold zero-extend into add reduction.\n\nThe original pull-request #97339 from @dtemirbulatov got reverted due\nto some regressions with NEON. This PR removes the additional type\nlegalisation for vectors that are too wide, which should make this\nchange less contentious.","shortMessageHtmlLink":"[AArch64][SVE] Fold zero-extend into add reduction."}},{"before":null,"after":"06d01fe9dc58d6ad6de1e7fb31781859c0312271","ref":"refs/heads/reland-vecreduce-combine","pushedAt":"2024-08-02T15:52:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64][SVE] Fold zero-extend into add reduction.\n\nThe original pull-request #97339 from @dtemirbulatov got reverted due\nto some regressions with NEON. This PR adds a few more checks to ensure\nthose regressions don't occur.","shortMessageHtmlLink":"[AArch64][SVE] Fold zero-extend into add reduction."}},{"before":null,"after":"0cc64169015f469e174506c7eb92ee01032c5d11","ref":"refs/heads/sme-dont-emit-neon-dot-in-streaming-mode","pushedAt":"2024-08-02T13:52:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Avoid NEON dot product in streaming[-compatible] functions.\n\nA follow-up patch will improve codegen for these functions.","shortMessageHtmlLink":"[AArch64] Avoid NEON dot product in streaming[-compatible] functions."}},{"before":"67a55e01e3f13d6ea5be917765a4171cd68cb5ac","after":"7088a5ed880f29129ec844c66068e8cb61ca98bf","ref":"refs/heads/main","pushedAt":"2024-08-01T08:34:05.000Z","pushType":"push","commitsCount":532,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[lldb][FreeBSD] Fix NativeRegisterContextFreeBSD_{arm,mips64,powerpc} declarations (#101403)\n\nSimilar to #97796, fix the type of the `native_thread` parameter for the\r\narm, mips64 and powerpc variants of `NativeRegisterContextFreeBSD_*`.\r\n\r\nOtherwise, this leads to compile errors similar to:\r\n\r\n```\r\nlldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_powerpc.cpp:85:39: error: out-of-line definition of 'NativeRegisterContextFreeBSD_powerpc' does not match any declaration in 'lldb_private::process_freebsd::NativeRegisterContextFreeBSD_powerpc'\r\n 85 | NativeRegisterContextFreeBSD_powerpc::NativeRegisterContextFreeBSD_powerpc(\r\n | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\r\n```","shortMessageHtmlLink":"[lldb][FreeBSD] Fix NativeRegisterContextFreeBSD_{arm,mips64,powerpc}…"}},{"before":null,"after":"4ee7c8af3da910bc703653fda3a06a5b0b70fc30","ref":"refs/heads/sme-inline-preserve-zt0","pushedAt":"2024-07-31T14:37:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Avoid inlining if ZT0 needs preserving.\n\nInlining may result in different behaviour when the callee clobbers ZT0,\nbecause normally the call-site will have code to preserve ZT0. When inlining\nthe function this code to preserve ZT0 will no longer be emitted, and so the\nresulting behaviour of the program is changed.","shortMessageHtmlLink":"[AArch64] Avoid inlining if ZT0 needs preserving."}},{"before":null,"after":"692d4b316c74daaf18819095f23c29e4bb808b26","ref":"refs/heads/reland_100991","pushedAt":"2024-07-29T09:52:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Reland: \"[Clang] Demote always_inline error to warning for mismatching SME attrs\" (#100991)\n\nTest `aarch64-sme-inline-streaming-attrs.c` caused some buildbot failures,\nbecause the test was missing a `REQUIRES: aarch64-registered target`.\nThis was because we've demoted the error to a warning, which then resulted\nin a different error message, because Clang can't actually CodeGen the IR.","shortMessageHtmlLink":"Reland: \"[Clang] Demote always_inline error to warning for mismatchin…"}},{"before":"4ddaab2b01cba285b6dd3349efa4283bfee30580","after":"377b19c69645e7ca525f61b14dbf17bbdbee3df1","ref":"refs/heads/sme-demote-always-inline-error","pushedAt":"2024-07-26T15:33:55.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Rephrase warning","shortMessageHtmlLink":"Rephrase warning"}},{"before":"596654157c6e1124d5eac9fd415d957179897b90","after":"4ddaab2b01cba285b6dd3349efa4283bfee30580","ref":"refs/heads/sme-demote-always-inline-error","pushedAt":"2024-07-26T14:11:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Rephrase warning","shortMessageHtmlLink":"Rephrase warning"}},{"before":null,"after":"596654157c6e1124d5eac9fd415d957179897b90","ref":"refs/heads/sme-demote-always-inline-error","pushedAt":"2024-07-26T13:26:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[Clang] Demote always_inline error to warning for mismatching SME attrs\n\nPR #77936 introduced a diagnostic to avoid calls being inlined into\nfunctions with a different streaming mode, because inlining those\nfunctions may result in different runtime behaviour. This was necessary\nbecause LLVM doesn't check whether inlining is possible and thus blindly\ninlines the function without checking feasibility.\n\nIn practice however, this introduces an artificial restriction that the\nuser may not be able to work around. Calling an `always_inline` function\nfrom some header file that is out of the control of the user would\nresult in an error that the user cannot remedy.\n\nTherefore, this patch demotes the error into a warning (for calls from\nstreaming[-compatible] -> non-streaming), but the proper fix would be to\nfix the AlwaysInliner in LLVM to avoid inlining when it has analyzed the\ncallee and has determined that inlining is not possible.\n\nCalling an always_inline function for calls from non-streaming ->\nstreaming will remain an error, because there is little pre-existing\ncode for SME, so it is expected that the header file can be modified by\nthe user (e.g. by using `__arm_streaming_compatible` if the code is\nclaimed to be compatible).","shortMessageHtmlLink":"[Clang] Demote always_inline error to warning for mismatching SME attrs"}},{"before":"5ca368501ae81ca364f66ee6053aa4f8104fdbdd","after":"67a55e01e3f13d6ea5be917765a4171cd68cb5ac","ref":"refs/heads/main","pushedAt":"2024-07-26T13:24:27.000Z","pushType":"push","commitsCount":8079,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[VPlan] Replace getBestPlan by getBestVF use also for epilogue vec. (#98821)\n\nReplace getBestPlan by getBestVF which simply finds the best\r\nVF out of the VFs for the available VPlans.\r\n\r\nThen use getBestPlan to retrieve the corresponding VPlan.\r\n\r\nThis allows using getBestVF & getBestPlan for epilogue vectorization\r\nas well. As the same plan may be used to vectorize both the main\r\nand epilogue loop, restricting the VF of the best plan would cause\r\nissues.\r\n\r\nPR: https://github.com/llvm/llvm-project/pull/98821","shortMessageHtmlLink":"[VPlan] Replace getBestPlan by getBestVF use also for epilogue vec. (l…"}},{"before":"efd1bf08c051649e37832c4f1fd3731701ac9c28","after":"c684358560f41d7d1c6d79d3a0966e1dd2b8ce0e","ref":"refs/heads/sme-remove-has-sve-or-sme-interface-part2","pushedAt":"2024-06-25T10:16:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Replace isScalableTy() by isa (and isa for the inverse)","shortMessageHtmlLink":"Replace isScalableTy() by isa<ScalableVectorType> (and isa<FixedVecto…"}},{"before":null,"after":"efd1bf08c051649e37832c4f1fd3731701ac9c28","ref":"refs/heads/sme-remove-has-sve-or-sme-interface-part2","pushedAt":"2024-06-24T19:44:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Remove all instances of the 'hasSVEorSME' interfaces.\n\nI've not added any new tests for these, because the original conditions\nwere wrong (they did not consider streaming mode) and we have tests\nfor the positive cases.","shortMessageHtmlLink":"[AArch64] Remove all instances of the 'hasSVEorSME' interfaces."}},{"before":"da795d720571536a11f38959e5b0a724bc3a1337","after":"0e2d074dff08ffa720d9f00bc07250a64e7789cb","ref":"refs/heads/sme-remove-has-sve-or-sme-interface-part1","pushedAt":"2024-06-24T13:42:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Add checks for hasSME() to features","shortMessageHtmlLink":"Add checks for hasSME() to features"}},{"before":null,"after":"26b1e76002f3e1d99bff9c398c313b3cae0a31b6","ref":"refs/heads/sme-split-up-sme-sve-target-guards","pushedAt":"2024-06-24T12:50:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[Clang][SveEmitter] Split up TargetGuard into SVE and SME component.\n\nOne reason to want to split this up is to simplify the code added\nin #93802, where it checks the SME streaming-mode requirements for a\nbuiltin by checking for the absence of SVE. If the target guards are\nseparate, we can generate a table and make the Sema code to verify the\nruntime mode simpler.\n\nAnother reason is to avoid an issue with a check in SveEmitter.cpp\nwhere it ensures that the 'VerifyRuntimeMode' is set correctly for\nfunctions that have both SVE and SME target guards:\n\n if (!Def->isFlagSet(VerifyRuntimeMode) && Def->getGuard().contains(\"sve\") &&\n Def->getGuard().contains(\"sme\"))\n llvm_unreachable(\"Missing VerifyRuntimeMode flag\");\n\nHowever, if we ever add a new feature with \"sme\" in the name, even\nthough it is unrelated to FEAT_SME, then this code no longer works.\n\nNote that the arm_sve.td and arm_sme.td files could do with a bit of\nrestructuring after this but it seems better to follow that up in an\nNFC patch.","shortMessageHtmlLink":"[Clang][SveEmitter] Split up TargetGuard into SVE and SME component."}},{"before":"94dacdecc2accb92bbe4671728c242384d440b7c","after":"da795d720571536a11f38959e5b0a724bc3a1337","ref":"refs/heads/sme-remove-has-sve-or-sme-interface-part1","pushedAt":"2024-06-24T10:40:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Address review comments","shortMessageHtmlLink":"Address review comments"}},{"before":null,"after":"ad6b15f346b7fe35b2faebafdf3d3a11e7addeb9","ref":"refs/heads/sme-fix-vectorize-tti-hooks","pushedAt":"2024-06-21T13:32:33.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Consider streaming mode in TTI interfaces for vectorization.\n\nAt the moment, vectorization is only enabled in streaming(-compatible)\nmode when enabled through an option. But the interfaces should check\nmore than just 'hasSVE()', because a function with +sme in streaming\nmode should also vectorize with the option enabled.\n\nAdditionally, a streaming-compatible function should only be able to use\nfixed-length autovec if SVE is available, otherwise the vector code will be\nscalarised by the backend.","shortMessageHtmlLink":"[AArch64] Consider streaming mode in TTI interfaces for vectorization."}},{"before":null,"after":"94dacdecc2accb92bbe4671728c242384d440b7c","ref":"refs/heads/sme-remove-has-sve-or-sme-interface-part1","pushedAt":"2024-06-21T13:08:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"[AArch64] Check for streaming mode in HasSME* features.\n\nThis also fixes up some asserts in copyPhysReg, loadRegFromStackSlot\nand storeRegToStackSlot.","shortMessageHtmlLink":"[AArch64] Check for streaming mode in HasSME* features."}},{"before":"e9d652e5179c8f84bf654b6dd11ee00595111228","after":"4820ab095827a81123d9936af9fca8854f935459","ref":"refs/heads/generalise-streaming-mode-checks-builtins","pushedAt":"2024-06-20T15:43:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Addres review comments","shortMessageHtmlLink":"Addres review comments"}},{"before":"d1ec6a1a843aa86144fa99635edb99151536f238","after":"fd116beff8fab54c5be36a6888e1e1f55d03fb31","ref":"refs/heads/consider-runtime-mode-for-fixed-length-sve","pushedAt":"2024-06-20T09:53:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"sdesmalen-arm","name":"Sander de Smalen","path":"/sdesmalen-arm","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/36851054?s=80&v=4"},"commit":{"message":"Address comments","shortMessageHtmlLink":"Address comments"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQxNDo0MTo1Ny4wMDAwMDBazwAAAASyLpFW","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xMFQxNDo0MTo1Ny4wMDAwMDBazwAAAASyLpFW","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0yMFQwOTo1MzoxNS4wMDAwMDBazwAAAARqZFb1"}},"title":"Activity · sdesmalen-arm/llvm-project"}