Page MenuHomePhabricator
Feed Advanced Search

Apr 13 2021

paquette requested review of D100399: [AArch64][GlobalISel] Implement custom legalization for s32 and s64 G_CTPOP.
Apr 13 2021, 10:51 AM · Restricted Project
paquette requested review of D100398: [AArch64][GlobalISel] Regbankselect + select @llvm.aarch64.neon.uaddlv.
Apr 13 2021, 10:43 AM · Restricted Project

Apr 12 2021

paquette requested review of D100349: [AArch64][GlobalISel] Mark G_CTPOP as legal for v16s8 and v8s8.
Apr 12 2021, 3:22 PM · Restricted Project

Apr 9 2021

paquette committed rG49c3565b9ba7: [AArch64][GlobalISel] Swap compare operands when it may be profitable (authored by paquette).
[AArch64][GlobalISel] Swap compare operands when it may be profitable
Apr 9 2021, 3:47 PM
paquette closed D89422: [AArch64][GlobalISel] Swap compare operands when it may be profitable.
Apr 9 2021, 3:47 PM · Restricted Project

Apr 7 2021

paquette updated the diff for D89422: [AArch64][GlobalISel] Swap compare operands when it may be profitable.

Rebased

Apr 7 2021, 2:27 PM · Restricted Project
paquette added a comment to D99735: [MIPatternMatch]: Add mi_match for MachineInstr.

Can we have testcases which check what happens with

Apr 7 2021, 1:44 PM · Restricted Project
paquette added a comment to D87870: [GISel] Add new combines for G_FMUL.

I feel like this would be a bit easier to get in if it was broken into 1 patch per combine?

Apr 7 2021, 1:34 PM · Restricted Project
paquette updated the diff for D91753: [GlobalISel] Add an isExtendedTrueVal helper..

The original code was confusing. Rewrote this to use getICmpTrueVal + APInt. I think this simplifies the behaviour for s1 quite a bit.

Apr 7 2021, 12:13 PM · Restricted Project

Apr 6 2021

paquette updated the diff for D99908: [GlobalISel] Simplify G_ICMP against true/false when boolean contents are 0/1.
  • Change KB check to an assert
  • Handle vectors
  • Add a vector test in AMDGPU (which has ZeroOrOneBooleanContent for vectors)
Apr 6 2021, 10:39 AM · Restricted Project
paquette added inline comments to D99908: [GlobalISel] Simplify G_ICMP against true/false when boolean contents are 0/1.
Apr 6 2021, 9:51 AM · Restricted Project

Apr 5 2021

paquette requested review of D99908: [GlobalISel] Simplify G_ICMP against true/false when boolean contents are 0/1.
Apr 5 2021, 5:02 PM · Restricted Project
paquette added a comment to D99814: [JumpThreading] Change asserts for WantInteger into actual checks.

From someone who isn't very familiar with this code: Why do we need the preference flag in the first place? As indirectbr isn't particularly common, can't we check whether the result is a BlockAddress after the fact?

Apr 5 2021, 1:40 PM · Restricted Project

Apr 2 2021

paquette requested review of D99814: [JumpThreading] Change asserts for WantInteger into actual checks.
Apr 2 2021, 1:27 PM · Restricted Project

Apr 1 2021

paquette added inline comments to D99735: [MIPatternMatch]: Add mi_match for MachineInstr.
Apr 1 2021, 3:35 PM · Restricted Project
paquette added a comment to D99736: [MIPatternMatch]: Add matchers for binary instructions.

Testcase?

Apr 1 2021, 3:34 PM · Restricted Project
paquette accepted D99739: [GlobalISel] Allow different tyeps for G_SBFX and G_UBFX operands.

LGTM

Apr 1 2021, 3:20 PM · Restricted Project

Mar 30 2021

paquette committed rG700431128e21: [GlobalISel][AArch64] Combine G_SEXT_INREG + right shift -> G_SBFX (authored by paquette).
[GlobalISel][AArch64] Combine G_SEXT_INREG + right shift -> G_SBFX
Mar 30 2021, 10:26 AM
paquette closed D99230: [GlobalISel] Combine G_SEXT_INREG + right shift -> G_SBFX.
Mar 30 2021, 10:26 AM · Restricted Project
paquette accepted D99586: [AArch64] Default to zero-cycle-zeroing FP registers..

