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 (174 w, 1 d)

Recent Activity

Thu, Jun 17

Petar.Avramovic updated the diff for D104408: AMDGPU/GlobalISel: Do not fcanonicalize const splat padded with undef.

Merge with G_FCONSTANT case above.

Thu, Jun 17, 8:14 AM · Restricted Project
Petar.Avramovic updated the diff for D104408: AMDGPU/GlobalISel: Do not fcanonicalize const splat padded with undef.

Fix cases of SNaN and QNaN constant splats padded with undef, also add test for them.

Thu, Jun 17, 7:18 AM · Restricted Project
Petar.Avramovic updated the diff for D90052: AMDGPU/GlobalISel: Add clamp combine.

Add one test for splat padded with undef with ieee=true and dx10_clamp=true.

Thu, Jun 17, 6:33 AM · Restricted Project
Petar.Avramovic updated the diff for D104408: AMDGPU/GlobalISel: Do not fcanonicalize const splat padded with undef.

Move to isCanonicalized and post-legalizer combiner.

Thu, Jun 17, 6:27 AM · Restricted Project
Petar.Avramovic added inline comments to D104410: GlobalISel/Utils: Add util function and matcher for constant splat.
Thu, Jun 17, 2:22 AM · Restricted Project

Wed, Jun 16

Petar.Avramovic added a comment to D104408: AMDGPU/GlobalISel: Do not fcanonicalize const splat padded with undef.

This is required to match splat that was padded with undef into clamp D90052. When undef is used to pad with element that does not affect the result we interpret it in a way to clamp other elements.

Wed, Jun 16, 12:07 PM · Restricted Project
Petar.Avramovic updated the diff for D90052: AMDGPU/GlobalISel: Add clamp combine.

Rebase/rework.

Wed, Jun 16, 11:58 AM · Restricted Project
Petar.Avramovic updated the diff for D90051: AMDGPU/GlobalISel: Add floating point med3 combine.

Rebase/rework.

Wed, Jun 16, 11:55 AM · Restricted Project
Petar.Avramovic requested review of D104410: GlobalISel/Utils: Add util function and matcher for constant splat.
Wed, Jun 16, 11:53 AM · Restricted Project
Petar.Avramovic requested review of D104409: GlobalISel/Utils: Allow constant match to not match integer constants.
Wed, Jun 16, 11:52 AM · Restricted Project
Petar.Avramovic requested review of D104408: AMDGPU/GlobalISel: Do not fcanonicalize const splat padded with undef.
Wed, Jun 16, 11:50 AM · Restricted Project
Petar.Avramovic added inline comments to D104355: [GlobalISel] Add a new artifact combiner for unmerge which looks through general artifact expressions..
Wed, Jun 16, 4:27 AM · Restricted Project

May 10 2021

