{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":217360600,"defaultBranch":"main","name":"llvm-project","ownerLogin":"MaskRay","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2019-10-24T17:53:17.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/416322?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1718952803.0","currentOid":""},"activityList":{"items":[{"before":"ea141ff021ce978aeafc56f56c59e98433f91ecc","after":null,"ref":"refs/heads/clang-serial-hash","pushedAt":"2024-06-21T06:53:23.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"}},{"before":"a9e18cca890e0196a1f58c23bb7440774fc34ba2","after":"caa75498d45e55ad82b0681f4718fcc4733ff546","ref":"refs/heads/hashing-seed","pushedAt":"2024-06-21T06:45:13.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[Hashing] Use a non-deterministic seed\n\nHashing.h provides hash_value/hash_combine/hash_combine_range, which are\nprimarily used by\n\n* `DenseMap`\n* `FoldingSetNodeIDRef::ComputeHash` (will be fixed by #96136)\n\nUsers shouldn't rely on specific hash values due to potential algorithm\nchanges. `set_fixed_execution_hash_seed` is provided but it has never\nbeen used.\n\nTake the the address of a static storage duration variable as the seed\nlike absl/hash/internal/hash.h `kSeed`.\n(See https://reviews.llvm.org/D93931 for workaround for older Clang.\nMach-O x86-64 forces PIC, so absl's `__apple_build_version__` check is\nunnecessary.)\n\nA few users relying on the iteration order of `DenseMap`\nhave been fixed (e.g., f8f4235612b9 c025bd1fdbbd 89e8e63f47ff\n86eb6bf6715c eb8d03656549 0ea6b8e476c2 58d7a6e0e636 8ea31db27211\n255986e27fcf).\nFrom my experience fixing `DenseMap` and\n[`StringMap`](https://discourse.llvm.org/t/reverse-iteration-bots/72224)\niteration order issues, the scale of breakage is smaller.","shortMessageHtmlLink":"[Hashing] Use a non-deterministic seed"}},{"before":"0ec567c370df86893a22bf59d2716f6e553ca63b","after":"12c0281f8c73bc1aa20d1517357e0e12c3f8bb4e","ref":"refs/heads/main","pushedAt":"2024-06-21T06:45:11.000Z","pushType":"push","commitsCount":60,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[Lex] Replace hash_combine with a stable hash","shortMessageHtmlLink":"[Lex] Replace hash_combine with a stable hash"}},{"before":null,"after":"dc3fce63ec6d609a8bb3a652fec4251365674169","ref":"refs/heads/nsan-apple","pushedAt":"2024-06-20T17:56:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"WIP nsan apple","shortMessageHtmlLink":"WIP nsan apple"}},{"before":"fd88089151e66a4cb1d90aaa224e4cb4e7a748f4","after":"0ec567c370df86893a22bf59d2716f6e553ca63b","ref":"refs/heads/main","pushedAt":"2024-06-20T17:56:55.000Z","pushType":"push","commitsCount":78,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"Revert \"[lldb][ObjC] Don't query objective-c runtime for decls in C++ contexts (#95963)\"\n\nThis reverts commit dadf960607bb429baebd3f523ce5b93260a154d2.\n\nThe commit caused `TestEarlyProcessLaunch.py` to fail on the\nmacOS bots.","shortMessageHtmlLink":"Revert \"[lldb][ObjC] Don't query objective-c runtime for decls in C++…"}},{"before":"13fb26834989a8163264cb0da65557b90c7952a2","after":null,"ref":"refs/heads/nsan","pushedAt":"2024-06-20T07:46:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"}},{"before":"2a96077ce202e854bfd74a80271ed9a260caa8be","after":"13fb26834989a8163264cb0da65557b90c7952a2","ref":"refs/heads/nsan","pushedAt":"2024-06-20T07:27:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[nsan] Fix style issue\n\nThe initial check-in of compiler-rt/lib/nsan #94322 has a lot of style\nissues. Fix them before the history becomes more useful.\n\nPull Request: https://github.com/llvm/llvm-project/pull/96142","shortMessageHtmlLink":"[nsan] Fix style issue"}},{"before":"7eba7327d4222e7c01690615dbf19f0f152e1594","after":"2a96077ce202e854bfd74a80271ed9a260caa8be","ref":"refs/heads/nsan","pushedAt":"2024-06-20T06:57:21.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[nsan] Fix style issue\n\nThe initial check-in of compiler-rt/lib/nsan #94322 has a lot of style\nissues. Fix them before the history becomes more useful.\n\nPull Request: https://github.com/llvm/llvm-project/pull/96142","shortMessageHtmlLink":"[nsan] Fix style issue"}},{"before":null,"after":"7eba7327d4222e7c01690615dbf19f0f152e1594","ref":"refs/heads/nsan","pushedAt":"2024-06-20T06:56:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[nsan] Fix style issue\n\nThe initial check-in of compiler-rt/lib/nsan #94322 has a lot of style\nissues. Fix them before the history becomes more useful.","shortMessageHtmlLink":"[nsan] Fix style issue"}},{"before":"f8f4235612b9668bbcbb6a58634fcb756794045e","after":"fd88089151e66a4cb1d90aaa224e4cb4e7a748f4","ref":"refs/heads/main","pushedAt":"2024-06-20T06:56:24.000Z","pushType":"push","commitsCount":9,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"-fsanitize=vptr: Change hash function and simplify bit mixer\n\nllvm::hash_value is not guaranteed to be deterministic. Use the\ndeterministic xxh3_64bits. A strong bit mixer isn't necessary. Use a\nsimpler one that works well with pointers.","shortMessageHtmlLink":"-fsanitize=vptr: Change hash function and simplify bit mixer"}},{"before":"cf0dcb0a3c91500f817b0a00645c4447d2499212","after":"a9e18cca890e0196a1f58c23bb7440774fc34ba2","ref":"refs/heads/hashing-seed","pushedAt":"2024-06-20T03:51:51.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[Hashing] Use a non-deterministic seed\n\nHashing.h provides hash_value/hash_combine/hash_combine_range where\nhash_combine_range is primarily used b\n\n* `DenseMap`\n* `FoldingSetNodeIDRef::ComputeHash` (used by Sema::LookupSpecialMember)\n\nUsers shouldn't rely on specific hash values due to potential algorithm\nchanges. `set_fixed_execution_hash_seed` is provided but it has never\nbeen used.\n\nTake the the address of a static storage duration variable as the seed\nlike absl/hash/internal/hash.h `kSeed`.\n(See https://reviews.llvm.org/D93931 for workaround for older Clang.\nMach-O x86-64 forces PIC, so absl's `__apple_build_version__` check is\nunnecessary.)\n\nA few users relying on the iteration order of `DenseMap`\nhave been fixed (e.g., f8f4235612b9 c025bd1fdbbd 89e8e63f47ff\n86eb6bf6715c eb8d03656549 0ea6b8e476c2 58d7a6e0e636 8ea31db27211).\nFrom my experience fixing `DenseMap` and\n[`StringMap`](https://discourse.llvm.org/t/reverse-iteration-bots/72224)\niteration order issues, the scale of breakage is smaller.","shortMessageHtmlLink":"[Hashing] Use a non-deterministic seed"}},{"before":null,"after":"ea141ff021ce978aeafc56f56c59e98433f91ecc","ref":"refs/heads/clang-serial-hash","pushedAt":"2024-06-20T03:50:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[Serialization] Use stable hash functions\n\nclangSerialization currently uses hash_combine/hash_value from\nHashing.h, which are not guaranteed to be deterministic.\nReplace these uses with xxh3_64bits.","shortMessageHtmlLink":"[Serialization] Use stable hash functions"}},{"before":null,"after":"cf0dcb0a3c91500f817b0a00645c4447d2499212","ref":"refs/heads/hashing-seed","pushedAt":"2024-06-20T01:52:42.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[Hashing] Use a non-deterministic seed\n\nHashing.h provides hash_value/hash_combine/hash_combine_range where\nhash_combine_range is primarily used b\n\n* `DenseMap`\n* `FoldingSetNodeIDRef::ComputeHash`\n\nUsers shouldn't rely on specific hash values due to potential algorithm\nchanges. `set_fixed_execution_hash_seed` is provided but it has never\nbeen used.\n\nTake the the address of a static storage duration variable as the seed\nlike absl/hash/internal/hash.h `kSeed`.\n(See https://reviews.llvm.org/D93931 for workaround for older Clang.\nMach-O x86-64 forces PIC, so absl's `__apple_build_version__` check is\nunnecessary.)\n\nA few users relying on the iteration order of `DenseMap`\nhave been fixed (e.g., f8f4235612b9 c025bd1fdbbd 89e8e63f47ff\n86eb6bf6715c eb8d03656549 0ea6b8e476c2 58d7a6e0e636 8ea31db27211).\nFrom my experience fixing `DenseMap` and\n[`StringMap`](https://discourse.llvm.org/t/reverse-iteration-bots/72224)\niteration order issues, the scale of breakage is smaller.","shortMessageHtmlLink":"[Hashing] Use a non-deterministic seed"}},{"before":"6f13f0b3fe57d2f59b8d456446fe87f3fef686d0","after":"f8f4235612b9668bbcbb6a58634fcb756794045e","ref":"refs/heads/main","pushedAt":"2024-06-20T01:52:41.000Z","pushType":"push","commitsCount":132,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[JITLink] Use MapVector to stabilize iteration order\n\nOtherwise LinkGraph::dump output could change\n(llvm/test/ExecutionEngine/JITLink/x86-64/COFF_pdata_strip.s) when\nllvm::hash_value(StringRef) changes.","shortMessageHtmlLink":"[JITLink] Use MapVector to stabilize iteration order"}},{"before":"46e4843238d17bfac8f9f069d3150402081ebb38","after":null,"ref":"refs/heads/densemap-hash","pushedAt":"2024-06-19T17:30:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"}},{"before":null,"after":"46e4843238d17bfac8f9f069d3150402081ebb38","ref":"refs/heads/densemap-hash","pushedAt":"2024-06-18T18:47:56.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[DenseMap] Update combineHashValue\n\n`combineHashValue` is a custom bit mixer from 2008\n(5fc8ab6d187aefbf1d2cbd36e191e675b14db8f6) used for std::pair and\nstd::tuple. It has a long dependency chain and slow. Replace it with\nMoremur from Pelle Evensen[1]\n\nMeasured time to compute [0,1000000000) values on an i7-11850H:\n\n* old: 1.152s\n* new: 0.769s\n\n[1]: https://mostlymangling.blogspot.com/2019/12/stronger-better-morer-moremur-better.html","shortMessageHtmlLink":"[DenseMap] Update combineHashValue"}},{"before":"c7b32341e9f885cc7e6ba4b2ff017f748a6f76ee","after":"6f13f0b3fe57d2f59b8d456446fe87f3fef686d0","ref":"refs/heads/main","pushedAt":"2024-06-18T18:47:55.000Z","pushType":"push","commitsCount":325,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[scudo] Test secondary cache options only if enabled (#95872)\n\nConfigs that use `MapAllocatorNoCache` for its secondary cache will\r\nreturn `false` if `setOption` is called with some [specific\r\noptions](https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/scudo/standalone/secondary.h#L104),\r\nand this breaks with the `SecondaryOptions` test.\r\n\r\nThis change will gate testing all `setOption` expectations for cache\r\noptions only if the allocator cache is enabled. This will unblock\r\n[github.com/llvm/llvm-project/pull/95595\r\n](https://github.com/llvm/llvm-project/pull/95595) from merging into\r\nFuchsia.","shortMessageHtmlLink":"[scudo] Test secondary cache options only if enabled (llvm#95872)"}},{"before":"e508ee1da64e9d9cdaa5741b630c87888afb716f","after":null,"ref":"refs/heads/mc-bundle-relax-all","pushedAt":"2024-06-14T17:01:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"}},{"before":"795647fa1a3a553e7b579129bc81cbdafb390e78","after":"4bef276531b984b7be98c80a626bfbad9aaf240c","ref":"refs/heads/perf/setUseAssemblerInfoForParsing","pushedAt":"2024-06-14T16:47:04.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[MC] Remove setUseAssemblerInfoForParsing(false) workarounds\n\nThis reverts commit 245491a9f384e4c53421196533c2a2b693efaf8d (\"[MC] Disable MCAssembler based constant folding for DwarfDebug\")","shortMessageHtmlLink":"[MC] Remove setUseAssemblerInfoForParsing(false) workarounds"}},{"before":"836ca5bbf7d6366df7c35ec9d1f235b1ebc9744e","after":"c7b32341e9f885cc7e6ba4b2ff017f748a6f76ee","ref":"refs/heads/main","pushedAt":"2024-06-14T16:47:03.000Z","pushType":"push","commitsCount":87,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[libc++] Rename workflow that restarts preempted jobs\n\nAll the libc++ workflows start with `libcxx-`, so use that prefix for\nthis job as well. Also, remove trailing whitespace from the yaml file.","shortMessageHtmlLink":"[libc++] Rename workflow that restarts preempted jobs"}},{"before":"2e7816d4656f1957b62a4cc9865978ac3719ebbd","after":null,"ref":"refs/heads/mc-allocandadd","pushedAt":"2024-06-14T16:39:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"}},{"before":"8cd97a5c113e9b2f65611eebdae242e40107a44c","after":"2e7816d4656f1957b62a4cc9865978ac3719ebbd","ref":"refs/heads/mc-allocandadd","pushedAt":"2024-06-14T01:32:45.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[MC] Add MCFragment allocation helpers\n\n`allocFragment` might be changed to a placement new when the allocation\nstrategy changes.\n\n`allocInitialFragment` is to deduplicate the following pattern\n```\n auto *F = new MCDataFragment();\n Result->addFragment(*F);\n F->setParent(Result);\n```\n\nPull Request: https://github.com/llvm/llvm-project/pull/95197","shortMessageHtmlLink":"[MC] Add MCFragment allocation helpers"}},{"before":"8772914816da4a60daf29fa682493c505ec04f7a","after":"04ad01bb3ab2c40828fae0ff0f0b4ab7349743fb","ref":"refs/heads/mc-disable-free","pushedAt":"2024-06-14T01:31:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[MC] Add -mc-disable-free to skip MCFragment::destroy\n\n~MCSection is expensive due to the high number of MCFragment objects,\npointer chasing (dependent on malloc implementation), and non-trivial\ndestructor.\n\nIntroduce `-mc-disable-free` (similar to Clang cc1's `-disable-free`) to\nskip `MCFragment::destroy`, improving performance, particularly at -O0.\nDiscarded fragment lists are chained (like `BuryPointer`) to prevent\nleak detection issues.\n\nMoving `MC*Fragment` storage out-of-line may claim similar advantage.","shortMessageHtmlLink":"[MC] Add -mc-disable-free to skip MCFragment::destroy"}},{"before":"78ee473784e5ef6f0b19ce4cb111fb6e4d23c6b2","after":"836ca5bbf7d6366df7c35ec9d1f235b1ebc9744e","ref":"refs/heads/main","pushedAt":"2024-06-14T01:31:51.000Z","pushType":"push","commitsCount":135,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[Transforms] Migrate to a new version of getValueProfDataFromInst (#95485)\n\nNote that the version of getValueProfDataFromInst that returns bool\r\nhas been \"deprecated\" since:\r\n\r\n commit 1e15371dd8843dfc52b9435afaa133997c1773d8\r\n Author: Mingming Liu \r\n Date: Mon Apr 1 15:14:49 2024 -0700","shortMessageHtmlLink":"[Transforms] Migrate to a new version of getValueProfDataFromInst (ll…"}},{"before":"075c26f8b177e976f44c8c4dd6a95e80ee7a9510","after":null,"ref":"refs/heads/perf/mc-fragchain","pushedAt":"2024-06-14T01:31:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"}},{"before":"1c61afa693ee5528529f08556fc51ce8a80d6069","after":null,"ref":"refs/heads/mc-atom","pushedAt":"2024-06-13T21:37:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"}},{"before":"a6a10238e6510a76dc093847791fcaebb2783d4a","after":"25f52b52db28b57bd785a2237cff3321249ae4f4","ref":"refs/heads/demo-crel","pushedAt":"2024-06-13T02:34:46.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"DO NOT SUBMIT CREL prototype\n\nhttps://github.com/llvm/llvm-project/compare/main...MaskRay:llvm-project:demo-crel\n\nThe header indicates the offset shift value.\nEach relocation entry uses the 3 least significant bits to indicate\nwhether to encode addend/type/symidx.\n\n`CCC_OVERRIDE_OPTIONS='#+-Wa,--allow-experimental-crel'`\n\n* Define SHT_CREL and DT_CREL\n* clang\n + -Wa,--crel: generate SHT_CREL instead of SHT_REL/SHT_RELA\n + -flto -Wa,--crel: pass -plugin-opt=-crel to generate SHT_CREL for relocatable file generation\n SHT_REL/SHT_RELA/SHT_CREL\n* ld.lld\n + handle SHT_CREL input sections. Convert CREL to RELA for\n relocation scanning\n + -z crel: replace .rel[a].dyn/.rel[a].plt with .crel.dyn/.crel.plt. Can be used with -z rela to use in-relocation addends.\n Can be used together with --pack-dyn-relocs=relr\n + -r and --emit-relocs: copy SHT_CREL and rewrite (OutputSection::finalizeNonAllocCrel). supports mixing CREL/RELA\n* llvm-readelf\n + -S: recognize SHT_CREL\n + -d: recognize DT_CREL. allow dyn[DT_PLTREL]==DT_CREL\n + -r: dump SHT_CREL sections\n + --dyn-relocations: dump DT_CREL table\n* llvm-objcopy\n + handle RelocationSection\n* llvm-objdump\n + -r\n + -dr\n* yaml2obj/obj2yaml\n* MCTargetOptions\n + llvm-mc -crel\n + llc -crel\n + ld.lld -mllvm -crel for LTO\n\n---\n\nCREL is a compact relocation format for the ELF object file format.\n\nThis patch adds integrated assembler support (using the RELA form)\navailable with `llvm-mc -filetype=obj -crel a.s -o a.o`.\nA dependent patch will add `clang -c -Wa,--crel,--allow-experimental-crel`.\n\nAlso add llvm-readobj support (for both REL and RELA forms) to\nfacilitate testing the assembler. Additionally, yaml2obj gains support\nfor the RELA form to aid testing with llvm-readobj.\n\nWe temporarily assign the section type code 0x40000020 from the generic\nrange to `SHT_CREL`. We avoided using `SHT_LLVM_` or `SHT_GNU_` to\navoid code churn and maintain broader applicability for interested psABIs.\n\nLLVM will change the code and break compatibility. This is not an issue\nif all relocatable files using CREL are regenerated (aka no prebuilt\nrelocatable files).\n\nAlso add DT_CREL 38 to aid testing llvm-readobj for the REL form.\nWithout linker/dynamic loader concern, there is even less concern for\npeople unintentionally using this.\n\nLink: https://discourse.llvm.org/t/rfc-crel-a-compact-relocation-format-for-elf/77600","shortMessageHtmlLink":"DO NOT SUBMIT CREL prototype"}},{"before":"124c243de1da2b3cd3745206859e0e6893ae81be","after":"e983bbc3a98cac4ee4583c6ea3f07239eb128913","ref":"refs/heads/crel-mc","pushedAt":"2024-06-13T02:34:35.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[MC,llvm-readobj,yaml2obj] Support CREL relocation format\n\nCREL is a compact relocation format for the ELF object file format.\n\nThis patch adds integrated assembler support (using the RELA form)\navailable with `llvm-mc -filetype=obj -crel a.s -o a.o`.\nA dependent patch will add `clang -c -Wa,--crel,--allow-experimental-crel`.\n\nAlso add llvm-readobj support (for both REL and RELA forms) to\nfacilitate testing the assembler. Additionally, yaml2obj gains support\nfor the RELA form to aid testing with llvm-readobj.\n\nWe temporarily assign the section type code 0x40000020 from the generic\nrange to `SHT_CREL`. We avoided using `SHT_LLVM_` or `SHT_GNU_` to\navoid code churn and maintain broader applicability for interested psABIs.\n\nLLVM will change the code and break compatibility. This is not an issue\nif all relocatable files using CREL are regenerated (aka no prebuilt\nrelocatable files).\n\nAlso add DT_CREL 38 to aid testing llvm-readobj for the REL form.\nWithout linker/dynamic loader concern, there is even less concern for\npeople unintentionally using this.\n\nLink: https://discourse.llvm.org/t/rfc-crel-a-compact-relocation-format-for-elf/77600\n\nPull Request: https://github.com/llvm/llvm-project/pull/91280","shortMessageHtmlLink":"[MC,llvm-readobj,yaml2obj] Support CREL relocation format"}},{"before":"d125e717df24b2d310d934cca5daf6589566a0d6","after":"78ee473784e5ef6f0b19ce4cb111fb6e4d23c6b2","ref":"refs/heads/main","pushedAt":"2024-06-13T02:34:33.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[gn build] Port 2e1ad93961a3","shortMessageHtmlLink":"[gn build] Port 2e1ad93"}},{"before":"11937cb8d75aba4025ebff0c72dad96ce428be1c","after":"e508ee1da64e9d9cdaa5741b630c87888afb716f","ref":"refs/heads/mc-bundle-relax-all","pushedAt":"2024-06-13T01:06:37.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"MaskRay","name":"Fangrui Song","path":"/MaskRay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/416322?s=80&v=4"},"commit":{"message":"[MC] Aligned bundling: remove special handling for RelaxAll\n\nWhen both aligned bundling and RelaxAll are enabled, bundle padding is\ndirectly written into fragments (https://reviews.llvm.org/D8072).\n(The original motivation was memory usage, which has been achieved from\ndifferent angles with recent assembler improvement).\n\nThe code presents challenges with the work to replace fragment\nrepresentation (e.g. #94950 #95077). This patch removes the special\nhandling. RelaxAll still works but the behavior seems slightly different\nas revealed by 2 changed tests. However, most `-mc-relax-all` tests are\nunchanged.\n\nRelaxAll used to be the default for clang -O0. This mode has significant\ncode size drawbacks and newer Clang doesn't use it (#90013).\n\n---\n\nflushPendingLabels: The FOffset parameter can be removed: pending labels\nwill be assigned to the incoming fragment at offset 0.\n\nPull Request: https://github.com/llvm/llvm-project/pull/95188","shortMessageHtmlLink":"[MC] Aligned bundling: remove special handling for RelaxAll"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEa0o4UQA","startCursor":null,"endCursor":null}},"title":"Activity · MaskRay/llvm-project"}