LGTM

Mar 30 2021, 9:24 AM · Restricted Project

Mar 29 2021

paquette committed rG247ff26a8967: [AArch64][GlobalISel] NFC: Replace IR regbankselect test with MIR test (authored by paquette).
[AArch64][GlobalISel] NFC: Replace IR regbankselect test with MIR test
Mar 29 2021, 4:33 PM
paquette accepted D99463: [AArch64][GlobalISel] Define some legalization rules for G_ROTR and G_ROTL..

LGTM

Mar 29 2021, 9:42 AM · Restricted Project

Mar 25 2021

paquette accepted D99383: [GlobalISel] Add G_ROTR and G_ROTL opcodes for rotates.

LGTM

Mar 25 2021, 5:21 PM · Restricted Project
paquette committed rG23f657c165da: [AArch64][GlobalISel] Emit bzero on Darwin (authored by paquette).
[AArch64][GlobalISel] Emit bzero on Darwin
Mar 25 2021, 5:15 PM
paquette closed D99358: [AArch64][GlobalISel] Emit bzero on Darwin.
Mar 25 2021, 5:14 PM · Restricted Project
paquette updated the diff for D99358: [AArch64][GlobalISel] Emit bzero on Darwin.

Add verifier tests (and actually copy the memoperand from the memset)

Mar 25 2021, 4:24 PM · Restricted Project
paquette added inline comments to D99383: [GlobalISel] Add G_ROTR and G_ROTL opcodes for rotates.
Mar 25 2021, 3:49 PM · Restricted Project
paquette requested review of D99358: [AArch64][GlobalISel] Emit bzero on Darwin.
Mar 25 2021, 11:02 AM · Restricted Project

Mar 24 2021

paquette updated the diff for D99230: [GlobalISel] Combine G_SEXT_INREG + right shift -> G_SBFX.

I made this AArch64-specific for now.

Mar 24 2021, 2:36 PM · Restricted Project
paquette accepted D99287: [GlobalISel] Fix crash in RBS with a non-generic IMPLICIT_DEF..

LGTM. Kind of weird that we create normal IMPLICIT_DEFs in the IRTranslator though? I guess it's code shared with SDAG.

Mar 24 2021, 2:05 PM · Restricted Project
paquette committed rG56e6eb797599: [AArch64][GlobalISel] Make G_UBFX/G_SBFX legalization check for constants (authored by paquette).
[AArch64][GlobalISel] Make G_UBFX/G_SBFX legalization check for constants
Mar 24 2021, 2:00 PM
paquette closed D99298: [AArch64][GlobalISel] Make G_UBFX/G_SBFX legalization check for constants.
Mar 24 2021, 1:59 PM · Restricted Project
paquette requested review of D99298: [AArch64][GlobalISel] Make G_UBFX/G_SBFX legalization check for constants.
Mar 24 2021, 1:45 PM · Restricted Project
paquette committed rGeca7b31864ed: Add missing -march to runline in llvm/test/MachineVerifier/test_g_ubfx_sbfx.mir (authored by paquette).
Add missing -march to runline in llvm/test/MachineVerifier/test_g_ubfx_sbfx.mir
Mar 24 2021, 11:23 AM
paquette committed rGa141c7d06b92: [AArch64][GlobalISel] Select G_SBFX and G_UBFX (authored by paquette).
[AArch64][GlobalISel] Select G_SBFX and G_UBFX
Mar 24 2021, 11:16 AM
paquette closed D99224: [AArch64][GlobalISel] Select G_SBFX and G_UBFX.
Mar 24 2021, 11:16 AM · Restricted Project
paquette committed rG1818dc394f31: [AArch64][GlobalISel] Mark G_SBFX/G_UBFX as legal for s32 and s64 (authored by paquette).
[AArch64][GlobalISel] Mark G_SBFX/G_UBFX as legal for s32 and s64
Mar 24 2021, 11:10 AM
paquette closed D99219: [AArch64][GlobalISel] Mark G_SBFX/G_UBFX as legal for s32 and s64.
Mar 24 2021, 11:10 AM · Restricted Project
paquette requested review of D99283: [GlobalISel] Combine and (lshr x, cst), mask -> ubfx x, cst, width.
Mar 24 2021, 10:56 AM · Restricted Project
paquette added a comment to D99281: [AArch64][GlobalISel] Combine funnel shifts to AArch64 rotate opcodes..