Petar.Avramovic committed rGf6985a197ef9: AMDGPU/GlobalISel: Use destination register bank in applyMappingLoad (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Use destination register bank in applyMappingLoad
May 10 2021, 1:21 AM
Petar.Avramovic closed D101992: AMDGPU/GlobalISel: Use destination register bank in applyMappingLoad.
May 10 2021, 1:21 AM · Restricted Project
Petar.Avramovic committed rGd13ce17bb400: AMDGPU/GlobalISel: Add regbankselect test for vgpr(dest) sgpr(address) load (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Add regbankselect test for vgpr(dest) sgpr(address) load
May 10 2021, 1:21 AM

May 7 2021

Petar.Avramovic added a comment to D101992: AMDGPU/GlobalISel: Use destination register bank in applyMappingLoad.

Can you also add an end to end IR test for this case

No longer possible because of D101962 (also was way too large for lit test).
I did find another test, it needs -mattr=+unaligned-access-mode and align 1 to pass through legalizer and get vgpr dst + sgpr address.

May 7 2021, 4:35 AM · Restricted Project
Petar.Avramovic updated the diff for D101992: AMDGPU/GlobalISel: Use destination register bank in applyMappingLoad.

Test split for precommit, found another test for end to end run.

May 7 2021, 4:31 AM · Restricted Project
Petar.Avramovic added inline comments to D101992: AMDGPU/GlobalISel: Use destination register bank in applyMappingLoad.
May 7 2021, 3:20 AM · Restricted Project

May 6 2021

Petar.Avramovic added a comment to D101992: AMDGPU/GlobalISel: Use destination register bank in applyMappingLoad.

This was detected on gfx7 on large test (few hundred lines) with many uniform loads.
Loads in first ~200 lines had amdgpu.noclobber but after some threshold they did not.
AnnotateUniformValues was relying on MemoryDependenceResults::getSimplePointerDependencyFrom which gives up at some point and returns MemDepResult::getUnknown() resulting in amdgpu.noclobber not being set on address. Such load will be selected using vgpr destination (and sgpr address on gfx7).
In the case of mentioned test, amdgpu.noclobber not being set is fixed by D101962. Thus only mir test.

May 6 2021, 6:17 AM · Restricted Project
Petar.Avramovic requested review of D101992: AMDGPU/GlobalISel: Use destination register bank in applyMappingLoad.
May 6 2021, 6:17 AM · Restricted Project

Apr 29 2021

Petar.Avramovic committed rGc34900e1335d: AMDGPU/GlobalISel: Fix selection of image intrinsics with unused return (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Fix selection of image intrinsics with unused return
Apr 29 2021, 11:57 AM
Petar.Avramovic closed D101448: AMDGPU/GlobalISel: Fix selection of image intrinsics with unused return.
Apr 29 2021, 11:57 AM · Restricted Project

Apr 28 2021

Petar.Avramovic requested review of D101448: AMDGPU/GlobalISel: Fix selection of image intrinsics with unused return.
Apr 28 2021, 5:57 AM · Restricted Project

Apr 27 2021

Petar.Avramovic committed rG8110fcc8fc56: AMDGPU/GlobalISel: Fix negative offset folding for buffer_load (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Fix negative offset folding for buffer_load
Apr 27 2021, 5:47 AM
Petar.Avramovic committed rG6a3e1b3531c0: AMDGPU/GlobalISel: Add test for buffer_load with negative offset (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Add test for buffer_load with negative offset
Apr 27 2021, 5:47 AM
Petar.Avramovic closed D91336: AMDGPU/GlobalISel: Fix negative offset folding for buffer_load.
Apr 27 2021, 5:47 AM · Restricted Project
Petar.Avramovic committed rGfb7be0d912cb: AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE
Apr 27 2021, 3:27 AM
Petar.Avramovic closed D96605: AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE.
Apr 27 2021, 3:27 AM · Restricted Project
Petar.Avramovic committed rG4a9bc59867b6: AMDGPU/GlobalISel: Add integer med3 combines (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Add integer med3 combines
Apr 27 2021, 2:54 AM
Petar.Avramovic closed D90050: AMDGPU/GlobalISel: Add integer med3 combines.
Apr 27 2021, 2:54 AM · Restricted Project
Petar.Avramovic committed rG4c6eb3886c50: [MIPatternMatch]: Add matchers for binary instructions (authored by Petar.Avramovic).
[MIPatternMatch]: Add matchers for binary instructions
Apr 27 2021, 2:39 AM
Petar.Avramovic closed D99736: [MIPatternMatch]: Add matchers for binary instructions.
Apr 27 2021, 2:38 AM · Restricted Project
Petar.Avramovic committed rG39662abf720f: [MIPatternMatch]: Add mi_match for MachineInstr (authored by Petar.Avramovic).
[MIPatternMatch]: Add mi_match for MachineInstr
Apr 27 2021, 2:29 AM
Petar.Avramovic closed D99735: [MIPatternMatch]: Add mi_match for MachineInstr.
Apr 27 2021, 2:28 AM · Restricted Project
Petar.Avramovic committed rGebe408ad8003: [MIPatternMatch]: Add ICstRegMatch (authored by Petar.Avramovic).
[MIPatternMatch]: Add ICstRegMatch
Apr 27 2021, 2:03 AM
Petar.Avramovic committed rG0713c82b13ad: [GlobalISel]: Add a getConstantIntVRegVal utility (authored by Petar.Avramovic).
[GlobalISel]: Add a getConstantIntVRegVal utility
Apr 27 2021, 2:03 AM
Petar.Avramovic closed D99734: [MIPatternMatch]: Add ICstRegMatch.
Apr 27 2021, 2:03 AM · Restricted Project
Petar.Avramovic closed D99733: [GlobalISel]: Add a getConstantIntVRegVal utility.
Apr 27 2021, 2:02 AM · Restricted Project

Apr 26 2021

Petar.Avramovic updated the diff for D99734: [MIPatternMatch]: Add ICstRegMatch.

Add unit test.

Apr 26 2021, 7:06 AM · Restricted Project
Petar.Avramovic added a comment to D99734: [MIPatternMatch]: Add ICstRegMatch.

Ping.

Apr 26 2021, 6:20 AM · Restricted Project
Petar.Avramovic updated the diff for D99736: [MIPatternMatch]: Add matchers for binary instructions.

Removed matchers that don't check opcode.
My guess is that this was originally done as a equivalent of IR/PatternMatch.h.
Thus i also added AnyBinaryOp_match alongside with the version that checks opcode which i originally wanted(named BinaryOpc_match here).
I thought that AnyBinaryOp_match would be useful when we know opcode already so we avoid checking it again, but turns out that at the moment this is not that useful.
I would prefer to leave existing code with opcodes as template arguments like in IR/PatternMatch.h and add new matcher that has opcode as an regular argument instead. m_Add ect. are meant to have templated opcode and changing it to regular opcode argument almost guaranteed results in a same thing but brings no improvement.

Apr 26 2021, 5:47 AM · Restricted Project
Petar.Avramovic added inline comments to D90050: AMDGPU/GlobalISel: Add integer med3 combines.
Apr 26 2021, 4:03 AM · Restricted Project
Petar.Avramovic updated the diff for D90050: AMDGPU/GlobalISel: Add integer med3 combines.

Addressed review comments.

Apr 26 2021, 4:03 AM · Restricted Project
Petar.Avramovic added a comment to D99735: [MIPatternMatch]: Add mi_match for MachineInstr.

Ping.

Apr 26 2021, 2:38 AM · Restricted Project
Petar.Avramovic updated the diff for D90050: AMDGPU/GlobalISel: Add integer med3 combines.

Rebase and ping.

Apr 26 2021, 2:38 AM · Restricted Project
Petar.Avramovic updated the diff for D99736: [MIPatternMatch]: Add matchers for binary instructions.

Simplify tests that fail because of non-binary instruction (match register instead of m_ICst) since they fail when number of def/use operands is checked. Update commit message.

Apr 26 2021, 2:28 AM · Restricted Project

Apr 8 2021

Petar.Avramovic updated the diff for D99735: [MIPatternMatch]: Add mi_match for MachineInstr.

Added tests for instructions with 0 and 2 defs.

Apr 8 2021, 5:51 AM · Restricted Project

Apr 2 2021

Petar.Avramovic updated the diff for D99735: [MIPatternMatch]: Add mi_match for MachineInstr.
Apr 2 2021, 11:38 AM · Restricted Project
Petar.Avramovic updated the diff for D99736: [MIPatternMatch]: Add matchers for binary instructions.
Apr 2 2021, 11:37 AM · Restricted Project

Apr 1 2021

Petar.Avramovic updated the diff for D96605: AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE.

Fixed G_FCONSTANT and added test for it.

Apr 1 2021, 8:08 AM · Restricted Project
Petar.Avramovic added reviewers for D99736: [MIPatternMatch]: Add matchers for binary instructions: arsenm, foad.
Apr 1 2021, 8:05 AM · Restricted Project
Petar.Avramovic requested review of D99736: [MIPatternMatch]: Add matchers for binary instructions.
Apr 1 2021, 8:05 AM · Restricted Project
Petar.Avramovic requested review of D99735: [MIPatternMatch]: Add mi_match for MachineInstr.
Apr 1 2021, 8:04 AM · Restricted Project
Petar.Avramovic requested review of D99734: [MIPatternMatch]: Add ICstRegMatch.
Apr 1 2021, 8:03 AM · Restricted Project
Petar.Avramovic requested review of D99733: [GlobalISel]: Add a getConstantIntVRegVal utility.
Apr 1 2021, 8:02 AM · Restricted Project
Petar.Avramovic updated the diff for D90050: AMDGPU/GlobalISel: Add integer med3 combines.

Extracted MIPatternMtach changes.

Apr 1 2021, 8:02 AM · Restricted Project

Mar 31 2021

Petar.Avramovic updated the diff for D96605: AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE.

Added basic version of isCanonicalized for global-isel. Copied from sdag.

Mar 31 2021, 8:41 AM · Restricted Project
Petar.Avramovic updated the diff for D90050: AMDGPU/GlobalISel: Add integer med3 combines.

Rebased. Updated uniform test (Jay fixed reg-bank-select for uniform min and max) and added test for v2i16 which we don't combine.
Renamed G_AMDGPU_MED3 to G_AMDGPU_SMED3 since this patch also adds UMED3.

Mar 31 2021, 4:44 AM · Restricted Project

Mar 29 2021

Petar.Avramovic committed rGb082e6f88acf: [AMDGPU] Extend gfx10 test coverage. NFC. (authored by Petar.Avramovic).
[AMDGPU] Extend gfx10 test coverage. NFC.
Mar 29 2021, 2:17 AM
Petar.Avramovic closed D99267: [AMDGPU] Extend gfx10 test coverage. NFC..
Mar 29 2021, 2:17 AM · Restricted Project

Mar 24 2021

Petar.Avramovic requested review of D99267: [AMDGPU] Extend gfx10 test coverage. NFC..
Mar 24 2021, 7:51 AM · Restricted Project

Mar 12 2021

Petar.Avramovic added inline comments to D98486: [TableGen/GlobalISel] Emit MI_predicate custom code for PatFrags (not only PatFrag).
Mar 12 2021, 6:39 AM · Restricted Project
Petar.Avramovic added a comment to D98486: [TableGen/GlobalISel] Emit MI_predicate custom code for PatFrags (not only PatFrag).

Looks good, I would like for other reviewers to also take a look.

Mar 12 2021, 5:54 AM · Restricted Project

Mar 5 2021

Petar.Avramovic committed rGd44f61f81ca0: Reland [GlobalISel] Combine zext(trunc x) to x (authored by Petar.Avramovic).
Reland [GlobalISel] Combine zext(trunc x) to x
Mar 5 2021, 2:11 AM
Petar.Avramovic committed rG36beaa3ba3b3: Reland AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect (authored by Petar.Avramovic).
Reland AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect
Mar 5 2021, 2:11 AM

Mar 4 2021

Petar.Avramovic committed rGd7834556b7ad: Reland [GlobalISel] Start using vectors in GISelKnownBits (authored by Petar.Avramovic).
Reland [GlobalISel] Start using vectors in GISelKnownBits
Mar 4 2021, 12:47 PM
Petar.Avramovic committed rGbf5a58265047: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect
Mar 4 2021, 6:06 AM
Petar.Avramovic committed rG4112299ee761: [GlobalISel] Combine zext(trunc x) to x (authored by Petar.Avramovic).
[GlobalISel] Combine zext(trunc x) to x
Mar 4 2021, 6:06 AM
Petar.Avramovic committed rG4c8fb7ddd6fa: [GlobalISel] Start using vectors in GISelKnownBits (authored by Petar.Avramovic).
[GlobalISel] Start using vectors in GISelKnownBits
Mar 4 2021, 6:06 AM
Petar.Avramovic closed D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.
Mar 4 2021, 6:06 AM · Restricted Project
Petar.Avramovic closed D96031: [GlobalISel] Combine zext(trunc x) to x.
Mar 4 2021, 6:06 AM · Restricted Project
Petar.Avramovic closed D96122: [GlobalISel] Start using vectors in GISelKnownBits.
Mar 4 2021, 6:06 AM · Restricted Project

Mar 3 2021

Petar.Avramovic updated the diff for D96122: [GlobalISel] Start using vectors in GISelKnownBits.

Removed isVector checks for non-Vector opcodes. Use Register instead of unsigned.

Mar 3 2021, 6:53 AM · Restricted Project

Mar 2 2021

Petar.Avramovic updated the diff for D96122: [GlobalISel] Start using vectors in GISelKnownBits.

Add a few unit tests and break for vector types on some opcodes.

Mar 2 2021, 8:59 AM · Restricted Project

Feb 23 2021

Petar.Avramovic updated the diff for D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.

There is no need for helper state class.

Feb 23 2021, 8:05 AM · Restricted Project
Petar.Avramovic updated the diff for D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.

Dropping icmp move for from this patch. Leaving zext_trunc_fold.
Zext is selected into AND with 1. zext_trunc_fold results in getting rid of the SCC copies when zext was the only instruction between icmp and select/branch.

Feb 23 2021, 7:38 AM · Restricted Project

Feb 18 2021

Petar.Avramovic added inline comments to D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.
Feb 18 2021, 3:54 AM · Restricted Project

Feb 12 2021

Petar.Avramovic committed rGf0d65f40968d: AMDGPU/GlobalISel: Calculate isKnownNeverNaN for fminnum and fmaxnum (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Calculate isKnownNeverNaN for fminnum and fmaxnum
Feb 12 2021, 8:16 AM
Petar.Avramovic committed rG122c649c982f: AMDGPU/GlobalISel: Check values of constants in isKnownNeverNaN (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Check values of constants in isKnownNeverNaN
Feb 12 2021, 8:15 AM
Petar.Avramovic committed rG841ee7423d1c: AMDGPU/GlobalISel: Precommit globalisel tests for isKnownNeverNaN (authored by Petar.Avramovic).
AMDGPU/GlobalISel: Precommit globalisel tests for isKnownNeverNaN
Feb 12 2021, 8:15 AM
Petar.Avramovic closed D91716: AMDGPU/GlobalISel: Calculate isKnownNeverNaN for fminnum and fmaxnum.
Feb 12 2021, 8:15 AM · Restricted Project
Petar.Avramovic closed D91714: AMDGPU/GlobalISel: Check values of constants in isKnownNeverNaN.
Feb 12 2021, 8:15 AM · Restricted Project
Petar.Avramovic added a comment to D91716: AMDGPU/GlobalISel: Calculate isKnownNeverNaN for fminnum and fmaxnum.

Ping.

Feb 12 2021, 7:29 AM · Restricted Project
Petar.Avramovic updated the diff for D96605: AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE.

Use replaceSingleDefInstWithReg.

Feb 12 2021, 7:25 AM · Restricted Project
Petar.Avramovic requested review of D96605: AMDGPU/GlobalISel: Remove redundant G_FCANONICALIZE.
Feb 12 2021, 7:08 AM · Restricted Project

Feb 8 2021

Petar.Avramovic updated the diff for D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.

Use zext_trunc_fold from generic combiner to separately fold all cases of zext(trunc x) -> x made by regbankselect.
icmp move before select/brcond has to be aware of current state of MF since we run combines top-down and instructions (trunc) can be left without uses (zext was deleted by zext_trunc_fold)

Feb 8 2021, 5:14 AM · Restricted Project

Feb 5 2021

Petar.Avramovic updated the diff for D96031: [GlobalISel] Combine zext(trunc x) to x.

Adding vectors.

Feb 5 2021, 7:55 AM · Restricted Project
Petar.Avramovic updated the diff for D96122: [GlobalISel] Start using vectors in GISelKnownBits.

Adding non-splat test.
isKnownToBeAPowerOfTwo ends up checking known bits for build_vector and fails for non-splat values.

Feb 5 2021, 6:44 AM · Restricted Project
Petar.Avramovic added inline comments to D96122: [GlobalISel] Start using vectors in GISelKnownBits.
Feb 5 2021, 5:46 AM · Restricted Project
Petar.Avramovic updated the summary of D96122: [GlobalISel] Start using vectors in GISelKnownBits.
Feb 5 2021, 5:30 AM · Restricted Project
Petar.Avramovic requested review of D96122: [GlobalISel] Start using vectors in GISelKnownBits.
Feb 5 2021, 4:56 AM · Restricted Project

Feb 4 2021

Petar.Avramovic requested review of D96031: [GlobalISel] Combine zext(trunc x) to x.
Feb 4 2021, 6:17 AM · Restricted Project

Feb 2 2021

Petar.Avramovic added inline comments to D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.
Feb 2 2021, 8:06 AM · Restricted Project
Petar.Avramovic updated the diff for D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.

Handle some cases with many uses. Adding icmp fold without move for the case when we can't move icmp because code looks nicer in the case with more than one use.

Feb 2 2021, 8:04 AM · Restricted Project
Petar.Avramovic added inline comments to D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.
Feb 2 2021, 4:40 AM · Restricted Project

Feb 1 2021

Petar.Avramovic updated the diff for D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.

Addressed review comments.

Feb 1 2021, 8:21 AM · Restricted Project

Jan 26 2021

Petar.Avramovic requested review of D95432: AMDGPU/GlobalISel: Combine zext(trunc x) to x after RegBankSelect.
Jan 26 2021, 3:12 AM · Restricted Project

Jan 20 2021

Petar.Avramovic committed rG4ab704d62820: [AMDGPU][MC] Add tfe disassembler support MIMG opcodes (authored by Petar.Avramovic).
[AMDGPU][MC] Add tfe disassembler support MIMG opcodes
Jan 20 2021, 1:38 AM
Petar.Avramovic closed D94960: [AMDGPU][MC] Add tfe disassembler support MIMG opcodes.
Jan 20 2021, 1:37 AM · Restricted Project

Jan 19 2021

Petar.Avramovic requested review of D94960: [AMDGPU][MC] Add tfe disassembler support MIMG opcodes.
Jan 19 2021, 3:44 AM · Restricted Project