{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":373672463,"defaultBranch":"main","name":"llvm-project","ownerLogin":"samitolvanen","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2021-06-03T23:58:19.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1209872?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1724090257.0","currentOid":""},"activityList":{"items":[{"before":"0f7dfc3f908651a70602f4f64a0ae06616544eeb","after":"fb08adad4918808d22210b9a2f9f6cbc1ea33b5e","ref":"refs/heads/kcfi-normalized","pushedAt":"2024-08-20T18:27:20.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"fixup! Fix KCFI types for generated functions with integer normalization","shortMessageHtmlLink":"fixup! Fix KCFI types for generated functions with integer normalization"}},{"before":"79971b1958c27cf3abd215cd140892aa6f61ebf6","after":"0f7dfc3f908651a70602f4f64a0ae06616544eeb","ref":"refs/heads/kcfi-normalized","pushedAt":"2024-08-19T17:59:11.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"Fix KCFI types for generated functions with integer normalization\n\nWith -fsanitize-cfi-icall-experimental-normalize-integers, Clang\nappends \".normalized\" to KCFI types in CodeGenModule::CreateKCFITypeId,\nwhich changes type hashes also for functions that don't have integer\ntypes in their signatures. However, llvm::setKCFIType does not take\ninteger normalization into account, which means LLVM generated\nfunctions with KCFI types, e.g. sanitizer constructors, will fail KCFI\nchecks when integer normalization is enabled in Clang.\n\nAdd a kcfi-normalized module flag to indicate integer normalization is\nused, and append \".normalized\" to KCFI types also in llvm::setKCFIType\nto fix the type mismatch.","shortMessageHtmlLink":"Fix KCFI types for generated functions with integer normalization"}},{"before":"340fb6597116acf026a8ac49edca4d993fb1d7f3","after":"dde8280ded53f7167dcd2e8f6c50d7c9b5796a10","ref":"refs/heads/main","pushedAt":"2024-08-19T17:59:02.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[mlir][spirv] Add `GroupNonUniformBallotFindLSB` and `GroupNonUniformBallotFindMSB` ops (#104791)","shortMessageHtmlLink":"[mlir][spirv] Add GroupNonUniformBallotFindLSB and `GroupNonUniform…"}},{"before":null,"after":"79971b1958c27cf3abd215cd140892aa6f61ebf6","ref":"refs/heads/kcfi-normalized","pushedAt":"2024-08-19T17:57:37.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"Fix KCFI types for generated functions with integer normalization\n\nWith -fsanitize-cfi-icall-experimental-normalize-integers, Clang\nappends \".normalized\" to KCFI types in CodeGenModule::CreateKCFITypeId,\nwhich changes type hashes also for functions that don't have integer\ntypes in their signatures. However, llvm::setKCFIType does not take\ninteger normalization into account, which means LLVM generated\nfunctions with KCFI types, e.g. sanitizer constructors, will fail KCFI\nchecks when integer normalization is enabled in Clang.\n\nAdd a kcfi-normalized module flag to indicate integer normalization is\nused, and append \".normalized\" to KCFI types also in llvm::setKCFIType\nto fix the type mismatch.","shortMessageHtmlLink":"Fix KCFI types for generated functions with integer normalization"}},{"before":"a40bada91aeda276a772acfbcae6e8de26755a11","after":"340fb6597116acf026a8ac49edca4d993fb1d7f3","ref":"refs/heads/main","pushedAt":"2024-08-19T17:57:32.000Z","pushType":"push","commitsCount":10000,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[TableGen] Detect invalid -D arguments and fail (#102813)\n\n- Detect invalid macro names specified on command line and fail if one\r\nfound.\r\n- Specifically, -DXYZ=1 for example, will fail instead is being silently\r\naccepted.","shortMessageHtmlLink":"[TableGen] Detect invalid -D arguments and fail (llvm#102813)"}},{"before":"3a52ef5836f179c5a5a3163d7d14008a80c5f1e4","after":"a6bd58ee9e9edcb8a67390d644ebd71b9c06c698","ref":"refs/heads/lto-export-symbols","pushedAt":"2023-09-01T18:02:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[LLD][ELF] Add --lto-export-symbol-list\n\nNormally when compiling bitcode in a relocatable link, LLD sets\nthe VisibleToRegularObj flag in the symbol resolution for all\nglobals, which prevents LTO from dropping globals that may be\nneeded later. However, in situations where we know which globals\nwe want to export, LTO could better optimize the code if we\nmarked only the exported symbols visible. This is the case in the\nLinux kernel, for example, where all the bitcode in the kernel\nis compiled during a relocatable link, and we have a list of\nexported symbols.\n\nAdd an --lto-export-symbol-list flag to LLD, which accepts a list\nof exported globals in the version script format, and uses the\nlist to set the bindings for non-exported globals to STB_LOCAL,\nand sets the VisibleToRegularObj flag in symbol resolution only\nfor the exported symbols.\n\nDifferential Revision: https://reviews.llvm.org/D142163","shortMessageHtmlLink":"[LLD][ELF] Add --lto-export-symbol-list"}},{"before":"ce04e9d8c880101f74429724184ef043c511db31","after":"6b15477061aeda53dc574f2aca875490863396c0","ref":"refs/heads/kcfi-seal","pushedAt":"2023-09-01T18:02:38.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"Add support for kcfi-seal optimization with LTO\n\nWith -fsanitize=kcfi, Clang emits a !kcfi_type attribute for all\nglobal functions, making them valid indirect call targets, whether\nthe program ends up calling them indirectly or not. With LTO, we can\n\"seal\" the program by dropping types from non-address-taken globals\nas long as they are not visible to regular objects, thus limiting the\npossible targets that can be called.\n\nPropagate the VisibleToRegularObj property from the linker to LLVM\npasses, and drop KCFI type information from globals that don't need\nit.\n\nDepends on D142163\n\nDifferential Revision: https://reviews.llvm.org/D138337","shortMessageHtmlLink":"Add support for kcfi-seal optimization with LTO"}},{"before":"3c5b4dabdc06dd380391ac965b16961610c0db77","after":"a40bada91aeda276a772acfbcae6e8de26755a11","ref":"refs/heads/main","pushedAt":"2023-09-01T18:02:36.000Z","pushType":"push","commitsCount":1963,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[libc++] Apply clang formatting to all string unit tests\n\nThis applies clang-format to the std::string unit tests in preparation\nfor landing https://reviews.llvm.org/D140550.\n\nDifferential Revision: https://reviews.llvm.org/D140612","shortMessageHtmlLink":"[libc++] Apply clang formatting to all string unit tests"}},{"before":"2be4a3529ed9285a57bc8bf41398a4ecf5f88a52","after":"3a52ef5836f179c5a5a3163d7d14008a80c5f1e4","ref":"refs/heads/lto-export-symbols","pushedAt":"2023-08-15T23:06:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"c57401ef6a67efe1015c51f0e638cff512bc5629","after":"ce04e9d8c880101f74429724184ef043c511db31","ref":"refs/heads/kcfi-seal","pushedAt":"2023-08-15T23:06:03.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"dcadb68a5c5a50f41a023b39748a506df8c07248","after":"3c5b4dabdc06dd380391ac965b16961610c0db77","ref":"refs/heads/main","pushedAt":"2023-08-15T23:06:01.000Z","pushType":"push","commitsCount":4398,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[mlir][docs] Fix typos.","shortMessageHtmlLink":"[mlir][docs] Fix typos."}},{"before":"d8b5b4b6a66410dc9f80d84fd24932239497f94d","after":"2be4a3529ed9285a57bc8bf41398a4ecf5f88a52","ref":"refs/heads/lto-export-symbols","pushedAt":"2023-07-07T21:39:30.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"9af9764a6e329fff7d0340674a7c6e08d029489f","after":"c57401ef6a67efe1015c51f0e638cff512bc5629","ref":"refs/heads/kcfi-seal","pushedAt":"2023-07-07T21:39:29.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"1bcb6a3da231ee3bcf8513880599b5d054f590a4","after":"dcadb68a5c5a50f41a023b39748a506df8c07248","ref":"refs/heads/main","pushedAt":"2023-07-07T21:39:27.000Z","pushType":"push","commitsCount":1824,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[mlir][sparse] Cleaning up OOB implementation details for `VarSet`\n\nReviewed By: aartbik\n\nDifferential Revision: https://reviews.llvm.org/D154674","shortMessageHtmlLink":"[mlir][sparse] Cleaning up OOB implementation details for VarSet"}},{"before":"579f0acfa7a8e48430cb87de199cf2c2a6a83170","after":"e44550616795b53fc0992da477e52bf519fd55c1","ref":"refs/heads/kcfi-riscv64","pushedAt":"2023-06-21T19:47:23.883Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[RISCV] Implement KCFI operand bundle lowering\n\nWith `-fsanitize=kcfi` (Kernel Control-Flow Integrity), Clang emits\n\"kcfi\" operand bundles to indirect call instructions. Similarly to\nthe target-specific lowering added in D119296, implement KCFI operand\nbundle lowering for RISC-V.\n\nThis patch disables the generic KCFI pass for RISC-V in Clang, and\nadds the KCFI machine function pass in `RISCVPassConfig::addPreSched`\nto emit target-specific `KCFI_CHECK` pseudo instructions before calls\nthat have KCFI operand bundles. The machine function pass also bundles\nthe instructions to ensure we emit the checks immediately before the\ncalls, which is not possible with the generic pass.\n\n`KCFI_CHECK` instructions are lowered in `RISCVAsmPrinter` to a\ncontiguous code sequence that traps if the expected hash in the\noperand bundle doesn't match the hash before the target function\naddress. This patch emits an `ebreak` instruction for error handling\nto match the Linux kernel's `BUG()` implementation. Just like for X86,\nwe also emit trap locations to a `.kcfi_traps` section to support\nerror handling, as we cannot embed additional information to the trap\ninstruction itself.\n\nDifferential Revision: https://reviews.llvm.org/D148385","shortMessageHtmlLink":"[RISCV] Implement KCFI operand bundle lowering"}},{"before":"d838f817eff9788e483a82dd7ea2ce8849096881","after":"d8b5b4b6a66410dc9f80d84fd24932239497f94d","ref":"refs/heads/lto-export-symbols","pushedAt":"2023-06-21T19:47:22.420Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"91fc559d7f48f9103a3e76d6e27c91b27ddadaf2","after":"9af9764a6e329fff7d0340674a7c6e08d029489f","ref":"refs/heads/kcfi-seal","pushedAt":"2023-06-21T19:47:21.533Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"f1a040298381cdfc0657d5ecba231ebe6bbef61a","after":"1bcb6a3da231ee3bcf8513880599b5d054f590a4","ref":"refs/heads/main","pushedAt":"2023-06-21T19:47:20.067Z","pushType":"push","commitsCount":124,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[MBP] Enable duplicating return block to remove jump to return\n\nSometimes LLVM generates branch to return instruction, like PR63227.\n\nIt is because in function MachineBlockPlacement::canTailDuplicateUnplacedPreds\nwe avoid duplicating a BB into another already placed BB to prevent destroying\ncomputed layout. But if the successor BB is a return block, duplicating it will\nonly reduce taken branches without hurt to any other branches.\n\nDifferential Revision: https://reviews.llvm.org/D153093","shortMessageHtmlLink":"[MBP] Enable duplicating return block to remove jump to return"}},{"before":"cd4be78cac4c4076cf57941c3b82625b1aa1bd49","after":"579f0acfa7a8e48430cb87de199cf2c2a6a83170","ref":"refs/heads/kcfi-riscv64","pushedAt":"2023-06-20T21:42:14.982Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"2320f5d81ede20dfd28e75c4117a50b8d442f5da","after":"d838f817eff9788e483a82dd7ea2ce8849096881","ref":"refs/heads/lto-export-symbols","pushedAt":"2023-06-20T21:42:13.473Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"8f2cb8cc80a260d2cd8bcf96ed400d76d79b0be6","after":"91fc559d7f48f9103a3e76d6e27c91b27ddadaf2","ref":"refs/heads/kcfi-seal","pushedAt":"2023-06-20T21:42:12.589Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"1c532b5e44fa1fbff84c494c659fe722b7df4b10","after":"f1a040298381cdfc0657d5ecba231ebe6bbef61a","ref":"refs/heads/main","pushedAt":"2023-06-20T21:42:11.053Z","pushType":"push","commitsCount":634,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"[mlir][irdl] Add `irdl.attributes` operation for defining named attributes\n\nThis commit introduces the `irdl.attributes` operation, which allows defining named attributes for the parent operation. Each attribute is defined with a name and a type constraint.\n\nExample usage:\n```\nirdl.dialect @example {\n irdl.operation @attr_op {\n %0 = irdl.any\n %1 = irdl.is i64\n irdl.attributes {\n \"attr1\" = %0,\n \"attr2\" = %1\n }\n }\n}\n```\nIn this example the operation will expect an arbitrary attribute \"attr1\"\nand an attribute \"attr2\" with value `i64`.\n\nReviewed By: math-fehr, Mogball\n\nDifferential Revision: https://reviews.llvm.org/D152618","shortMessageHtmlLink":"[mlir][irdl] Add irdl.attributes operation for defining named attri…"}},{"before":"b534b2123b3b4a18b995db900b521e5486944d82","after":"cd4be78cac4c4076cf57941c3b82625b1aa1bd49","ref":"refs/heads/kcfi-riscv64","pushedAt":"2023-06-14T20:14:39.611Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"7f74cdd88efd94cd0cc62c5a17e1948894b39f7a","after":"2320f5d81ede20dfd28e75c4117a50b8d442f5da","ref":"refs/heads/lto-export-symbols","pushedAt":"2023-06-14T20:14:38.188Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"f5d72324d7cc6cf229507a2bf44624ef614bce32","after":"8f2cb8cc80a260d2cd8bcf96ed400d76d79b0be6","ref":"refs/heads/kcfi-seal","pushedAt":"2023-06-14T20:14:37.291Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"17b7df3daee85c1a4d1d955e558d42b34ce17549","after":"1c532b5e44fa1fbff84c494c659fe722b7df4b10","ref":"refs/heads/main","pushedAt":"2023-06-14T20:14:35.788Z","pushType":"push","commitsCount":152,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"},"commit":{"message":"bazel build --incompatible_no_implicit_file_export\n\nThe Bazel build was relying, for the two files enumerated in this diff, on the legacy implicit-export semantics described here:\nhttps://bazel.build/reference/be/functions#exports_files\n\nThis documentation page encourages migrating away from this legacy behavior, and indeed we have a user who reported a Bazel build error and it appears that they were already using the new, stricter behavior:\nhttps://github.com/openxla/iree/pull/13982\nand while examining fixes on our side and trying to get a clean Bazel build, I ran into this similar issue in the LLVM overlay.\n\nIt would arguably be cleaner (in the sense of more structured) to rely on `filegroup` to export this, but I am insufficiently familiar with the Clang build (the dependent targets seem to be below Clang) to do this myself. The present `exports_files` solution has the merit of being localized in these few lines here.\n\nDifferential Revision: https://reviews.llvm.org/D152491","shortMessageHtmlLink":"bazel build --incompatible_no_implicit_file_export"}},{"before":"a2bb521292ed01c904bbd239287db90ffdff867d","after":"b534b2123b3b4a18b995db900b521e5486944d82","ref":"refs/heads/kcfi-riscv64","pushedAt":"2023-06-13T21:49:58.669Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"4fd38ea7ea5e85aa7da67731c2a542c80cf5249c","after":"a2bb521292ed01c904bbd239287db90ffdff867d","ref":"refs/heads/kcfi-riscv64","pushedAt":"2023-06-13T21:23:59.188Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"ce4ad73bd67e303203b6ab4504a4fb9427272b9b","after":"7f74cdd88efd94cd0cc62c5a17e1948894b39f7a","ref":"refs/heads/lto-export-symbols","pushedAt":"2023-06-13T21:23:57.727Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}},{"before":"d9e784460c6ad7e8acc5214d1cf25f37d56b6a77","after":"f5d72324d7cc6cf229507a2bf44624ef614bce32","ref":"refs/heads/kcfi-seal","pushedAt":"2023-06-13T21:23:56.833Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"samitolvanen","name":"Sami Tolvanen","path":"/samitolvanen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1209872?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yMFQxODoyNzoyMC4wMDAwMDBazwAAAASfa340","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yMFQxODoyNzoyMC4wMDAwMDBazwAAAASfa340","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0xM1QyMToyMzo1Ni44MzM5MjFazwAAAANA1lOB"}},"title":"Activity · samitolvanen/llvm-project"}