There are a bunch of rotate combines in the DAGCombiner, so it would make sense to have a generic G_ROR and G_ROL. Looks like some low-hanging fruit.

Mar 24 2021, 10:49 AM · Restricted Project

Mar 23 2021

paquette requested review of D99230: [GlobalISel] Combine G_SEXT_INREG + right shift -> G_SBFX.
Mar 23 2021, 5:18 PM · Restricted Project
paquette updated the diff for D99219: [AArch64][GlobalISel] Mark G_SBFX/G_UBFX as legal for s32 and s64.

Add legalizer tests

Mar 23 2021, 5:08 PM · Restricted Project
paquette requested review of D99224: [AArch64][GlobalISel] Select G_SBFX and G_UBFX.
Mar 23 2021, 3:55 PM · Restricted Project
paquette requested review of D99219: [AArch64][GlobalISel] Mark G_SBFX/G_UBFX as legal for s32 and s64.
Mar 23 2021, 3:32 PM · Restricted Project
paquette added inline comments to D98564: [AArch64] Peephole rule to remove redundant cmp after cset..
Mar 23 2021, 10:28 AM · Restricted Project
paquette accepted D99033: GlobalISel: Constant fold G_PTR_ADD.

I'm wondering if we should just allow regular G_ADD to use pointer types, and reserve G_PTR_ADD for non-integral address spaces.

Mar 23 2021, 9:53 AM · Restricted Project
paquette accepted D99036: GlobalISel: Constant fold FP bin ops in MIRBuilder.

LGTM

Mar 23 2021, 9:42 AM · Restricted Project

Mar 22 2021

paquette added a comment to D99032: GlobalISel: Add FoldBinOpIntoSelect combine.

Would it be hard to teach CSEMIRBuilder to handle the missing cases so that you can match top-down from the G_SELECT? It would be nice to avoid maintaining a list of constant-foldable opcodes if possible.

Mar 22 2021, 5:57 PM · Restricted Project
paquette added inline comments to D99032: GlobalISel: Add FoldBinOpIntoSelect combine.
Mar 22 2021, 5:39 PM · Restricted Project
paquette accepted D99126: [darwin][driver] Pass through -global-isel LLVM flags to ld..

LGTM

Mar 22 2021, 5:10 PM · Restricted Project
paquette added a comment to D86974: [IRSim] Adding basic implementation of llvm-sim..

I think if the errors on Windows and Linux are gone, it's fine to recommit.

Mar 22 2021, 9:49 AM · Restricted Project
paquette accepted D99035: GlobalISel: Add utility function to constant fold FP ops.

(Should we have tests for these?)

Mar 22 2021, 9:42 AM · Restricted Project

Mar 19 2021

paquette committed rG4773dd5ba999: [GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes) (authored by paquette).
[GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes)
Mar 19 2021, 2:50 PM
paquette closed D98464: [GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes).
Mar 19 2021, 2:49 PM · Restricted Project
paquette accepted D98200: [GlobalISel] Port over the SelectionDAG stack protector codegen feature..

LGTM

Mar 19 2021, 1:59 PM · Restricted Project

Mar 18 2021

paquette added a reverting change for rG962b73dd0fc3: Revert "[AArch64][GlobalISel] Fold constants into G_GLOBAL_VALUE": rG0ca83730cc2b: Recommit "[AArch64][GlobalISel] Fold constants into G_GLOBAL_VALUE".
Mar 18 2021, 4:01 PM
paquette committed rG0ca83730cc2b: Recommit "[AArch64][GlobalISel] Fold constants into G_GLOBAL_VALUE" (authored by paquette).
Recommit "[AArch64][GlobalISel] Fold constants into G_GLOBAL_VALUE"
Mar 18 2021, 4:01 PM

