Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline

Feed Advanced Search

Mar 24 2022

mlychkov updated the diff for D122163: [StripDeadDebugInfo] Drop dead CUs.

Added a check that an instruction is inlined before to try to find inlined CUs.

Mar 24 2022, 11:18 PM · Restricted Project, Restricted Project
mlychkov updated the summary of D122163: [StripDeadDebugInfo] Drop dead CUs.
Mar 24 2022, 10:14 PM · Restricted Project, Restricted Project

Mar 22 2022

mlychkov updated the diff for D122163: [StripDeadDebugInfo] Drop dead CUs.

Reduce code duplication.

Mar 22 2022, 1:47 AM · Restricted Project, Restricted Project

Mar 21 2022

mlychkov requested review of D122163: [StripDeadDebugInfo] Drop dead CUs.
Mar 21 2022, 11:11 AM · Restricted Project, Restricted Project

Aug 26 2021

mlychkov added inline comments to D108481: Avoid nullptr dereferencing of 'Constraint'.
Aug 26 2021, 9:11 AM · Restricted Project

Aug 17 2021

mlychkov added inline comments to D108140: [Attributor][FIX] Do not treat byval args as local memory (for now).
Aug 17 2021, 12:19 AM · Restricted Project
mlychkov added inline comments to D108140: [Attributor][FIX] Do not treat byval args as local memory (for now).
Aug 17 2021, 12:17 AM · Restricted Project

Feb 25 2020

mlychkov abandoned D74700: [IR] Remove temporary const operator created in Value::getPointerAlignment().

I'm closing this review as current patch is not fixing the issue properly.

Feb 25 2020, 8:35 AM · Restricted Project

Feb 18 2020

mlychkov added a comment to D74700: [IR] Remove temporary const operator created in Value::getPointerAlignment().

When reading the following definition of method 'MaybeAlign Value::getPointerAlignment(const DataLayout &DL) const' most users assume that Value won't be modified by this method. If we don't guarantee it then it would be nice to remove const-qualifier and change name on something like 'accountPointerAlignment'. As renaming is less possible then a comment might be present that this method may change an IR.

Feb 18 2020, 6:52 AM · Restricted Project

Feb 17 2020

mlychkov added a comment to D74700: [IR] Remove temporary const operator created in Value::getPointerAlignment().

I don't believe the question

Sounds pretty odd to me too. From a quick grep, there's only a handful of destroyConstant() uses outside GlobalOpt, and those tend to deal with BlockAddress only (which is somewhat particular about uses).

was answered. Do we have this guarantee in the first place?

Feb 17 2020, 2:47 AM · Restricted Project
mlychkov created D74700: [IR] Remove temporary const operator created in Value::getPointerAlignment().
Feb 17 2020, 12:50 AM · Restricted Project

Feb 6 2020

mlychkov added a comment to D73131: [IR] Value::getPointerAlignment(): handle pointer constants.

...
Is this alignment accounting intended to be used for getelementptr instructions too?
If yes then may we cleanup extra user after we get TrailingZeros value?

Feb 6 2020, 5:32 AM · Restricted Project
mlychkov added a comment to D73131: [IR] Value::getPointerAlignment(): handle pointer constants.

Hi @lebedev.ri,
We faced some side effect of this patch. During processing of getelementptr instruction it may create new user of this instruction. However this user is not actually used by generated code.
As example, during processing of the following instruction

%3 = load %struct_t*, %struct_t** getelementptr inbounds ([8 x %struct_t*], [8 x %struct_t*]* @globvar, i64 0, i64 0), align 8, !tbaa !16

the following constant expresion is created

Feb 6 2020, 4:56 AM · Restricted Project