Page MenuHomePhabricator
Feed Advanced Search

Thu, Jun 20

Petar.Avramovic committed rG153bd24eda1f: [MIPS GlobalISel] Select integer to floating point conversions (authored by Petar.Avramovic).
[MIPS GlobalISel] Select integer to floating point conversions
Thu, Jun 20, 2:03 AM
Petar.Avramovic committed rL363912: [MIPS GlobalISel] Select integer to floating point conversions.
[MIPS GlobalISel] Select integer to floating point conversions
Thu, Jun 20, 2:03 AM
Petar.Avramovic closed D63542: [MIPS GlobalISel] Select integer to floating point conversions.
Thu, Jun 20, 2:03 AM · Restricted Project
Petar.Avramovic committed rG4b4dae1c768d: [MIPS GlobalISel] Select floating point to integer conversions (authored by Petar.Avramovic).
[MIPS GlobalISel] Select floating point to integer conversions
Thu, Jun 20, 1:51 AM
Petar.Avramovic committed rL363911: [MIPS GlobalISel] Select floating point to integer conversions.
[MIPS GlobalISel] Select floating point to integer conversions
Thu, Jun 20, 1:51 AM
Petar.Avramovic closed D63541: [MIPS GlobalISel] Select floating point to integer conversions.
Thu, Jun 20, 1:51 AM · Restricted Project
Petar.Avramovic updated the diff for D63541: [MIPS GlobalISel] Select floating point to integer conversions.

Addressed review comments.

Thu, Jun 20, 1:40 AM · Restricted Project

Wed, Jun 19

Petar.Avramovic added a comment to D61787: [GlobalISel Legalizer] Improve artifact combiner.

Ping.

Wed, Jun 19, 6:17 AM · Restricted Project
Petar.Avramovic added inline comments to D62423: [globalisel][legalizer] Attempt to write down the minimal legalization rules.
Wed, Jun 19, 6:13 AM · Restricted Project
Petar.Avramovic created D63542: [MIPS GlobalISel] Select integer to floating point conversions.
Wed, Jun 19, 4:44 AM · Restricted Project
Petar.Avramovic created D63541: [MIPS GlobalISel] Select floating point to integer conversions.
Wed, Jun 19, 4:43 AM · Restricted Project

Tue, Jun 18

Petar.Avramovic added a comment to D62423: [globalisel][legalizer] Attempt to write down the minimal legalization rules.
Tue, Jun 18, 7:11 AM · Restricted Project
Petar.Avramovic accepted D63236: [mips] Add empty scheduler info and `NoItinerary` to the `MipsAsmPseudoInst`.
Tue, Jun 18, 12:59 AM · Restricted Project

Thu, Jun 13

Petar.Avramovic accepted D63237: [mips] Add PTR64 and GPR_64 predicates to some MIPS 64-bit instructions.

LGTM.

Thu, Jun 13, 5:04 AM · Restricted Project
Petar.Avramovic added inline comments to D63236: [mips] Add empty scheduler info and `NoItinerary` to the `MipsAsmPseudoInst`.
Thu, Jun 13, 4:56 AM · Restricted Project

Thu, Jun 6

Petar.Avramovic committed rG81132ce0e95a: [MIPS GlobalISel] Select sqrt (authored by Petar.Avramovic).
[MIPS GlobalISel] Select sqrt
Thu, Jun 6, 2:59 AM
Petar.Avramovic committed rL362692: [MIPS GlobalISel] Select sqrt.
[MIPS GlobalISel] Select sqrt
Thu, Jun 6, 2:57 AM
Petar.Avramovic closed D62905: [MIPS GlobalISel] Select sqrt.
Thu, Jun 6, 2:57 AM · Restricted Project
Petar.Avramovic committed rG0a1fd355b2f6: [MIPS GlobalISel] Select fabs (authored by Petar.Avramovic).
[MIPS GlobalISel] Select fabs
Thu, Jun 6, 2:25 AM
Petar.Avramovic committed rL362690: [MIPS GlobalISel] Select fabs.
[MIPS GlobalISel] Select fabs
Thu, Jun 6, 2:19 AM
Petar.Avramovic closed D62903: [MIPS GlobalISel] Select fabs.
Thu, Jun 6, 2:19 AM · Restricted Project
Petar.Avramovic committed rGa7d000644745: [MIPS GlobalISel] Select fpext and fptrunc (authored by Petar.Avramovic).
[MIPS GlobalISel] Select fpext and fptrunc
Thu, Jun 6, 2:18 AM
Petar.Avramovic committed rL362689: [MIPS GlobalISel] Select fpext and fptrunc.
[MIPS GlobalISel] Select fpext and fptrunc
Thu, Jun 6, 2:14 AM
Petar.Avramovic closed D62902: [MIPS GlobalISel] Select fpext and fptrunc.
Thu, Jun 6, 2:14 AM · Restricted Project
Petar.Avramovic committed rGfaaa2b5d2156: [MIPS GlobalISel] Select floor and ceil (authored by Petar.Avramovic).
[MIPS GlobalISel] Select floor and ceil
Thu, Jun 6, 2:01 AM
Petar.Avramovic committed rL362688: [MIPS GlobalISel] Select floor and ceil.
[MIPS GlobalISel] Select floor and ceil
Thu, Jun 6, 2:00 AM
Petar.Avramovic closed D62901: [MIPS GlobalISel] Select floor and ceil.
Thu, Jun 6, 2:00 AM · Restricted Project