Mar 17 2021

paquette accepted D98730: [AArch64][GlobalISel] Fall back if disabling neon/fp in the translator..

LGTM

Mar 17 2021, 11:00 AM · Restricted Project

Mar 15 2021

paquette added inline comments to D98564: [AArch64] Peephole rule to remove redundant cmp after cset..
Mar 15 2021, 10:57 AM · Restricted Project

Mar 12 2021

paquette added a comment to D98464: [GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes).

I think something like this would work post-legalization:

Mar 12 2021, 11:02 AM · Restricted Project
paquette added a comment to D98464: [GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes).

If we have to allow variable width operands for these, it doesn't really help AArch64 that much. We have to match the constant pattern to a target specific opcode, and then lower the rest of these to shifts by default. I can see the benefit of AMDGPU, but with variable extracts this just puts us back where we started for AArch64.

Mar 12 2021, 10:29 AM · Restricted Project
paquette updated the diff for D98464: [GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes).
  • Make the LSB + width registers
  • Update verifier
  • Add a MIRBuilder test
Mar 12 2021, 10:21 AM · Restricted Project

Mar 11 2021

paquette requested review of D98464: [GlobalISel] Add G_SBFX + G_UBFX (bitfield extraction opcodes).
Mar 11 2021, 3:58 PM · Restricted Project
paquette accepted D98421: AArch64/GlobalISel: Don't use common prefix in test.

LGTM

Mar 11 2021, 12:25 PM · Restricted Project
paquette accepted D98118: GlobalISel: Partially fix handling of byval arguments.

LGTM

Mar 11 2021, 9:26 AM · Restricted Project

Mar 8 2021

paquette committed rGf7d73a6b9e8d: [SelectionDAG] Don't scalarize vector fpround sources that don't need it. (authored by paquette).
[SelectionDAG] Don't scalarize vector fpround sources that don't need it.
Mar 8 2021, 2:38 PM
paquette closed D98208: [SelectionDAG] Don't scalarize vector fpround sources that don't need it..
Mar 8 2021, 2:38 PM · Restricted Project
paquette accepted D97835: [AArch64][GlobalISel] Add combine for extract_vector_elt(build_vector, cst).

This LGTM at this point?

Mar 8 2021, 2:28 PM · Restricted Project
paquette added inline comments to D98118: GlobalISel: Partially fix handling of byval arguments.
Mar 8 2021, 1:17 PM · Restricted Project
paquette updated the diff for D98208: [SelectionDAG] Don't scalarize vector fpround sources that don't need it..

Move DL out of the if and reuse it.

