Page MenuHomePhabricator

kschwarz (Konstantin Schwarz)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 30 2018, 4:54 AM (234 w, 6 d)

Recent Activity

Jan 21 2022

kschwarz accepted D117727: GlobalISel: Avoid crash on asm with lying result types.

LGTM

Jan 21 2022, 9:09 AM · Restricted Project

Dec 21 2021

kschwarz added inline comments to D112435: [GlobalISel] Add G_BFI (bitfield insertion opcode).
Dec 21 2021, 2:10 AM · Restricted Project

Dec 14 2021

kschwarz added inline comments to D114959: Print target inline asm memory constraints.
Dec 14 2021, 6:05 AM · Restricted Project

Dec 9 2021

kschwarz committed rGa34465372507: [GlobalISel] Fix IRTranslator for constexpr fcmp (authored by kschwarz).
[GlobalISel] Fix IRTranslator for constexpr fcmp
Dec 9 2021, 11:49 PM
kschwarz closed D115450: [GlobalISel] Fix IRTranslator for constexpr fcmp.
Dec 9 2021, 11:49 PM · Restricted Project
kschwarz requested review of D115450: [GlobalISel] Fix IRTranslator for constexpr fcmp.
Dec 9 2021, 8:32 AM · Restricted Project

Nov 19 2021

kschwarz committed rG8c18719bae6f: [ELF] Expand LMA region if output section alignment introduces padding (authored by kschwarz).
[ELF] Expand LMA region if output section alignment introduces padding
Nov 19 2021, 2:28 AM
kschwarz closed D114166: [ELF] Expand LMA region if output section alignment introduces padding.
Nov 19 2021, 2:27 AM · Restricted Project
kschwarz updated the diff for D114166: [ELF] Expand LMA region if output section alignment introduces padding.

Address comments

Nov 19 2021, 2:11 AM · Restricted Project

Nov 18 2021

kschwarz requested review of D114166: [ELF] Expand LMA region if output section alignment introduces padding.
Nov 18 2021, 8:06 AM · Restricted Project

Oct 28 2021

kschwarz committed rGc09f1fc74c9b: [GlobalISel][Tablegen] Fix SameOperandMatcher's isIdentical check (authored by kschwarz).
[GlobalISel][Tablegen] Fix SameOperandMatcher's isIdentical check
Oct 28 2021, 4:38 AM
kschwarz closed D111506: [GlobalISel][Tablegen] Fix SameOperandMatcher's isIdentical check.
Oct 28 2021, 4:37 AM · Restricted Project
kschwarz added inline comments to D111506: [GlobalISel][Tablegen] Fix SameOperandMatcher's isIdentical check.
Oct 28 2021, 3:11 AM · Restricted Project

Oct 26 2021

kschwarz added a comment to D112435: [GlobalISel] Add G_BFI (bitfield insertion opcode).

I'm fine with allowing vectors, but shouldn't we then also allow vectors for the G_*BFX? What was the reason for disallowing them there?

Oct 26 2021, 4:49 AM · Restricted Project

Oct 25 2021

kschwarz added a comment to D112435: [GlobalISel] Add G_BFI (bitfield insertion opcode).

Thanks for the quick review @foad!

Oct 25 2021, 7:52 AM · Restricted Project
kschwarz updated the diff for D112435: [GlobalISel] Add G_BFI (bitfield insertion opcode).

Add comment about range of operands

Oct 25 2021, 7:52 AM · Restricted Project
kschwarz requested review of D112435: [GlobalISel] Add G_BFI (bitfield insertion opcode).
Oct 25 2021, 4:09 AM · Restricted Project

Oct 22 2021

kschwarz added inline comments to D111506: [GlobalISel][Tablegen] Fix SameOperandMatcher's isIdentical check.
Oct 22 2021, 7:55 AM · Restricted Project
kschwarz updated the diff for D111506: [GlobalISel][Tablegen] Fix SameOperandMatcher's isIdentical check.

Rebase & ping

Oct 22 2021, 7:48 AM · Restricted Project

Oct 10 2021

kschwarz requested review of D111506: [GlobalISel][Tablegen] Fix SameOperandMatcher's isIdentical check.
Oct 10 2021, 2:31 AM · Restricted Project

Sep 16 2021