Wed, Jun 5

Petar.Avramovic created D62905: [MIPS GlobalISel] Select sqrt.
Wed, Jun 5, 7:40 AM · Restricted Project
Petar.Avramovic created D62903: [MIPS GlobalISel] Select fabs.
Wed, Jun 5, 7:40 AM · Restricted Project
Petar.Avramovic created D62902: [MIPS GlobalISel] Select fpext and fptrunc.
Wed, Jun 5, 7:40 AM · Restricted Project
Petar.Avramovic created D62901: [MIPS GlobalISel] Select floor and ceil.
Wed, Jun 5, 7:36 AM · Restricted Project
Petar.Avramovic committed rG22e99c434fb6: [MIPS GlobalISel] Select fcmp (authored by Petar.Avramovic).
[MIPS GlobalISel] Select fcmp
Wed, Jun 5, 7:01 AM
Petar.Avramovic committed rL362603: [MIPS GlobalISel] Select fcmp.
[MIPS GlobalISel] Select fcmp
Wed, Jun 5, 7:00 AM
Petar.Avramovic closed D62721: [MIPS GlobalISel] Select fcmp.
Wed, Jun 5, 7:00 AM · Restricted Project

Mon, Jun 3

Petar.Avramovic updated the diff for D62721: [MIPS GlobalISel] Select fcmp.

Addressed review comments.

Mon, Jun 3, 3:19 AM · Restricted Project
Petar.Avramovic added a comment to D61787: [GlobalISel Legalizer] Improve artifact combiner.

Ping.

Mon, Jun 3, 12:42 AM · Restricted Project

Fri, May 31

