Page MenuHomePhabricator

Petar.Avramovic (Petar Avramovic)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 21 2018, 6:39 AM (134 w, 4 d)

Recent Activity

Fri, Sep 18

Petar.Avramovic updated the diff for D86294: AMDGPU/GlobalISel: Add tablegen operator that looks through copies.

Allow patterns to explicitly ask to look through copies.

Fri, Sep 18, 8:28 AM · Restricted Project

Tue, Sep 15

Petar.Avramovic committed rG9b4fa8543431: GlobalISel/IRTranslator resetTargetOptions based on function attributes (authored by Petar.Avramovic).
GlobalISel/IRTranslator resetTargetOptions based on function attributes
Tue, Sep 15, 1:26 AM
Petar.Avramovic closed D87511: GlobalISel/IRTranslator resetTargetOptions based on function attributes.
Tue, Sep 15, 1:26 AM · Restricted Project

Mon, Sep 14

Petar.Avramovic committed rG6e2a86ed5abf: AMDGPU/GlobalISel Check for NoNaNsFPMath in isKnownNeverSNaN (authored by Petar.Avramovic).
AMDGPU/GlobalISel Check for NoNaNsFPMath in isKnownNeverSNaN
Mon, Sep 14, 3:12 AM
Petar.Avramovic committed rG416346d1ca50: AMDGPU/GlobalISel/Emitter Recognize additional 'same operand checks' (authored by Petar.Avramovic).
AMDGPU/GlobalISel/Emitter Recognize additional 'same operand checks'
Mon, Sep 14, 3:11 AM
Petar.Avramovic committed rG0c8f4cd65734: AMDGPU/GlobalISel Add test for non-leaf complex patterns (authored by Petar.Avramovic).
AMDGPU/GlobalISel Add test for non-leaf complex patterns
Mon, Sep 14, 3:11 AM
Petar.Avramovic closed D87456: AMDGPU/GlobalISel Check for NoNaNsFPMath in isKnownNeverSNaN.
Mon, Sep 14, 3:11 AM · Restricted Project
Petar.Avramovic closed D87351: AMDGPU/GlobalISel/Emitter Recognize additional 'same operand checks'.
Mon, Sep 14, 3:11 AM · Restricted Project
Petar.Avramovic committed rG09b8871f8d81: AMDGPU/GlobalISel/Emitter Support for predicate code that uses operands (authored by Petar.Avramovic).
AMDGPU/GlobalISel/Emitter Support for predicate code that uses operands
Mon, Sep 14, 1:40 AM
Petar.Avramovic closed D87285: AMDGPU/GlobalISelemitter Support for predicate code that uses operands.
Mon, Sep 14, 1:40 AM · Restricted Project

Fri, Sep 11

Petar.Avramovic added a comment to D87456: AMDGPU/GlobalISel Check for NoNaNsFPMath in isKnownNeverSNaN.

This will be fixed by in D87511.

Wouldn't it make more sense to change the order of the patches in the stack so that D87511 is applied first and this one is rebaed on top of it?

Fri, Sep 11, 6:57 AM · Restricted Project
Petar.Avramovic updated the diff for D87456: AMDGPU/GlobalISel Check for NoNaNsFPMath in isKnownNeverSNaN.

Move change in IRTranslator in another patch, since effects of that change can only be seen when function attributes are inspected during translation of a function that was not first in input file.
Move check for NoNaNsFPMath in isKnownNeverSNaN.
Reduce number of tests, only keep characteristic ones that will be updated when we add some combines and improvements to legalizer. Later switch to existing test in sdag that also checks for pattern commutes.

Fri, Sep 11, 6:42 AM · Restricted Project
Petar.Avramovic requested review of D87511: GlobalISel/IRTranslator resetTargetOptions based on function attributes.
Fri, Sep 11, 6:34 AM · Restricted Project
Petar.Avramovic updated the diff for D87285: AMDGPU/GlobalISelemitter Support for predicate code that uses operands.

Add assert for StoreIdx.

Fri, Sep 11, 1:55 AM · Restricted Project

Thu, Sep 10