kschwarz committed rGd2e66d7fa46b: [GlobalISel] Add a combine for and(load , mask) -> zextload (authored by kschwarz).
[GlobalISel] Add a combine for and(load , mask) -> zextload
Sep 16 2021, 1:43 AM
kschwarz closed D109357: [GlobalISel] Add a combine for and(load , mask) -> zextload.
Sep 16 2021, 1:43 AM · Restricted Project

Sep 9 2021

kschwarz added inline comments to D109357: [GlobalISel] Add a combine for and(load , mask) -> zextload.
Sep 9 2021, 3:11 AM · Restricted Project
kschwarz updated the diff for D109357: [GlobalISel] Add a combine for and(load , mask) -> zextload.

Only apply combine if the mask does not exceed in-memory size

Sep 9 2021, 3:10 AM · Restricted Project

Sep 8 2021

kschwarz updated the diff for D109357: [GlobalISel] Add a combine for and(load , mask) -> zextload.

Address review comments

Sep 8 2021, 1:51 AM · Restricted Project

Sep 7 2021

kschwarz requested review of D109357: [GlobalISel] Add a combine for and(load , mask) -> zextload.
Sep 7 2021, 5:31 AM · Restricted Project

Sep 3 2021

kschwarz committed rG90d52987594e: [GlobalISel] Add convenience constructors to MemDesc (authored by kschwarz).
[GlobalISel] Add convenience constructors to MemDesc
Sep 3 2021, 3:53 AM
kschwarz closed D109161: [GlobalISel] Add convenience constructors to MemDesc.
Sep 3 2021, 3:52 AM · Restricted Project
kschwarz updated the diff for D109161: [GlobalISel] Add convenience constructors to MemDesc.

Remove constexpr

Sep 3 2021, 12:54 AM · Restricted Project

Sep 2 2021

kschwarz requested review of D109161: [GlobalISel] Add convenience constructors to MemDesc.
Sep 2 2021, 8:12 AM · Restricted Project

Aug 25 2021

kschwarz committed rG4b4bc1ea16de: [GlobalISel] Do not generate illegal G_SEXTLOADs after legalization (authored by kschwarz).
[GlobalISel] Do not generate illegal G_SEXTLOADs after legalization
Aug 25 2021, 1:14 AM
kschwarz closed D108626: [GlobalISel] Do not generate illegal G_SEXTLOADs after legalization.
Aug 25 2021, 1:14 AM · Restricted Project

Aug 24 2021

kschwarz requested review of D108626: [GlobalISel] Do not generate illegal G_SEXTLOADs after legalization.
Aug 24 2021, 7:00 AM · Restricted Project

Aug 10 2021

kschwarz committed rG64bef13f083b: [GlobalISel] Look through truncs and extends in narrowScalarShift (authored by kschwarz).
[GlobalISel] Look through truncs and extends in narrowScalarShift
Aug 10 2021, 4:50 AM
kschwarz closed D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift.
Aug 10 2021, 4:50 AM · Restricted Project
kschwarz updated the diff for D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift.

Use available ShiftAmtTy

Aug 10 2021, 4:45 AM · Restricted Project

Aug 9 2021

kschwarz added reviewers for D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift: foad, aemerson, paquette.
Aug 9 2021, 12:46 AM · Restricted Project
kschwarz updated the diff for D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift.

Rebase + test updates

Aug 9 2021, 12:44 AM · Restricted Project

Aug 2 2021

kschwarz added inline comments to D96915: [AArch64][GlobalISel] Emit G_ASSERT_SEXT for SExt parameters in CallLowering.
Aug 2 2021, 5:10 AM · Restricted Project

Jul 28 2021

kschwarz added a comment to D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift.

ping @arsenm

Jul 28 2021, 6:11 AM · Restricted Project

Jul 9 2021

kschwarz added a comment to rGe892705d74c7: GlobalISel: Do not change register types in lowerLoad.

Is anyone already looking into supporting narrowing the result type below the memory size?

With this change, we cannot legalize %1:_(s128) = G_ZEXTLOAD %0:_(p0) :: (load (s64)) anymore, as s32 is the only legal result type for G_ZEXTLOAD on our target.

This is not a lowering, this is a narrowScalar of the result type. I'm trying to move towards narrowScalar never touching the memory type

I'm confused by this. You can't narrowScalar this below the memory type without splitting into multiple loads with smaller memory types since none of the load instructions are allowed to be truncating.

You can narrowScalar to a regular s64 load + zext. Whatever happens to that 64-bit load is a separate question