Petar.Avramovic created D62721: [MIPS GlobalISel] Select fcmp.
Fri, May 31, 1:50 AM · Restricted Project
Petar.Avramovic committed rGf317debdb803: [MIPS GlobalISel] Add detailed tests for lower call (authored by Petar.Avramovic).
[MIPS GlobalISel] Add detailed tests for lower call
Fri, May 31, 1:41 AM
Petar.Avramovic committed rL362212: [MIPS GlobalISel] Add detailed tests for lower call.
[MIPS GlobalISel] Add detailed tests for lower call
Fri, May 31, 1:40 AM
Petar.Avramovic closed D62590: [MIPS GlobalISel] Add detailed tests for lower call .
Fri, May 31, 1:40 AM · Restricted Project
Petar.Avramovic committed rGefcd3c000991: [MIPS GlobalISel] Handle position independent code (authored by Petar.Avramovic).
[MIPS GlobalISel] Handle position independent code
Fri, May 31, 1:25 AM
Petar.Avramovic committed rL362210: [MIPS GlobalISel] Handle position independent code .
[MIPS GlobalISel] Handle position independent code
Fri, May 31, 1:25 AM
Petar.Avramovic closed D62589: [MIPS GlobalISel] Handle position independent code .
Fri, May 31, 1:25 AM · Restricted Project
Petar.Avramovic committed rG9058b50fb2d3: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC (authored by Petar.Avramovic).
[mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC
Fri, May 31, 1:15 AM
Petar.Avramovic committed rL362206: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC.
[mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC
Fri, May 31, 1:15 AM
Petar.Avramovic closed D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC.
Fri, May 31, 1:15 AM · Restricted Project
Petar.Avramovic committed rGf4a6dd28b6a8: [MIPS GlobalISel] Lower call for callee that is register (authored by Petar.Avramovic).
[MIPS GlobalISel] Lower call for callee that is register
Fri, May 31, 1:06 AM
Petar.Avramovic committed rL362204: [MIPS GlobalISel] Lower call for callee that is register.
[MIPS GlobalISel] Lower call for callee that is register
Fri, May 31, 1:06 AM
Petar.Avramovic closed D62585: [MIPS GlobalISel] Lower call for callee that is register.
Fri, May 31, 1:05 AM · Restricted Project

Thu, May 30

Petar.Avramovic accepted D62597: [mips] Extend range of register indexes accepted by cfcmsa/ctcmsa.

LGTM.

Thu, May 30, 2:12 AM · Restricted Project

Wed, May 29

Petar.Avramovic added a parent revision for D62590: [MIPS GlobalISel] Add detailed tests for lower call : D62589: [MIPS GlobalISel] Handle position independent code .
Wed, May 29, 6:48 AM · Restricted Project
Petar.Avramovic added a child revision for D62589: [MIPS GlobalISel] Handle position independent code : D62590: [MIPS GlobalISel] Add detailed tests for lower call .
Wed, May 29, 6:48 AM · Restricted Project
Petar.Avramovic added a parent revision for D62589: [MIPS GlobalISel] Handle position independent code : D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC.
Wed, May 29, 6:47 AM · Restricted Project
Petar.Avramovic added a child revision for D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC: D62589: [MIPS GlobalISel] Handle position independent code .
Wed, May 29, 6:47 AM · Restricted Project
Petar.Avramovic created D62590: [MIPS GlobalISel] Add detailed tests for lower call .
Wed, May 29, 6:47 AM · Restricted Project
Petar.Avramovic created D62589: [MIPS GlobalISel] Handle position independent code .
Wed, May 29, 6:47 AM · Restricted Project
Petar.Avramovic added a parent revision for D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC: D62585: [MIPS GlobalISel] Lower call for callee that is register.
Wed, May 29, 6:40 AM · Restricted Project
Petar.Avramovic added a child revision for D62585: [MIPS GlobalISel] Lower call for callee that is register: D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC.
Wed, May 29, 6:40 AM · Restricted Project
Petar.Avramovic removed a parent revision for D62585: [MIPS GlobalISel] Lower call for callee that is register: D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC.
Wed, May 29, 6:40 AM · Restricted Project
Petar.Avramovic removed a child revision for D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC: D62585: [MIPS GlobalISel] Lower call for callee that is register.
Wed, May 29, 6:40 AM · Restricted Project
Petar.Avramovic added a child revision for D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC: D62585: [MIPS GlobalISel] Lower call for callee that is register.
Wed, May 29, 6:40 AM · Restricted Project
Petar.Avramovic created D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC.
Wed, May 29, 6:40 AM · Restricted Project
Petar.Avramovic added a parent revision for D62585: [MIPS GlobalISel] Lower call for callee that is register: D62586: [mips] Move initGlobalBaseReg to MipsFunctionInfo. NFC.
Wed, May 29, 6:40 AM · Restricted Project
Petar.Avramovic created D62585: [MIPS GlobalISel] Lower call for callee that is register.
Wed, May 29, 6:33 AM · Restricted Project

May 27 2019

Petar.Avramovic added a comment to D62423: [globalisel][legalizer] Attempt to write down the minimal legalization rules.

Producer/Consumer type set and minimum rules for scalars are assuming that set of available integer scalars is the same as set of all available floating point scalars. This does not have to be the case.
Could we define Producer/Consumer type set in terms of available sizes in register banks?
That is Producer/Consumer type set for G_ANYEXT, G_SEXT, G_ZEXT, G_TRUNC corresponds to available sizes in GPR register bank (integer instructions).
That is Producer/Consumer type set for G_FPEXT, G_FPTRUNC corresponds to available sizes in FPR register bank (floating point instructions).

May 27 2019, 2:10 AM · Restricted Project

May 24 2019

Petar.Avramovic added a comment to D62338: [globalisel][legalizer] Combine G_TRUNC+G_MERGE_VALUES in artifact combiner.

Patch alone looks good.
I'm just coming from D61787, hopefully it shouldn't be to complicated to make them both work together.
Also targets does not have to define any legalization rules for this combine to work which is great.

May 24 2019, 6:09 AM · Restricted Project
Petar.Avramovic added a comment to D61787: [GlobalISel Legalizer] Improve artifact combiner.

'crash' = unable-to-legalize error/warning/nothing depending on -global-isel-abort option.

May 24 2019, 5:25 AM · Restricted Project

May 22 2019

Petar.Avramovic added a comment to D61289: [globalisel] Add G_SEXT_INREG.

Thanks for the explanation. Summary of inline discussion so far:
NarrowScalar G_SEXT_INREG cannot have decent (able to combine away artifacts) mir test with this patch alone since there are problems with artifact combiner.
Approach 1: narrowScalar G_SEXT_INREG with G_UNMERGE/G_MERGE + D61787. Able to perform all combines introduced so far and generates desired output.
Approach 2: narrowScalar G_SEXT_INREG with G_TRUNC/G_SEXT + TODO: introduce more artifacts combines and fix artifact combiner to support them.
I expect that both approaches should have similar performance and generate equivalent output.
Are there there cases where Approach 2 generates better code, as I am now convinced that Approach 2 will have similar (if not better ?) performance compared to Approach 1?

May 22 2019, 5:39 AM · Restricted Project

May 21 2019

Petar.Avramovic accepted D62166: [mips] Always check that `shift and add` optimization is efficient.

LGTM.

May 21 2019, 7:50 AM · Restricted Project

May 17 2019

Petar.Avramovic updated the diff for D61787: [GlobalISel Legalizer] Improve artifact combiner.

Addressed review comments.

May 17 2019, 3:21 AM · Restricted Project

May 15 2019

Petar.Avramovic added inline comments to D61787: [GlobalISel Legalizer] Improve artifact combiner.
May 15 2019, 7:30 AM · Restricted Project
Petar.Avramovic added inline comments to D61787: [GlobalISel Legalizer] Improve artifact combiner.
May 15 2019, 6:12 AM · Restricted Project

May 10 2019

Petar.Avramovic added inline comments to D61289: [globalisel] Add G_SEXT_INREG.
May 10 2019, 6:20 PM · Restricted Project
Petar.Avramovic added a comment to D61787: [GlobalISel Legalizer] Improve artifact combiner.

@volkan @aemerson @arsenm Here is brief explanation of changes in tests.

May 10 2019, 8:38 AM · Restricted Project
Petar.Avramovic created D61787: [GlobalISel Legalizer] Improve artifact combiner.
May 10 2019, 8:17 AM · Restricted Project
Petar.Avramovic added a comment to D61289: [globalisel] Add G_SEXT_INREG.

Most targets I know would select G_ZEXT_INREG to an AND using either an inline or materialized immediate at which point we haven't really gained anything by protecting it against harmful 'optimization'.

My only consideration was that is faster to narrow scalar G_ZEXT_INREG, then to narrow scalar G_AND and G_CONSTANT. On the other hand AND has simple narrow scalar unlike G_SHL and G_ASHR so it is not that big performance/code size improvement compared to G_SEXT_INREG. Also as sign and zero extend are most of the time mentioned together, I thought that we could add G_ZEXT_INREG alongside with G_SEXT_INREG.

May 10 2019, 3:30 AM · Restricted Project

May 7 2019

Petar.Avramovic added a comment to D61289: [globalisel] Add G_SEXT_INREG.

Perfect. What about G_ZEXT_INREG since it is more efficient to narrow scalar G_ZEXT_INREG then bitwise instruction with some bit mask?

May 7 2019, 3:49 AM · Restricted Project

Apr 3 2019

Petar.Avramovic committed rGafa3afa384aa: [MIPS GlobalISel] Select floating point arithmetic operations (authored by Petar.Avramovic).
[MIPS GlobalISel] Select floating point arithmetic operations
Apr 3 2019, 7:12 AM
Petar.Avramovic committed rL357584: [MIPS GlobalISel] Select floating point arithmetic operations.
[MIPS GlobalISel] Select floating point arithmetic operations
Apr 3 2019, 7:12 AM
Petar.Avramovic closed D60191: [MIPS GlobalISel] Select floating point arithmetic operations.
Apr 3 2019, 7:12 AM · Restricted Project
Petar.Avramovic created D60191: [MIPS GlobalISel] Select floating point arithmetic operations.
Apr 3 2019, 3:39 AM · Restricted Project
Petar.Avramovic retitled D60191: [MIPS GlobalISel] Select floating point arithmetic operations from [MIPS GlobalISel] Select float arithmetic operations to [MIPS GlobalISel] Select floating point arithmetic operations.
Apr 3 2019, 3:39 AM · Restricted Project
Petar.Avramovic accepted D60132: [mips] Remove unused FGRH32 register class. NFC.

LGTM.

Apr 3 2019, 1:15 AM · Restricted Project

Mar 28 2019

Petar.Avramovic committed rG1af05df3de60: [MIPS GlobalISel] Select float constants (authored by Petar.Avramovic).
[MIPS GlobalISel] Select float constants
Mar 28 2019, 9:57 AM
Petar.Avramovic committed rL357183: [MIPS GlobalISel] Select float constants.
[MIPS GlobalISel] Select float constants
Mar 28 2019, 9:57 AM
Petar.Avramovic closed D59933: [MIPS GlobalISel] Select float constants.
Mar 28 2019, 9:56 AM · Restricted Project
Petar.Avramovic created D59933: [MIPS GlobalISel] Select float constants.
Mar 28 2019, 7:34 AM · Restricted Project
Petar.Avramovic added a comment to D59799: [wip][mips] Use AltOrders to prevent using odd FP-registers.

Both GNU assembler and LLVM show warning if odd floating-point register appears in an asm file. As far as I understand the -mno-odd-spreg prevents using odd registers by backend, but does not prevent inserting such registers into asm file directly by a user.

Thanks for clarification.

Mar 28 2019, 6:12 AM · Restricted Project

Mar 27 2019

Petar.Avramovic accepted D59884: [mips] Fix lowering a signed immediate for *.d MSA instructions.

LGTM.

Mar 27 2019, 10:05 AM · Restricted Project

Mar 26 2019

Petar.Avramovic added a comment to D59799: [wip][mips] Use AltOrders to prevent using odd FP-registers.

I don't see other reason for registers form OddSPRegClass to be declared as as Reserved other then to affect Allocation order in register allocation.
From description of nooddspreg : "Disable odd numbered single-precision registers". I would say that we only need to make sure that odd float registers can't be used during register allocation that is to affect Allocation order in some way to make sure odd registers don't appear there. I saw that similar problem for msa was handled with use of different register class (MSA128WRegClass or MSA128WEvensRegClass) in MipsSETargetLowering::emitCOPY_FW.
Here this is done with AltOrders without having to define registers from OddSPRegClass as Reserved. MipsGenRegisterInfo.inc also got smaller, everything looks good from my side.

Mar 26 2019, 10:49 AM · Restricted Project

Mar 25 2019

Petar.Avramovic committed rGa034a64f8420: [MIPS GlobalISel] Select copy for arguments from FPRBRegBank (authored by Petar.Avramovic).
[MIPS GlobalISel] Select copy for arguments from FPRBRegBank
Mar 25 2019, 4:39 AM
Petar.Avramovic committed rL356886: [MIPS GlobalISel] Select copy for arguments from FPRBRegBank.
[MIPS GlobalISel] Select copy for arguments from FPRBRegBank
Mar 25 2019, 4:37 AM
Petar.Avramovic closed D59644: [MIPS GlobalISel] Select copy for arguments from FPRBRegBank.
Mar 25 2019, 4:37 AM · Restricted Project
Petar.Avramovic committed rG3dfa368d5d7c: [MIPS GlobalISel] Add floating point register bank (authored by Petar.Avramovic).
[MIPS GlobalISel] Add floating point register bank
Mar 25 2019, 4:31 AM
Petar.Avramovic committed rL356883: [MIPS GlobalISel] Add floating point register bank.
[MIPS GlobalISel] Add floating point register bank
Mar 25 2019, 4:31 AM
Petar.Avramovic closed D59643: [MIPS GlobalISel] Add floating point register bank.
Mar 25 2019, 4:30 AM · Restricted Project
Petar.Avramovic committed rG5a457e08f6f9: [MIPS GlobalISel] Lower float and double arguments in registers (authored by Petar.Avramovic).
[MIPS GlobalISel] Lower float and double arguments in registers
Mar 25 2019, 4:23 AM
Petar.Avramovic committed rL356882: [MIPS GlobalISel] Lower float and double arguments in registers.
[MIPS GlobalISel] Lower float and double arguments in registers
Mar 25 2019, 4:22 AM
Petar.Avramovic closed D59642: [MIPS GlobalISel] Lower float and double arguments in registers.
Mar 25 2019, 4:22 AM · Restricted Project
Petar.Avramovic updated the diff for D59644: [MIPS GlobalISel] Select copy for arguments from FPRBRegBank.
Mar 25 2019, 3:03 AM · Restricted Project