Re: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support.
On 9/8/22 20:45, Eugene Rozenfeld wrote: Jason, Thank for your suggestion. The patch is updated (attached). @@ -467,12 +471,19 @@ lto_location_cache::apply_location_cache () current_loc = set_block (current_loc, loc.block); else current_loc = LOCATION_LOCUS (current_loc); + if (loc.discr) + current_loc = location_with_discriminator (current_loc, loc.discr); + } + else if (current_discr != loc.discr) + { + current_loc = location_with_discriminator (current_loc, loc.discr); } We usually don't use { } around a single line. @@ -1180,6 +1206,7 @@ assign_discriminators (void) location_t locus = last ? gimple_location (last) : UNKNOWN_LOCATION; if (locus == UNKNOWN_LOCATION) + continue; Stray newline. OK with those tweaks. Jason
RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support.
Hi Jason, Do you have any more feedback for this patch? Thanks, Eugene -Original Message- From: Eugene Rozenfeld Sent: Thursday, September 08, 2022 5:46 PM To: Jason Merrill ; gcc-patches@gcc.gnu.org Cc: Andi Kleen ; Jan Hubicka Subject: RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support. Jason, Thank for your suggestion. The patch is updated (attached). Thanks, Eugene -Original Message- From: Jason Merrill Sent: Thursday, September 08, 2022 10:26 AM To: Eugene Rozenfeld ; gcc-patches@gcc.gnu.org Cc: Andi Kleen ; Jan Hubicka Subject: Re: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support. On 9/1/22 18:22, Eugene Rozenfeld wrote: > Jason, > > I made another small change in addressing your feedback (attached). > > Thanks, > > Eugene > > -Original Message- > From: Gcc-patches > On Behalf Of > Eugene Rozenfeld via Gcc-patches > Sent: Thursday, September 01, 2022 1:49 PM > To: Jason Merrill ; gcc-patches@gcc.gnu.org > Cc: Andi Kleen ; Jan Hubicka > Subject: RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator > support. > > Jason, > > Thank you for your review. You are correct, we only need to check > has_discriminator for the statement that's on the same line. > I updated the patch (attached). > > Thanks, > > Eugene > > -Original Message- > From: Jason Merrill > Sent: Thursday, August 18, 2022 6:55 PM > To: Eugene Rozenfeld ; > gcc-patches@gcc.gnu.org > Cc: Andi Kleen ; Jan Hubicka > Subject: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator > support. > > On 8/3/22 17:25, Eugene Rozenfeld wrote: >> One more ping for this patch >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. >> gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data= >> 0 >> 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da8 >> 1 >> 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63796470932569195 >> 1 >> %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6 >> I >> k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2d >> T >> DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 >> >> CC Jason since this changes discriminators emitted in dwarf. >> >> Thanks, >> >> Eugene >> >> -Original Message- >> From: Eugene Rozenfeld >> Sent: Monday, June 27, 2022 12:45 PM >> To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan >> Hubicka >> Subject: RE: [PING][PATCH] Add instruction level discriminator support. >> >> Another ping for >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=05%7C01%7Ceugene.rozenfeld%40microsoft.com%7Cc7c9fab519184eee0bb808da91bf2fea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637982547579085499%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Kj3YWJrDqjX%2B0Ml3At5P8NRWc1Xs6mbI%2F1vCk9%2BLaQs%3D&reserved=0 >> . >> >> I got a review from Andi >> (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596549.html&data=05%7C01%7Ceugene.rozenfeld%40microsoft.com%7Cc7c9fab519184eee0bb808da91bf2fea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637982547579085499%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=NBzFtD0mH7EYKxsVWfqZgSpQmUG18SIt01XRYUlwwW4%3D&reserved=0) >> but I also need a review from someone who can approve the changes. >> >> Thanks, >> >> Eugene >> >> -Original Message- >> From: Eugene Rozenfeld >> Sent: Friday, June 10, 2022 12:03 PM >> To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan >> Hubicka >> Subject: [PING][PATCH] Add instruction level discriminator support. >> >> Hello, >> >> I'd like to ping this patch: >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. >> gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data= >> 0 >> 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da8 >> 1 >> 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63796470932569195 >> 1 >> %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6 >> I >> k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2d >> T >> DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 >> >> Thanks, >> >> Eugene >> >> -Orig
RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support.
Jason, Thank for your suggestion. The patch is updated (attached). Thanks, Eugene -Original Message- From: Jason Merrill Sent: Thursday, September 08, 2022 10:26 AM To: Eugene Rozenfeld ; gcc-patches@gcc.gnu.org Cc: Andi Kleen ; Jan Hubicka Subject: Re: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support. On 9/1/22 18:22, Eugene Rozenfeld wrote: > Jason, > > I made another small change in addressing your feedback (attached). > > Thanks, > > Eugene > > -Original Message- > From: Gcc-patches > On Behalf Of > Eugene Rozenfeld via Gcc-patches > Sent: Thursday, September 01, 2022 1:49 PM > To: Jason Merrill ; gcc-patches@gcc.gnu.org > Cc: Andi Kleen ; Jan Hubicka > Subject: RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator > support. > > Jason, > > Thank you for your review. You are correct, we only need to check > has_discriminator for the statement that's on the same line. > I updated the patch (attached). > > Thanks, > > Eugene > > -Original Message- > From: Jason Merrill > Sent: Thursday, August 18, 2022 6:55 PM > To: Eugene Rozenfeld ; > gcc-patches@gcc.gnu.org > Cc: Andi Kleen ; Jan Hubicka > Subject: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator > support. > > On 8/3/22 17:25, Eugene Rozenfeld wrote: >> One more ping for this patch >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. >> gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data= >> 0 >> 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da8 >> 1 >> 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63796470932569195 >> 1 >> %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6 >> I >> k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2d >> T >> DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 >> >> CC Jason since this changes discriminators emitted in dwarf. >> >> Thanks, >> >> Eugene >> >> -Original Message- >> From: Eugene Rozenfeld >> Sent: Monday, June 27, 2022 12:45 PM >> To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan >> Hubicka >> Subject: RE: [PING][PATCH] Add instruction level discriminator support. >> >> Another ping for >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=05%7C01%7Ceugene.rozenfeld%40microsoft.com%7Cc7c9fab519184eee0bb808da91bf2fea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637982547579085499%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Kj3YWJrDqjX%2B0Ml3At5P8NRWc1Xs6mbI%2F1vCk9%2BLaQs%3D&reserved=0 >> . >> >> I got a review from Andi >> (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596549.html&data=05%7C01%7Ceugene.rozenfeld%40microsoft.com%7Cc7c9fab519184eee0bb808da91bf2fea%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637982547579085499%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=NBzFtD0mH7EYKxsVWfqZgSpQmUG18SIt01XRYUlwwW4%3D&reserved=0) >> but I also need a review from someone who can approve the changes. >> >> Thanks, >> >> Eugene >> >> -Original Message- >> From: Eugene Rozenfeld >> Sent: Friday, June 10, 2022 12:03 PM >> To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan >> Hubicka >> Subject: [PING][PATCH] Add instruction level discriminator support. >> >> Hello, >> >> I'd like to ping this patch: >> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. >> gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data= >> 0 >> 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da8 >> 1 >> 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63796470932569195 >> 1 >> %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6 >> I >> k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2d >> T >> DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 >> >> Thanks, >> >> Eugene >> >> -Original Message- >> From: Gcc-patches >> On Behalf Of >> Eugene Rozenfeld via Gcc-patches >> Sent: Thursday, June 02, 2022 12:22 AM >> To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan >> Hubicka >> Subject: [EXTERNAL] [PATCH] Add instruction level discriminator support. >&
Re: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support.
On 9/1/22 18:22, Eugene Rozenfeld wrote: Jason, I made another small change in addressing your feedback (attached). Thanks, Eugene -Original Message- From: Gcc-patches On Behalf Of Eugene Rozenfeld via Gcc-patches Sent: Thursday, September 01, 2022 1:49 PM To: Jason Merrill ; gcc-patches@gcc.gnu.org Cc: Andi Kleen ; Jan Hubicka Subject: RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support. Jason, Thank you for your review. You are correct, we only need to check has_discriminator for the statement that's on the same line. I updated the patch (attached). Thanks, Eugene -Original Message- From: Jason Merrill Sent: Thursday, August 18, 2022 6:55 PM To: Eugene Rozenfeld ; gcc-patches@gcc.gnu.org Cc: Andi Kleen ; Jan Hubicka Subject: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support. On 8/3/22 17:25, Eugene Rozenfeld wrote: One more ping for this patch https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=0 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da81 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637964709325691951 %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2dT DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 CC Jason since this changes discriminators emitted in dwarf. Thanks, Eugene -Original Message- From: Eugene Rozenfeld Sent: Monday, June 27, 2022 12:45 PM To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan Hubicka Subject: RE: [PING][PATCH] Add instruction level discriminator support. Another ping for https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=05%7C01%7CEugene.Rozenfeld%40microsoft.com%7Cf217ebc45428465857bd08da8c5b6fb2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637976621612503972%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=b0kTdzWRyiwdtcEFasyNlKv1vj%2FqwnipN3776C7xWcg%3D&reserved=0 . I got a review from Andi (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596549.html&data=05%7C01%7CEugene.Rozenfeld%40microsoft.com%7Cf217ebc45428465857bd08da8c5b6fb2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637976621612503972%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qxjBUCcGiKXtR4%2BOJq%2FFQN11C2M6BBurTguOBOjWJDw%3D&reserved=0) but I also need a review from someone who can approve the changes. Thanks, Eugene -Original Message- From: Eugene Rozenfeld Sent: Friday, June 10, 2022 12:03 PM To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan Hubicka Subject: [PING][PATCH] Add instruction level discriminator support. Hello, I'd like to ping this patch: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=0 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da81 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637964709325691951 %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2dT DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 Thanks, Eugene -Original Message- From: Gcc-patches On Behalf Of Eugene Rozenfeld via Gcc-patches Sent: Thursday, June 02, 2022 12:22 AM To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan Hubicka Subject: [EXTERNAL] [PATCH] Add instruction level discriminator support. This is the first in a series of patches to enable discriminator support in AutoFDO. This patch switches to tracking discriminators per statement/instruction instead of per basic block. Tracking per basic block was problematic since not all statements in a basic block needed a discriminator and, also, later optimizations could move statements between basic blocks making correlation during AutoFDO compilation unreliable. Tracking per statement also allows us to assign different discriminators to multiple function calls in the same basic block. A subsequent patch will add that support. The idea of this patch is based on commit 4c311d95cf6d9519c3c20f641cc77af7df491fdf by Dehao Chen in vendors/google/heads/gcc-4_8 but uses a slightly different approach. In Dehao's work special (normally unused) location ids and side tables were used to keep track of locations with discriminators. Things have changed since then and I don't think we have unused location ids anymore. Instead, I made discriminators a part of ad-hoc locations. The difference from Dehao's work also includes support for discriminator reading/writing in lto streaming and in modules. Tested on x8
RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support.
Jason, I made another small change in addressing your feedback (attached). Thanks, Eugene -Original Message- From: Gcc-patches On Behalf Of Eugene Rozenfeld via Gcc-patches Sent: Thursday, September 01, 2022 1:49 PM To: Jason Merrill ; gcc-patches@gcc.gnu.org Cc: Andi Kleen ; Jan Hubicka Subject: RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support. Jason, Thank you for your review. You are correct, we only need to check has_discriminator for the statement that's on the same line. I updated the patch (attached). Thanks, Eugene -Original Message- From: Jason Merrill Sent: Thursday, August 18, 2022 6:55 PM To: Eugene Rozenfeld ; gcc-patches@gcc.gnu.org Cc: Andi Kleen ; Jan Hubicka Subject: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support. On 8/3/22 17:25, Eugene Rozenfeld wrote: > One more ping for this patch > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. > gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=0 > 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da81 > 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637964709325691951 > %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I > k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2dT > DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 > > CC Jason since this changes discriminators emitted in dwarf. > > Thanks, > > Eugene > > -Original Message- > From: Eugene Rozenfeld > Sent: Monday, June 27, 2022 12:45 PM > To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan > Hubicka > Subject: RE: [PING][PATCH] Add instruction level discriminator support. > > Another ping for > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=05%7C01%7CEugene.Rozenfeld%40microsoft.com%7Cf217ebc45428465857bd08da8c5b6fb2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637976621612503972%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=b0kTdzWRyiwdtcEFasyNlKv1vj%2FqwnipN3776C7xWcg%3D&reserved=0 > . > > I got a review from Andi > (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596549.html&data=05%7C01%7CEugene.Rozenfeld%40microsoft.com%7Cf217ebc45428465857bd08da8c5b6fb2%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637976621612503972%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=qxjBUCcGiKXtR4%2BOJq%2FFQN11C2M6BBurTguOBOjWJDw%3D&reserved=0) > but I also need a review from someone who can approve the changes. > > Thanks, > > Eugene > > -Original Message- > From: Eugene Rozenfeld > Sent: Friday, June 10, 2022 12:03 PM > To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan > Hubicka > Subject: [PING][PATCH] Add instruction level discriminator support. > > Hello, > > I'd like to ping this patch: > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. > gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=0 > 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da81 > 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637964709325691951 > %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I > k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2dT > DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 > > Thanks, > > Eugene > > -Original Message- > From: Gcc-patches > On Behalf Of > Eugene Rozenfeld via Gcc-patches > Sent: Thursday, June 02, 2022 12:22 AM > To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan > Hubicka > Subject: [EXTERNAL] [PATCH] Add instruction level discriminator support. > > This is the first in a series of patches to enable discriminator support in > AutoFDO. > > This patch switches to tracking discriminators per statement/instruction > instead of per basic block. Tracking per basic block was problematic since > not all statements in a basic block needed a discriminator and, also, later > optimizations could move statements between basic blocks making correlation > during AutoFDO compilation unreliable. Tracking per statement also allows us > to assign different discriminators to multiple function calls in the same > basic block. A subsequent patch will add that support. > > The idea of this patch is based on commit > 4c311d95cf6d9519c3c20f641cc77af7df491fdf > by Dehao Chen in vendors/google/heads/gcc-4_8 but uses a slightly different > approach. In Dehao's work special (normally unused) location ids and side > tables
RE: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support.
Jason, Thank you for your review. You are correct, we only need to check has_discriminator for the statement that's on the same line. I updated the patch (attached). Thanks, Eugene -Original Message- From: Jason Merrill Sent: Thursday, August 18, 2022 6:55 PM To: Eugene Rozenfeld ; gcc-patches@gcc.gnu.org Cc: Andi Kleen ; Jan Hubicka Subject: [EXTERNAL] Re: [PING][PATCH] Add instruction level discriminator support. On 8/3/22 17:25, Eugene Rozenfeld wrote: > One more ping for this patch > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. > gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=0 > 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da81 > 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637964709325691951 > %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I > k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2dT > DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 > > CC Jason since this changes discriminators emitted in dwarf. > > Thanks, > > Eugene > > -Original Message- > From: Eugene Rozenfeld > Sent: Monday, June 27, 2022 12:45 PM > To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan > Hubicka > Subject: RE: [PING][PATCH] Add instruction level discriminator support. > > Another ping for > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=05%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da8185dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637964709325691951%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2dTDYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 > . > > I got a review from Andi > (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596549.html&data=05%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da8185dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637964709325691951%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=se6x1LD0GQyFz%2B28gdVqsye3Aw8kPoMRhVQO1BSPg6I%3D&reserved=0) > but I also need a review from someone who can approve the changes. > > Thanks, > > Eugene > > -Original Message- > From: Eugene Rozenfeld > Sent: Friday, June 10, 2022 12:03 PM > To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan > Hubicka > Subject: [PING][PATCH] Add instruction level discriminator support. > > Hello, > > I'd like to ping this patch: > https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc. > gnu.org%2Fpipermail%2Fgcc-patches%2F2022-June%2F596065.html&data=0 > 5%7C01%7Ceugene.rozenfeld%40microsoft.com%7C3e9ebe6dd5b14fe4471808da81 > 85dc68%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637964709325691951 > %7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6I > k1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=K%2BMx6jelnED3n%2Be2dT > DYAPOqZZ8Zlsd2%2FyPJ0qib5%2FM%3D&reserved=0 > > Thanks, > > Eugene > > -Original Message- > From: Gcc-patches > On Behalf Of > Eugene Rozenfeld via Gcc-patches > Sent: Thursday, June 02, 2022 12:22 AM > To: gcc-patches@gcc.gnu.org; Andi Kleen ; Jan > Hubicka > Subject: [EXTERNAL] [PATCH] Add instruction level discriminator support. > > This is the first in a series of patches to enable discriminator support in > AutoFDO. > > This patch switches to tracking discriminators per statement/instruction > instead of per basic block. Tracking per basic block was problematic since > not all statements in a basic block needed a discriminator and, also, later > optimizations could move statements between basic blocks making correlation > during AutoFDO compilation unreliable. Tracking per statement also allows us > to assign different discriminators to multiple function calls in the same > basic block. A subsequent patch will add that support. > > The idea of this patch is based on commit > 4c311d95cf6d9519c3c20f641cc77af7df491fdf > by Dehao Chen in vendors/google/heads/gcc-4_8 but uses a slightly different > approach. In Dehao's work special (normally unused) location ids and side > tables were used to keep track of locations with discriminators. Things have > changed since then and I don't think we have unused location ids anymore. > Instead, I made discriminators a part of ad-hoc locations. > > The difference from Dehao's work also includes support for discriminator > reading/writing in lto streaming and in modules. > > Tested on x86_64-pc-linux-gnu. > @@ -1190,12 +1217,12 @@ assign_discriminators (void) > || (last && same_line_p (locus, &locus_e, > gimple_location (last > { > - if (e->dest->discriminator != 0 && bb->discriminator == 0) > - bb->discriminator > - =