Petar.Avramovic updated the diff for D87285: AMDGPU/GlobalISelemitter Support for predicate code that uses operands.

Factor string generation of operand names into function.

Thu, Sep 10, 8:45 AM · Restricted Project
Petar.Avramovic added a comment to D87351: AMDGPU/GlobalISel/Emitter Recognize additional 'same operand checks'.

min3/max3 patterns are handled in combiner, inducing med3 patterns with constants. Patch imports med3 isel patterns: min(max(a, b), max(min(a, b), c)) but they need some combines/legalize fixes to be selected. From new imports only V_FRACT can be selected at the moment.

Thu, Sep 10, 8:10 AM · Restricted Project
Petar.Avramovic added a comment to D87456: AMDGPU/GlobalISel Check for NoNaNsFPMath in isKnownNeverSNaN.

With G_FCANONICALIZE out of the way, we can now select some of the med3 patterns that were imported in D87351.

Thu, Sep 10, 8:02 AM · Restricted Project
Petar.Avramovic requested review of D87456: AMDGPU/GlobalISel Check for NoNaNsFPMath in isKnownNeverSNaN.
Thu, Sep 10, 7:56 AM · Restricted Project

Wed, Sep 9

Petar.Avramovic updated the diff for D87285: AMDGPU/GlobalISelemitter Support for predicate code that uses operands.

Add more verbose comments, and switch to std::array as container for operands.

Wed, Sep 9, 7:22 AM · Restricted Project
Petar.Avramovic updated the diff for D87351: AMDGPU/GlobalISel/Emitter Recognize additional 'same operand checks'.

Show how this emitter change affects isel, and update tablegen tests.
Add additional checks for complex suboperands for test added in D57980. Neither tablegen nor sdag have check for such pattern and it looks like an error to me (there is no way for tablegen to know that some c++ code that generates two operands will generate same operand x (first out operand) from different input operands - these are operand 1 and 2 of G_ADD instruction). Also, if I checked correctly, there were no patterns like that in llvm upstream. Skip such patterns anyway in GlobalIselEmitter.

Wed, Sep 9, 4:06 AM · Restricted Project
Petar.Avramovic requested review of D87351: AMDGPU/GlobalISel/Emitter Recognize additional 'same operand checks'.
Wed, Sep 9, 1:43 AM · Restricted Project

Tue, Sep 8

Petar.Avramovic added inline comments to D87285: AMDGPU/GlobalISelemitter Support for predicate code that uses operands.
Tue, Sep 8, 7:46 AM · Restricted Project
Petar.Avramovic updated the diff for D86294: AMDGPU/GlobalISel: Add tablegen operator that looks through copies.

Move support for predicate code that uses operands to a separate patch.

Tue, Sep 8, 6:37 AM · Restricted Project
Petar.Avramovic requested review of D87285: AMDGPU/GlobalISelemitter Support for predicate code that uses operands.
Tue, Sep 8, 6:33 AM · Restricted Project

Fri, Sep 4

Petar.Avramovic updated the diff for D86294: AMDGPU/GlobalISel: Add tablegen operator that looks through copies.

Attempt to teach emitter to collect operands that predicate with 'let PredicateCodeUsesOperands = 1' requires.

Fri, Sep 4, 7:51 AM · Restricted Project

Aug 20 2020

Petar.Avramovic requested review of D86294: AMDGPU/GlobalISel: Add tablegen operator that looks through copies.
Aug 20 2020, 8:12 AM · Restricted Project

Aug 17 2020

Petar.Avramovic accepted D86060: AMDGPU/GlobalISel: Start implementing computeKnownBitsForTargetInstr.
Aug 17 2020, 7:31 AM · Restricted Project
Petar.Avramovic accepted D86057: GlobalISel: Reduce G_SHL width if source is extension.
Aug 17 2020, 7:31 AM · Restricted Project

Aug 10 2020

