{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":795682032,"defaultBranch":"main","name":"llvm-project","ownerLogin":"tmsri","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2024-05-03T19:55:12.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/38991943?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1726785374.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"53c014009fa285447d257b1e5463a018a90ee1c0","ref":"refs/heads/buildloclist_perf_bug","pushedAt":"2024-09-19T22:36:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"Fix performance bug in buildLocationList\n\nIn buildLocationList, with basic block sections, we iterate over\nevery basic block twice to detect section start and end. This is\nsub-optimal and shows up as significantly time consuming when\ncompiling large functions.\n\nThis patch uses the set of sections already stored in MBBSectionRanges\nand iterates over sections rather than basic blocks.\n\nWhen detecting if loclists can be merged, the end label of an entry is\nmatched with the beginning label of the next entry. For the section\ncorresponding to the entry basic block, this is skipped. This is\nbecause the loc list uses the end label corresponding to the function\nwhereas the MBBSectionRanges map uses the function end label.\n\nFor example:\n\n.Lfunc_begin0:\n.file\n.loc 0 4 0 # ex2.cc:4:0\n.cfi_startproc\n.Ltmp0:\n.loc 0 8 5 prologue_end # ex2.cc:8:5\n....\n.LBB_END0_0:\n.cfi_endproc\n.section .text._Z4testv,\"ax\",@progbits,unique,1\n...\n.Lfunc_end0:\n.size _Z4testv, .Lfunc_end0-_Z4testv\n\nThe debug loc uses \".LBB_END0_0\" for the end of the section whereas\nMBBSectionRanges uses \".Lfunc_end0\".\n\nIt is alright to skip this as we already check the section corresponding\nto the debugloc entry.\n\nAdded a new test case to check that if this works correctly when the\nvariable's value is mutated in the entry section.","shortMessageHtmlLink":"Fix performance bug in buildLocationList"}},{"before":"156ef0bbf235697c205d8e602e7ceec534d66388","after":"e4bfea0ba62edaa5946afb17845c037f648c446c","ref":"refs/heads/perf_bug","pushedAt":"2024-09-19T21:34:44.000Z","pushType":"push","commitsCount":444,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"New Test case to check for changing variable value.\n\nTest case mutates the value of the variable within the entry section\nto test if const is not generated.","shortMessageHtmlLink":"New Test case to check for changing variable value."}},{"before":"bc3ef338e90aa8397aaa9cb22935d7959d28d76c","after":"156ef0bbf235697c205d8e602e7ceec534d66388","ref":"refs/heads/perf_bug","pushedAt":"2024-09-19T19:31:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"clang-format","shortMessageHtmlLink":"clang-format"}},{"before":"0af6f369afe1a68a7b00ccf960a95cf3ccb8fe59","after":"bc3ef338e90aa8397aaa9cb22935d7959d28d76c","ref":"refs/heads/perf_bug","pushedAt":"2024-09-16T22:22:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"clang-format","shortMessageHtmlLink":"clang-format"}},{"before":"816532bc3eff623eb7588c747024ea37c0e36465","after":"0af6f369afe1a68a7b00ccf960a95cf3ccb8fe59","ref":"refs/heads/perf_bug","pushedAt":"2024-09-16T22:03:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"clang-format","shortMessageHtmlLink":"clang-format"}},{"before":"68ff979c67883d85b6434bd1259a558ab0b5ff64","after":"816532bc3eff623eb7588c747024ea37c0e36465","ref":"refs/heads/perf_bug","pushedAt":"2024-09-16T21:47:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"Fix comment","shortMessageHtmlLink":"Fix comment"}},{"before":null,"after":"68ff979c67883d85b6434bd1259a558ab0b5ff64","ref":"refs/heads/perf_bug","pushedAt":"2024-09-16T21:21:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"Fix performance bug in buildLocationList\n\nIn buildLocationList, with basic block sections, we iterate over\nevery basic block twice to detect section start and end. This is\nsub-optimal and shows up as significantly time consuming when\ncompiling large functions.\n\nThis patch uses the set of sections already stored in MBBSectionRanges\nand iterates over sections rather than basic blocks.\n\nWhen detecting if loclists can be merged, the end label of an entry is\nmatched with the beginning label of the next entry. For the section\ncorresponding to the entry basic block, this is skipped. This is\nbecause the loc list uses the end label corresponding to the function\nwhereas the MBBSectionRanges map uses the function end label.\n\nFor example:\n\n.Lfunc_begin0:\n .file \n .loc 0 4 0 # ex2.cc:4:0\n .cfi_startproc\n.Ltmp0:\n #DEBUG_VALUE: test:i <- 7\n .loc 0 8 5 prologue_end # ex2.cc:8:5\n ....\n.LBB_END0_0:\n .cfi_endproc\n .section .text._Z4testv,\"ax\",@progbits,unique,1\n...\n.Lfunc_end0:\n .size _Z4testv, .Lfunc_end0-_Z4testv\n\nThe debug loc uses \".LBB_END0_0\" for the end of the section whereas\nMBBSectionRanges uses \".Lfunc_end0\".\n\nIt is alright to skip this as we already check the section corresponding\nto the debugloc entry.","shortMessageHtmlLink":"Fix performance bug in buildLocationList"}},{"before":null,"after":"7c3256280a78b0505ae4d43985c4d3239451a151","ref":"refs/heads/DebugLocPerfFix","pushedAt":"2024-09-16T20:17:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"Fix performance bug in buildLocationList\n\nIn buildLocationList, with basic block sections, we iterate over\nevery basic block twice to detect section start and end. This is\nsub-optimal and shows up as significantly time consuming when\ncompiling large functions.\n\nThis patch uses the set of sections already stored in MBBSectionRanges\nand iterates over sections rather than basic blocks.\n\nWhen detecting if loclists can be merged, the end label of an entry is\nmatched with the beginning label of the next entry. For the section\ncorresponding to the entry basic block, this is skipped. This is\nbecause the loc list uses the end label corresponding to the function\nwhereas the MBBSectionRanges map uses the function end label.\n\nFor example:\n\n.Lfunc_begin0:\n .file \n .loc 0 4 0 # ex2.cc:4:0\n .cfi_startproc\n.Ltmp0:\n #DEBUG_VALUE: test:i <- 7\n .loc 0 8 5 prologue_end # ex2.cc:8:5\n ....\n.LBB_END0_0:\n .cfi_endproc\n .section .text._Z4testv,\"ax\",@progbits,unique,1\n...\n.Lfunc_end0:\n .size _Z4testv, .Lfunc_end0-_Z4testv\n\nThe debug loc uses \".LBB_END0_0\" for the end of the section whereas\nMBBSectionRanges uses \".Lfunc_end0\".\n\nIt is alright to skip this as we already check the section corresponding\nto the debugloc entry.","shortMessageHtmlLink":"Fix performance bug in buildLocationList"}},{"before":null,"after":"6d11f41b4a61775a5e09183b304b77a01f94f426","ref":"refs/heads/debug_loc_perf_fix","pushedAt":"2024-09-16T20:01:18.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"Fix performance bug in buildLocationList\n\nIn buildLocationList, with basic block sections, we iterate over\nevery basic block twice to detect section start and end. This is\nsub-optimal and shows up as significantly time consuming when\ncompiling large functions.\n\nThis patch uses the set of sections already stored in MBBSectionRanges\nand iterates over sections rather than basic blocks.\n\nWhen detecting if loclists can be merged, the end label of an entry is\nmatched with the beginning label of the next entry. For the section\ncorresponding to the entry basic block, this is skipped. This is\nbecause the loc list uses the end label corresponding to the function\nwhereas the MBBSectionRanges map uses the function end label.\n\nFor example:\n\n.Lfunc_begin0:\n\t.file\t\n\t.loc\t0 4 0 # ex2.cc:4:0\n\t.cfi_startproc\n.Ltmp0:\n\t#DEBUG_VALUE: test:i <- 7\n\t.loc\t0 8 5 prologue_end # ex2.cc:8:5\n\t....\n.LBB_END0_0:\n\t.cfi_endproc\n\t.section\t.text._Z4testv,\"ax\",@progbits,unique,1\n...\n.Lfunc_end0:\n\t.size\t_Z4testv, .Lfunc_end0-_Z4testv\n\nThe debug loc uses \".LBB_END0_0\" for the end of the section whereas\nMBBSectionRanges uses \".Lfunc_end0\".\n\nIt is alright to skip this as we already check the section corresponding\nto the debugloc entry.","shortMessageHtmlLink":"Fix performance bug in buildLocationList"}},{"before":"a9daae4fafb096253a985054bbfa8482669796e0","after":"ffdf0dd2119fe77d3ebdee9f99087e6b3212303e","ref":"refs/heads/main","pushedAt":"2024-05-03T21:57:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"Change flags to reflect the new bb address map flags.","shortMessageHtmlLink":"Change flags to reflect the new bb address map flags."}},{"before":"9299a136dc34be56ada6d957a438d9d5a7c91df2","after":"a9daae4fafb096253a985054bbfa8482669796e0","ref":"refs/heads/main","pushedAt":"2024-05-03T19:56:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"tmsri","name":"Sriraman Tallam","path":"/tmsri","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/38991943?s=80&v=4"},"commit":{"message":"Propeller config for clang\n\nThis patch adds a Propeller config to cmake to allow building a\nPropeller optimized clang.\n\nBuilding a propeller optimizing clang requires hardware LBR support\nand a built create_llvm_prof binary from: https://github.com/google/autofdo\n\nAdd -DPATH_TO_CREATE_LLVM_PROF= and\n-C /clang/cmake/caches/Propeller.cmake to the cmake\ncommand. To build a propeller optimized binary, build target\npropeller-opt-binary.","shortMessageHtmlLink":"Propeller config for clang"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQyMjozNjoxNC4wMDAwMDBazwAAAAS7YD9T","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOVQyMjozNjoxNC4wMDAwMDBazwAAAAS7YD9T","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNS0wM1QxOTo1Njo0OC4wMDAwMDBazwAAAARBEs7F"}},"title":"Activity ยท tmsri/llvm-project"}