Mar 8 2021, 1:12 PM · Restricted Project
paquette committed rG5c26be214d9f: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP (authored by paquette).
[AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP
Mar 8 2021, 1:02 PM
paquette closed D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP.
Mar 8 2021, 1:02 PM · Restricted Project
paquette requested review of D98208: [SelectionDAG] Don't scalarize vector fpround sources that don't need it..
Mar 8 2021, 11:49 AM · Restricted Project
paquette added inline comments to D98200: [GlobalISel] Port over the SelectionDAG stack protector codegen feature..
Mar 8 2021, 10:59 AM · Restricted Project
paquette updated the diff for D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP.

Address review comments.

Mar 8 2021, 10:15 AM · Restricted Project

Mar 5 2021

paquette added inline comments to D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP.
Mar 5 2021, 5:13 PM · Restricted Project
paquette accepted D98059: [AArch64][GlobalISel] Form G_DUPLANE32 for <2 x s32> shufflevectors in lowering..

LGTM

Mar 5 2021, 1:17 PM · Restricted Project

Mar 4 2021

paquette updated the diff for D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP.

This time, disallow 0 and 1 specifically.

Mar 4 2021, 3:49 PM · Restricted Project
paquette accepted D97734: [Remarks] Emit variable info in auto-init remarks.

LGTM!

Mar 4 2021, 12:40 PM · Restricted Project
paquette accepted D97968: [AArch64][GlobalISel][RegBankSelect] Improve rbs of G_BUILD_VECTOR when fed by fp values..

LGTM

Mar 4 2021, 10:53 AM · Restricted Project

Mar 3 2021

paquette added inline comments to D97835: [AArch64][GlobalISel] Add combine for extract_vector_elt(build_vector, cst).
Mar 3 2021, 5:27 PM · Restricted Project
paquette accepted D97890: [GlobalISel] Fold away G_BUILD_VECTOR with all elements extracted..

LGTM

Mar 3 2021, 5:17 PM · Restricted Project
paquette added a comment to D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP.

Looks like this blocks selecting vector neg since we miss some imported patterns. E.g.

Mar 3 2021, 1:01 PM · Restricted Project

Mar 2 2021

paquette updated the diff for D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP.
  • Fix a bug in G_DUP for preISelLower and add a testcase which exercises it to select-dup.mir
  • Add getAArch64VectorConstantSplat, which checks for G_DUP as well as G_BUILD_VECTOR. Use that instead in places which now need to check for G_DUP.
Mar 2 2021, 10:31 PM · Restricted Project
paquette updated the diff for D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP.
Mar 2 2021, 5:42 PM · Restricted Project
paquette accepted D97732: [AArch64][GlobalISel] Enable use of the optsize predicate in the selector..

LGTM

Mar 2 2021, 10:20 AM · Restricted Project
paquette added a comment to D97732: [AArch64][GlobalISel] Enable use of the optsize predicate in the selector..
Mar 2 2021, 9:59 AM · Restricted Project
paquette added inline comments to D97734: [Remarks] Emit variable info in auto-init remarks.
Mar 2 2021, 9:39 AM · Restricted Project

Mar 1 2021

paquette added inline comments to D97732: [AArch64][GlobalISel] Enable use of the optsize predicate in the selector..
Mar 1 2021, 2:24 PM · Restricted Project
paquette committed rG3e8223b16515: [AArch64][GlobalISel] NFC: Remove dead G_BUILD_VECTOR legalization rule (authored by paquette).
[AArch64][GlobalISel] NFC: Remove dead G_BUILD_VECTOR legalization rule
Mar 1 2021, 2:05 PM
paquette closed D97727: [AArch64][GlobalISel] NFC: Remove dead G_BUILD_VECTOR legalization rule.
Mar 1 2021, 2:05 PM · Restricted Project
paquette added inline comments to D97732: [AArch64][GlobalISel] Enable use of the optsize predicate in the selector..
Mar 1 2021, 1:58 PM · Restricted Project
paquette requested review of D97731: [AArch64][GlobalISel] Lower G_BUILD_VECTOR -> G_DUP.
Mar 1 2021, 1:51 PM · Restricted Project
paquette requested review of D97727: [AArch64][GlobalISel] NFC: Remove dead G_BUILD_VECTOR legalization rule.
Mar 1 2021, 1:34 PM · Restricted Project

Feb 26 2021

paquette committed rGf5d5a7d7eac7: [AArch64][GlobalISel] Import FMOV patterns rather than manually selecting it (authored by paquette).
[AArch64][GlobalISel] Import FMOV patterns rather than manually selecting it
Feb 26 2021, 4:28 PM
paquette closed D97511: [AArch64][GlobalISel] Import FMOV patterns rather than manually selecting it.
Feb 26 2021, 4:27 PM · Restricted Project

Feb 25 2021

paquette requested review of D97511: [AArch64][GlobalISel] Import FMOV patterns rather than manually selecting it.
Feb 25 2021, 4:09 PM · Restricted Project
paquette accepted D97489: [Remarks] Provide more information about auto-init calls.

LGTM

Feb 25 2021, 2:01 PM · Restricted Project
paquette accepted D97412: [Remarks] Provide more information about auto-init stores.

LGTM

Feb 25 2021, 1:53 PM · Restricted Project

Feb 24 2021

paquette accepted D97405: [Remarks] Emit remarks for "auto-init" !annotations.

I think this looks reasonable. LGTM

Feb 24 2021, 3:30 PM · Restricted Project