Jul 9 2021, 12:30 PM
kschwarz added a comment to rGe892705d74c7: GlobalISel: Do not change register types in lowerLoad.

Is anyone already looking into supporting narrowing the result type below the memory size?

Jul 9 2021, 4:10 AM

Jun 16 2021

kschwarz added a comment to D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.

LGTM, but the subject and description need to be updated.

Jun 16 2021, 4:04 AM · Restricted Project
kschwarz committed rG5d621ed85ddb: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment (authored by kschwarz).
[ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment
Jun 16 2021, 3:37 AM
kschwarz closed D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.
Jun 16 2021, 3:37 AM · Restricted Project

Jun 14 2021

kschwarz added inline comments to D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.
Jun 14 2021, 3:36 AM · Restricted Project

Jun 9 2021

kschwarz added inline comments to D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.
Jun 9 2021, 7:52 AM · Restricted Project
kschwarz updated the diff for D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.

Remove the check for noload, adapt existing tests

Jun 9 2021, 6:53 AM · Restricted Project
kschwarz added a comment to D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.

https://reviews.llvm.org/D45264 specifically introduced the check for sec->noload, stating that this conforms to GNU ld 2.29

Jun 9 2021, 3:26 AM · Restricted Project

Jun 8 2021

kschwarz added a comment to D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.

Thanks for your comments! I've applied the suggested formatting changes.

Jun 8 2021, 4:10 AM · Restricted Project
kschwarz updated the diff for D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.

Test formatting

Jun 8 2021, 3:27 AM · Restricted Project

Jun 7 2021

kschwarz requested review of D103815: [ELF] Consider that NOLOAD sections should be placed in a PT_LOAD segment.
Jun 7 2021, 7:48 AM · Restricted Project

May 25 2021

kschwarz added inline comments to D101947: GlobalISel: Split ValueHandler into assignment and emission classes.
May 25 2021, 6:00 AM · Restricted Project

Mar 1 2021

kschwarz added a comment to D97635: GlobalISel: Move splitToValueTypes to generic code.

Is there a plan to eventually get rid of the EVTs in call lowering and directly work with the LLVM IR Type?
Our downstream target needs special handling for pointer arguments, but unfortunately ComputeValueVTs loses the information about pointerness.
We solved this by directly operating on the LLVM IR type, although we do not handle vectors yet, which makes this a bit simpler

Mar 1 2021, 3:52 AM · Restricted Project

Jan 15 2021

kschwarz updated the diff for D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift.

Adapt to new API of getConstantVRegValWithLookThrough, rebase

Jan 15 2021, 4:30 AM · Restricted Project

Oct 16 2020

kschwarz committed rG6030a075164c: Fix hidden-redecls.m test for some environments (authored by kschwarz).
Fix hidden-redecls.m test for some environments
Oct 16 2020, 12:51 AM
kschwarz closed D89453: Fix hidden-redecls.m test for some environments.
Oct 16 2020, 12:51 AM · Restricted Project

Oct 15 2020

kschwarz abandoned D89480: [GlobalISel][Legalizer] Implement lower action for G_FSHL/G_FSHR.

Duplicate D76500

Oct 15 2020, 11:34 AM · Restricted Project
kschwarz added a comment to D89453: Fix hidden-redecls.m test for some environments.

Yes, I'll commit it tomorrow, thanks for the review @akyrtzi!

Oct 15 2020, 11:21 AM · Restricted Project
kschwarz requested review of D89480: [GlobalISel][Legalizer] Implement lower action for G_FSHL/G_FSHR.
Oct 15 2020, 9:13 AM · Restricted Project
kschwarz requested review of D89453: Fix hidden-redecls.m test for some environments.
Oct 15 2020, 3:04 AM · Restricted Project

Oct 12 2020

kschwarz added inline comments to D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift.
Oct 12 2020, 11:54 AM · Restricted Project
kschwarz committed rG734112343917: [GlobalISel][KnownBits] Early return on out of bound shift amounts (authored by kschwarz).
[GlobalISel][KnownBits] Early return on out of bound shift amounts
Oct 12 2020, 9:39 AM
kschwarz closed D89232: [GlobalISel][KnownBits] Early return on out of bound shift amounts.
Oct 12 2020, 9:39 AM · Restricted Project
kschwarz updated the diff for D89232: [GlobalISel][KnownBits] Early return on out of bound shift amounts.

Address review comments

Oct 12 2020, 8:39 AM · Restricted Project
kschwarz added a comment to D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift.

The code asserting in GISelKnownBits is probably broken. An out of bounds shift is not illegal IR

Oct 12 2020, 4:28 AM · Restricted Project
kschwarz requested review of D89232: [GlobalISel][KnownBits] Early return on out of bound shift amounts.
Oct 12 2020, 4:22 AM · Restricted Project

Oct 9 2020

kschwarz requested review of D89100: [GlobalISel] Look through truncs and extends in narrowScalarShift.
Oct 9 2020, 1:02 AM · Restricted Project

Aug 20 2020

kschwarz committed rG7497b861f496: [GlobalISel][IRTranslator] Support PHI instructions in landingpad blocks (authored by kschwarz).
[GlobalISel][IRTranslator] Support PHI instructions in landingpad blocks
Aug 20 2020, 1:50 AM
kschwarz closed D86141: [GlobalISel][IRTranslator] Support PHI instructions in landingpad blocks.
Aug 20 2020, 1:50 AM · Restricted Project

Aug 19 2020

kschwarz added inline comments to D86141: [GlobalISel][IRTranslator] Support PHI instructions in landingpad blocks.
Aug 19 2020, 1:53 AM · Restricted Project

Aug 18 2020

kschwarz requested review of D86141: [GlobalISel][IRTranslator] Support PHI instructions in landingpad blocks.
Aug 18 2020, 7:11 AM · Restricted Project

Aug 13 2020

kschwarz added a comment to D85199: GlobalISel: Add generic instructions for memory intrinsics.

The problem we have is that some LLVM-IR passes introduce calls to llvm.memcpy.p0i8.p0i8.i64, even though our native pointer size is 32-bits. Since it turned out that fixing this in LLVM is quite invasive, we currently work around this problem by truncating the size argument to 32-bits before calling createMemLibcall.

You would have to deal with this whether passes introduce this IR or not, unless we make it a verifier error to deviate from the pointer size (which would be inconsistent with every other pointer sized integer operand, although I think this is pointless)

I'm thinking the IRTranslator should be responsible for this clamp, and the machine verifier should enforce the size of the length type. I'm not sure why we don't do this for G_INTTOPTR/G_PTRTOINT; I feel like the fact these aren't required to match the pointer size is a holdover from when the DataLayout was optional

Aug 13 2020, 7:20 AM · Restricted Project

Aug 4 2020

kschwarz added a comment to D85199: GlobalISel: Add generic instructions for memory intrinsics.

The promotion gets inserted in the libcall lowering [...]

Aug 4 2020, 6:52 AM · Restricted Project
kschwarz added a comment to D85122: [GlobalISel][InlineAsm] Fix matching input constraint to physreg.

Either you can create a bug in Bugzilla (https://bugs.llvm.org/), asking for this revision to be merged to the release branch and mark it as a release blocker of the 11.0.0 release, or you can contact the release manager directly (hans@chromium.org).

Aug 4 2020, 3:25 AM · Restricted Project

Aug 3 2020

kschwarz accepted D85122: [GlobalISel][InlineAsm] Fix matching input constraint to physreg.

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

Aug 3 2020, 6:51 AM · Restricted Project

Jul 23 2020

kschwarz committed rG931488779f7e: [GlobalISel][InlineAsm] Add register class ID to the flags of register input… (authored by kschwarz).
[GlobalISel][InlineAsm] Add register class ID to the flags of register input…
Jul 23 2020, 4:35 AM
kschwarz closed D83763: [GlobalISel][InlineAsm] Add register class ID to the flags of register input operands.
Jul 23 2020, 4:35 AM · Restricted Project
kschwarz updated the diff for D83763: [GlobalISel][InlineAsm] Add register class ID to the flags of register input operands.

Rebase

Jul 23 2020, 3:55 AM · Restricted Project

Jul 14 2020

Herald added a project to D83763: [GlobalISel][InlineAsm] Add register class ID to the flags of register input operands: Restricted Project.
Jul 14 2020, 5:24 AM · Restricted Project

Jul 8 2020

kschwarz added a comment to D83390: [GlobalISel][InlineAsm] Extend input operands when register class size does not match type.

A similar issue (for tied input operands) is handled in https://reviews.llvm.org/D83384
The function introduced there should be extended to handle the vector case.

Jul 8 2020, 2:51 PM · Restricted Project
kschwarz added a comment to D83384: [GlobalISel][InlineAsm] Fix buildCopy for inputs.

we noticed that this extension is also missing for the non-tied register input operands. I added the opposite logic, i.e. truncating of output operands, but forgot about extending the inputs.
Would you mind adding that handling in this patch too, as it is basically the same?
If you feel like it should be in a separate commit, I can also provide a patch for it. Thanks!

Jul 8 2020, 5:14 AM · Restricted Project

Jun 10 2020

kschwarz added a comment to D76283: [IRBuilder] Use preferred target type for len argument of memory intrinsic functions.

I brought this to the mailing list (http://lists.llvm.org/pipermail/llvm-dev/2020-March/140032.html) but didn't get an answer there.

Jun 10 2020, 4:20 AM · Restricted Project, Restricted Project
kschwarz updated the diff for D76283: [IRBuilder] Use preferred target type for len argument of memory intrinsic functions.

Brining this up again

Jun 10 2020, 4:20 AM · Restricted Project, Restricted Project
kschwarz added a reviewer for D76283: [IRBuilder] Use preferred target type for len argument of memory intrinsic functions: arsenm.
Jun 10 2020, 4:20 AM · Restricted Project, Restricted Project
kschwarz abandoned D77535: [GlobalISel] Add extended inline assembler support.

Yes, abandoning this in favor of https://reviews.llvm.org/D78316

Jun 10 2020, 1:36 AM · Restricted Project

May 27 2020

kschwarz committed rGf2fad3f703aa: [GlobalISel][InlineAsm] Add missing EarlyClobber flag to inline asm output… (authored by kschwarz).
[GlobalISel][InlineAsm] Add missing EarlyClobber flag to inline asm output…
May 27 2020, 3:12 AM
kschwarz closed D80467: [GlobalISel][InlineAsm] Add missing EarlyClobber flag to inline asm output operands.
May 27 2020, 3:12 AM · Restricted Project

May 23 2020

kschwarz created D80467: [GlobalISel][InlineAsm] Add missing EarlyClobber flag to inline asm output operands.
May 23 2020, 5:47 AM · Restricted Project

May 22 2020

kschwarz added a comment to D79955: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be indirectified.

Hi @leonardchan, I'll take a look at the failure, thanks for the reproducer!

May 22 2020, 10:43 AM · Restricted Project

May 15 2020

kschwarz committed rG5425cdc3adf9: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be… (authored by kschwarz).
[GlobalISel][InlineAsm] Add early return for memory inputs that need to be…
May 15 2020, 5:13 AM
kschwarz closed D79955: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be indirectified.

Re-landed in 5425cdc3adf9998aeaf587d93417bd2f4f1373c9

May 15 2020, 5:13 AM · Restricted Project
kschwarz updated the diff for D79955: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be indirectified.

The new check also triggered for memory clobbers, which we already handle.
I've moved the check further down, where we already check that it is an input operand.

May 15 2020, 3:02 AM · Restricted Project
kschwarz reopened D79955: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be indirectified.

Re-opening for investigation

May 15 2020, 2:19 AM · Restricted Project

May 14 2020

kschwarz committed rG887dfeec53ad: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be… (authored by kschwarz).
[GlobalISel][InlineAsm] Add early return for memory inputs that need to be…
May 14 2020, 2:43 PM
kschwarz closed D79955: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be indirectified.
May 14 2020, 2:43 PM · Restricted Project
kschwarz updated the diff for D79955: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be indirectified.

Add test extracted from pr68328.c

May 14 2020, 1:37 PM · Restricted Project
kschwarz added a comment to D78319: [GlobalISel][InlineAsm] Add support for basic input operand constraints.

I did not handle direct memory operands that need to be "indirectified" in this patch.
https://reviews.llvm.org/D79955 adds an early return for now so we don't run into the assertion while working on supporting that feature.

May 14 2020, 12:30 PM · Restricted Project
kschwarz created D79955: [GlobalISel][InlineAsm] Add early return for memory inputs that need to be indirectified.
May 14 2020, 12:30 PM · Restricted Project
kschwarz added a comment to D78319: [GlobalISel][InlineAsm] Add support for basic input operand constraints.

I'll have a look into it now. Thanks for letting me know!

May 14 2020, 11:23 AM · Restricted Project