Petar.Avramovic committed rG0d58d9e8fb93: AMDGPU/GlobalISel: Lower G_FREM (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Lower G_FREM
Aug 10 2020, 1:18 AM
Petar.Avramovic closed D84324: AMDGPU/GlobalISel: Lower G_FREM.
Aug 10 2020, 1:18 AM · Restricted Project

Aug 7 2020

Petar.Avramovic updated the diff for D84324: AMDGPU/GlobalISel: Lower G_FREM.

Force promotion to 32-bit first when subtarget doesn't have 16-bit instruction.

Aug 7 2020, 6:29 AM · Restricted Project
Petar.Avramovic updated the diff for D84324: AMDGPU/GlobalISel: Lower G_FREM.

Addressed review comments.

Aug 7 2020, 6:01 AM · Restricted Project

Aug 6 2020

Petar.Avramovic committed rGd893278bba01: [GlobalISel][InlineAsm] Fix matching input constraint to physreg (authored by Petar.Avramovic).
[GlobalISel][InlineAsm] Fix matching input constraint to physreg
Aug 6 2020, 5:36 AM
Petar.Avramovic closed D85122: [GlobalISel][InlineAsm] Fix matching input constraint to physreg.
Aug 6 2020, 5:36 AM · Restricted Project
Petar.Avramovic updated the diff for D84324: AMDGPU/GlobalISel: Lower G_FREM.

Switch to custom lowering and update to match changes in dag custom lowering for frem (and use same lowering for s16 also).

Aug 6 2020, 5:22 AM · Restricted Project
Petar.Avramovic updated subscribers of D85122: [GlobalISel][InlineAsm] Fix matching input constraint to physreg.

@hans, could you please commit this patch for 11.x release?

Aug 6 2020, 12:59 AM · Restricted Project

Aug 3 2020

Petar.Avramovic added a comment to D85122: [GlobalISel][InlineAsm] Fix matching input constraint to physreg.

might be worth to include this also for the 11.x release.

What is the procedure for that?

Aug 3 2020, 7:27 AM · Restricted Project
Petar.Avramovic updated the diff for D85122: [GlobalISel][InlineAsm] Fix matching input constraint to physreg.

Remove else branch.

Aug 3 2020, 7:26 AM · Restricted Project
Petar.Avramovic accepted D82878: AMDGPU/GlobalISel: Apply load bitcast to s.buffer.load intrinsic.
Aug 3 2020, 5:43 AM · Restricted Project
Petar.Avramovic accepted D84646: AMDGPU/GlobalISel: Remove old hacks for boolean selection.
Aug 3 2020, 5:40 AM · Restricted Project
Petar.Avramovic accepted D84376: AMDGPU/GlobalISel: Fix selecting broken copies for s32->s64 anyext.
Aug 3 2020, 5:09 AM · Restricted Project
Petar.Avramovic requested review of D85122: [GlobalISel][InlineAsm] Fix matching input constraint to physreg.
Aug 3 2020, 4:48 AM · Restricted Project
Petar.Avramovic accepted D73940: GlobalISel: Reimplement moreElementsVectorDst.
Aug 3 2020, 12:33 AM · Restricted Project

Jul 24 2020

Petar.Avramovic added a comment to D84533: AMDGPU/GlobalISel: Legalize s33 G_ADD, G_SUB and G_MUL.

Would it make more sense for narrow scalar to widen to the next multiple of 32 itself?

Probably yes, at least for add, sub and mul. It could calculate required scalar size and call widenScalar instead on reporting UnableToLegalize.
I am not so sure if this would be correct in general, maybe some opcodes prefer next-power-of-2 instead of multiple of NarrowSize?

Jul 24 2020, 7:50 AM · Restricted Project
Herald added a project to D84533: AMDGPU/GlobalISel: Legalize s33 G_ADD, G_SUB and G_MUL: Restricted Project.
Jul 24 2020, 7:22 AM · Restricted Project
Petar.Avramovic committed rG47bd41d099c0: AMDGPU/GlobalISel: Select set.inactive intrinsic (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Select set.inactive intrinsic
Jul 24 2020, 1:14 AM
Petar.Avramovic closed D84407: AMDGPU/GlobalISel: Select set.inactive intrinsic.
Jul 24 2020, 1:14 AM · Restricted Project

Jul 23 2020

Herald added a project to D84407: AMDGPU/GlobalISel: Select set.inactive intrinsic: Restricted Project.
Jul 23 2020, 7:26 AM · Restricted Project

Jul 22 2020

Petar.Avramovic updated the diff for D84324: AMDGPU/GlobalISel: Lower G_FREM.

Preserve flags, and use G_INTRINSIC_TRUNC.

Jul 22 2020, 8:57 AM · Restricted Project
Petar.Avramovic added inline comments to D84324: AMDGPU/GlobalISel: Lower G_FREM.
Jul 22 2020, 8:22 AM · Restricted Project
Herald added a project to D84324: AMDGPU/GlobalISel: Lower G_FREM: Restricted Project.
Jul 22 2020, 7:07 AM · Restricted Project
Petar.Avramovic committed rG44967fc60451: AMDGPU: Simplify f16 to i64 custom lowering (authored by Petar.Avramovic).
AMDGPU: Simplify f16 to i64 custom lowering
Jul 22 2020, 1:32 AM
Petar.Avramovic closed D84166: AMDGPU: Simplify f16 to i64 custom lowering.
Jul 22 2020, 1:32 AM · Restricted Project

Jul 21 2020

Petar.Avramovic updated the diff for D84166: AMDGPU: Simplify f16 to i64 custom lowering.

This update also simplifies f16 -> i64 on subtargets without has16BitInsts().
Such targets immediately promote f16 to f32 whenever they encounter f16 def using fp16_to_fp node. Recognize fp16_to_fp input to f32 to i64 and do the same thing as for f16 to i64 conversion. This gives similar(small difference for f16 vectors) results for subtargets with or without has16BitInsts() since f16->i32 gets selected like f16->f32->i32.
Update tests with more detailed checks.

Jul 21 2020, 7:59 AM · Restricted Project

Jul 20 2020

Petar.Avramovic committed rG6a1030aa0e4e: AMDGPU/GlobalISel: Legalize s16->s64 G_FPEXT (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Legalize s16->s64 G_FPEXT
Jul 20 2020, 7:13 AM
Petar.Avramovic closed D84030: AMDGPU/GlobalISel: Legalize s16->s64 G_FPEXT.
Jul 20 2020, 7:13 AM · Restricted Project
Petar.Avramovic added inline comments to D84166: AMDGPU: Simplify f16 to i64 custom lowering.
Jul 20 2020, 6:28 AM · Restricted Project
Petar.Avramovic updated the diff for D84166: AMDGPU: Simplify f16 to i64 custom lowering.

Context was missing.

Jul 20 2020, 6:28 AM · Restricted Project
Herald added a project to D84166: AMDGPU: Simplify f16 to i64 custom lowering: Restricted Project.
Jul 20 2020, 5:48 AM · Restricted Project
Petar.Avramovic updated the diff for D84030: AMDGPU/GlobalISel: Legalize s16->s64 G_FPEXT.

Split G_FPEXT in legalizer. This could also be widenScalar for TypeIndex == 1.

Jul 20 2020, 3:59 AM · Restricted Project
Petar.Avramovic committed rGba938f6388ff: AMDGPU/GlobalISel: Legalize s16->s64 G_FPTOSI/G_FPTOUI (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Legalize s16->s64 G_FPTOSI/G_FPTOUI
Jul 20 2020, 2:07 AM
Petar.Avramovic closed D84010: AMDGPU/GlobalISel: Legalize s16->s64 G_FPTOSI/G_FPTOUI.
Jul 20 2020, 2:06 AM · Restricted Project

Jul 17 2020

Petar.Avramovic updated the diff for D84010: AMDGPU/GlobalISel: Legalize s16->s64 G_FPTOSI/G_FPTOUI.
Jul 17 2020, 9:00 AM · Restricted Project
Herald added a project to D84030: AMDGPU/GlobalISel: Legalize s16->s64 G_FPEXT: Restricted Project.
Jul 17 2020, 8:09 AM · Restricted Project
Petar.Avramovic updated the diff for D84010: AMDGPU/GlobalISel: Legalize s16->s64 G_FPTOSI/G_FPTOUI.

This might be narrowScalar on TypeIndex==0 but it requires that s16 is at TypeIndex==1 thus I used custom legalize.

Jul 17 2020, 4:23 AM · Restricted Project
Herald added a project to D84010: AMDGPU/GlobalISel: Legalize s16->s64 G_FPTOSI/G_FPTOUI: Restricted Project.
Jul 17 2020, 3:07 AM · Restricted Project

Jul 16 2020

Petar.Avramovic committed rG6850033ca68b: AMDGPU/GlobalISel: Legalize s64->s16 G_SITOFP/G_UITOFP (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Legalize s64->s16 G_SITOFP/G_UITOFP
Jul 16 2020, 7:32 AM
Petar.Avramovic closed D83880: AMDGPU/GlobalISel: Legalize s64->s16 G_SITOFP/G_UITOFP.
Jul 16 2020, 7:32 AM · Restricted Project
Petar.Avramovic updated the diff for D83880: AMDGPU/GlobalISel: Legalize s64->s16 G_SITOFP/G_UITOFP.
Jul 16 2020, 4:12 AM · Restricted Project
Petar.Avramovic committed rG5658002b80c1: AMDGPU/GlobalISel: Select G_FREEZE (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Select G_FREEZE
Jul 16 2020, 2:11 AM
Petar.Avramovic closed D83031: AMDGPU/GlobalISel: Select G_FREEZE.
Jul 16 2020, 2:11 AM · Restricted Project

Jul 15 2020

Herald added a project to D83880: AMDGPU/GlobalISel: Legalize s64->s16 G_SITOFP/G_UITOFP: Restricted Project.
Jul 15 2020, 8:22 AM · Restricted Project
Petar.Avramovic updated the diff for D83031: AMDGPU/GlobalISel: Select G_FREEZE.

Remove tests with preassigned banks, use icmp to produce vcc freeze. Add liveins to functions that didn't have them.

Jul 15 2020, 5:34 AM · Restricted Project

Jul 13 2020

Petar.Avramovic committed rGfd85b40aee4a: [GlobalISel][InlineAsm] Fix buildCopy for inputs (authored by Petar.Avramovic).
[GlobalISel][InlineAsm] Fix buildCopy for inputs
Jul 13 2020, 1:53 AM
Petar.Avramovic closed D83384: [GlobalISel][InlineAsm] Fix buildCopy for inputs.
Jul 13 2020, 1:53 AM · Restricted Project

Jul 10 2020

Petar.Avramovic updated the diff for D83384: [GlobalISel][InlineAsm] Fix buildCopy for inputs.

Move isValid check on top.

Jul 10 2020, 1:57 AM · Restricted Project

Jul 9 2020

Petar.Avramovic added inline comments to D83384: [GlobalISel][InlineAsm] Fix buildCopy for inputs.
Jul 9 2020, 1:24 AM · Restricted Project

Jul 8 2020

Petar.Avramovic updated the diff for D83384: [GlobalISel][InlineAsm] Fix buildCopy for inputs.
Jul 8 2020, 7:18 AM · Restricted Project
Herald added a project to D83384: [GlobalISel][InlineAsm] Fix buildCopy for inputs: Restricted Project.
Jul 8 2020, 4:40 AM · Restricted Project
Petar.Avramovic committed rG419c92a74929: [GlobalISel][InlineAsm] Fix matching input constraints to mem operand (authored by Petar.Avramovic).
[GlobalISel][InlineAsm] Fix matching input constraints to mem operand
Jul 8 2020, 3:33 AM
Petar.Avramovic closed D83235: [GlobalISel][InlineAsm] Fix matching input constraints to mem operand.
Jul 8 2020, 3:33 AM · Restricted Project

Jul 7 2020

Petar.Avramovic added inline comments to D83235: [GlobalISel][InlineAsm] Fix matching input constraints to mem operand.
Jul 7 2020, 8:13 AM · Restricted Project
Petar.Avramovic updated the diff for D83031: AMDGPU/GlobalISel: Select G_FREEZE.

Add a few sgpr,agpr and vcc tests similar to ones from regbankselect-copy.mir. Original tests were from legalize-freeze.mir

Jul 7 2020, 7:52 AM · Restricted Project

Jul 6 2020

Petar.Avramovic added a comment to D83235: [GlobalISel][InlineAsm] Fix matching input constraints to mem operand.

This fixes assert and makes this test mentioned in D82651 to fallback for aarch64.
This seem to have different handling on different targets. I don't know what is the best way to handle this since it looks to me that custom handling has to be done in different places
Just adding same flag and register as MatchedOperand works for this example but from this comment

Jul 6 2020, 9:02 AM · Restricted Project
Herald added a project to D83235: [GlobalISel][InlineAsm] Fix matching input constraints to mem operand: Restricted Project.
Jul 6 2020, 9:00 AM · Restricted Project

Jul 3 2020

Petar.Avramovic added a comment to D82651: [GlobalISel][InlineAsm] Add support for matching input constraints.

I see. I expected that reg class was already determined when previous operand was processed. I will take a look, first operand should have probably asked TargetRegisterInfo for PointerRegClass.

Jul 3 2020, 8:34 AM · Restricted Project

Jul 2 2020

Petar.Avramovic created D83031: AMDGPU/GlobalISel: Select G_FREEZE.
Jul 2 2020, 3:43 AM · Restricted Project

Jul 1 2020

Petar.Avramovic committed rG4b9ae1b7e5e0: AMDGPU/GlobalISel: Select init_exec intrinsic (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Select init_exec intrinsic
Jul 1 2020, 3:12 AM
Petar.Avramovic closed D82885: AMDGPU/GlobalISel: Select init_exec intrinsic.
Jul 1 2020, 3:12 AM · Restricted Project

Jun 30 2020

Petar.Avramovic created D82885: AMDGPU/GlobalISel: Select init_exec intrinsic.
Jun 30 2020, 9:11 AM · Restricted Project
Petar.Avramovic committed rGd7173826331e: AMDGPU/GlobalISel: Select icmp intrinsic (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Select icmp intrinsic
Jun 30 2020, 2:08 AM
Petar.Avramovic committed rG4b980cc9ca08: [GlobalISel][InlineAsm] Add support for matching input constraints (authored by Petar.Avramovic).
[GlobalISel][InlineAsm] Add support for matching input constraints
Jun 30 2020, 2:08 AM
Petar.Avramovic closed D82652: AMDGPU/GlobalISel: Select icmp intrinsic.
Jun 30 2020, 2:08 AM · Restricted Project
Petar.Avramovic closed D82651: [GlobalISel][InlineAsm] Add support for matching input constraints.
Jun 30 2020, 2:08 AM · Restricted Project

Jun 29 2020

Petar.Avramovic updated the diff for D82652: AMDGPU/GlobalISel: Select icmp intrinsic.

Replace assert with isel fail.

Jun 29 2020, 6:58 AM · Restricted Project
Petar.Avramovic updated the diff for D82651: [GlobalISel][InlineAsm] Add support for matching input constraints.

Added tests for matching constraints that involve sgpr. Also added one more test file with comparison between 'register class constraint' and 'matching constraint' in final asm output.

Jun 29 2020, 6:26 AM · Restricted Project

Jun 26 2020

Petar.Avramovic created D82652: AMDGPU/GlobalISel: Select icmp intrinsic.
Jun 26 2020, 6:30 AM · Restricted Project
Petar.Avramovic created D82651: [GlobalISel][InlineAsm] Add support for matching input constraints.
Jun 26 2020, 5:58 AM · Restricted Project

Jun 11 2020

Petar.Avramovic committed rGbd3d951b8bb9: AMDGPU/GlobalISel: Fix lower for f64->f16 G_FPTRUNC (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Fix lower for f64->f16 G_FPTRUNC
Jun 11 2020, 9:22 AM
Petar.Avramovic closed D81666: AMDGPU/GlobalISel: Fix lower for f64->f16 G_FPTRUNC .
Jun 11 2020, 9:21 AM · Restricted Project