Page MenuHomePhabricator

Kai (Kai Nacke)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 3 2012, 7:10 AM (537 w, 2 d)

Recent Activity

Feb 6 2023

Kai committed rGd1d93da701b1: [Clang] Fix __ptr32 arguments passed to builtins (authored by Ariel-Burton).
[Clang] Fix __ptr32 arguments passed to builtins
Feb 6 2023, 11:54 AM · Restricted Project, Restricted Project
Kai closed D142048: [Phabricator] Fix __ptr32 arguments passed to builtins.
Feb 6 2023, 11:54 AM · Restricted Project, Restricted Project

Jan 12 2023

Kai added a comment to D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher.
  • Visit of changed instructions in the Combiner is now done iteratively.
  • The array with the rules to execute in the generated source is a bit more compact.

Running LLVM test suite with -fglobal-isel on an AArch64 EC2 instance (2 CPUs, 4GB):
Current implementation: 22m43.224s
Bottom-up implementation: 22m47.165s

Size of the binaries:
Current implementation: llc 127.280.024, clang 217.540.416
Bottom-up implementation: llc 127.026.960, clang 217.291.456

I haven't had time to properly look at the implementation, but a question on this. When you say "running the test suite", are you talking about building the test suite with -fglobal-isel? Not running the generated code right?

Jan 12 2023, 7:12 AM · Restricted Project, Restricted Project

Jan 9 2023

Kai updated the diff for D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher.
  • Visit of changed instructions in the Combiner is now done iteratively.
  • The array with the rules to execute in the generated source is a bit more compact.
Jan 9 2023, 8:59 AM · Restricted Project, Restricted Project

Jan 7 2023

Kai updated the diff for D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher.

I restructured the YAML output used for the test. As a result I could remove the sorting code, which caused a longer running time of the algorithm. The construction of the matcher is much faster now. However, testing got more challenging. I also made some minor changes in other parts of the algorithm. The generated matcher code is unchanged..

Jan 7 2023, 8:02 AM · Restricted Project, Restricted Project

Jan 6 2023

Kai committed rG70a5d8e4c469: [PPC] Add support for tune-cpu attribute (authored by Kai).
[PPC] Add support for tune-cpu attribute
Jan 6 2023, 10:02 AM · Restricted Project, Restricted Project
Kai closed D138317: [PowerPC] Add support for tune-cpu attribute.
Jan 6 2023, 10:02 AM · Restricted Project, Restricted Project
Kai added a comment to D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher.

Adding the new parameter to tryCombineAll() should possibly be a separate PR. I think that introducing a new class CombinerState, which is just a thin wrapper around a DenseMap<MachineInstr *, unsigned>, would also make sense.

Like D81899?

Jan 6 2023, 8:15 AM · Restricted Project, Restricted Project
Kai added a comment to D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher.

We can also just update tests. Avoiding test changes isn't a good reason to do something

Jan 6 2023, 8:02 AM · Restricted Project, Restricted Project
Kai added a comment to D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher.

Compiling LLVM is slightly longer with this change applied: 25m35.471s vs 28m51.797

This is huge. I don't understand this part. Surely you don't have bootstrapped globalisel working? Why this slowdown?

Jan 6 2023, 7:59 AM · Restricted Project, Restricted Project
Kai added a comment to D138317: [PowerPC] Add support for tune-cpu attribute.

@nemanjai Any comments?

Jan 6 2023, 7:51 AM · Restricted Project, Restricted Project
Kai retitled D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher from [RFC][GlibalISel] Replace the current GlobalISel matcher with a bottom-up matcher to [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher.
Jan 6 2023, 6:52 AM · Restricted Project, Restricted Project
Kai requested review of D141135: [RFC][GlobalISel] Replace the current GlobalISel matcher with a bottom-up matcher.
Jan 6 2023, 6:51 AM · Restricted Project, Restricted Project

Jan 4 2023

Kai added inline comments to D140988: [SystemZ] Implement lowering of GET_ROUNDING.
Jan 4 2023, 10:07 AM · Restricted Project, Restricted Project, Restricted Project

Dec 16 2022

Kai committed rG44fe4e25e45c: [PowerPC][NFC] Fix typos in PPCISelDAGToDAG (authored by Kai).
[PowerPC][NFC] Fix typos in PPCISelDAGToDAG
Dec 16 2022, 8:35 AM · Restricted Project, Restricted Project
Kai added a comment to D140119: [PowerPC][GIsel] Materialize i64 constants..

hmm, so many duplicated codes, but seems there is no simple way to avoid this.

D139813 adds some improvement for i64 materialization in DAG ISel. That should be adopted to GISel too.

This reminds me there was a proposal (https://reviews.llvm.org/D82709#2137837) for PPC target that PPC can materialize the i64 imm after ISEL and in ISEL just lower the i64 imm to a pseudo instruction. So we can avoid the duplication here and also some other remat issue in register allocation. But that may require big effort...

Dec 16 2022, 8:33 AM · Restricted Project, Restricted Project

Dec 15 2022

Kai committed rG110340c687cc: [PowerPC][GIsel] Materialize i64 constants. (authored by Kai).
[PowerPC][GIsel] Materialize i64 constants.
Dec 15 2022, 1:23 PM · Restricted Project, Restricted Project
Kai closed D140119: [PowerPC][GIsel] Materialize i64 constants..
Dec 15 2022, 1:23 PM · Restricted Project, Restricted Project
Kai added inline comments to D140119: [PowerPC][GIsel] Materialize i64 constants..
Dec 15 2022, 11:55 AM · Restricted Project, Restricted Project
Kai updated the diff for D140119: [PowerPC][GIsel] Materialize i64 constants..
  • Use uint32_t in findContiguousZerosAtLeast()
  • Replace use of constrainSelectedInstRegOperands() with constrainAllUses()
  • Uses std::optional<bool> instead of MI parameter
Dec 15 2022, 11:42 AM · Restricted Project, Restricted Project
Kai requested review of D140119: [PowerPC][GIsel] Materialize i64 constants..
Dec 15 2022, 10:18 AM · Restricted Project, Restricted Project
Kai committed rG6210127bd6e1: [UpdateTestChecks][PowerPC] Add ppc64 triple support (authored by Kai).
[UpdateTestChecks][PowerPC] Add ppc64 triple support
Dec 15 2022, 8:27 AM · Restricted Project, Restricted Project
Kai closed D140107: [UpdateTestChecks] [PowerPC] Add ppc64 triple support.
Dec 15 2022, 8:27 AM · Restricted Project, Restricted Project
Kai added a comment to D140107: [UpdateTestChecks] [PowerPC] Add ppc64 triple support.

This works for the ppc64le/ppc64be triples?

Dec 15 2022, 8:14 AM · Restricted Project, Restricted Project
Kai requested review of D140107: [UpdateTestChecks] [PowerPC] Add ppc64 triple support.
Dec 15 2022, 7:58 AM · Restricted Project, Restricted Project
Kai committed rG5ebdd838fb9c: [PowerPC] Simplify PPCSubtarget (authored by Kai).
[PowerPC] Simplify PPCSubtarget
Dec 15 2022, 7:10 AM · Restricted Project, Restricted Project
Kai closed D140028: [PowerPC] Simplify PPCSubtarget.
Dec 15 2022, 7:09 AM · Restricted Project, Restricted Project

Dec 14 2022

Kai added a reviewer for D131296: [PowerPC] Add support for extending and truncating values: shchenz.
Dec 14 2022, 6:59 PM · Restricted Project, Restricted Project
Kai updated the diff for D131296: [PowerPC] Add support for extending and truncating values.

Completely reworked the change.

Dec 14 2022, 12:03 PM · Restricted Project, Restricted Project
Kai requested review of D140028: [PowerPC] Simplify PPCSubtarget.
Dec 14 2022, 8:19 AM · Restricted Project, Restricted Project

Dec 12 2022

Kai added a comment to D139444: [ZOS] Convert tests to check 'target={{.*}}-zos'.

Searching the buildbot console page for 'zos' turns up nothing; 's390' turns up clang-s390x-linux, clang-s390x-linux-lnt, mlir-s390x-linux. Are there any zos hosted bots? I.e., is this test ever actually run? Maybe there are only downstream zos bots, in which case this should be a downstream test instead?

Dec 12 2022, 9:59 AM · Restricted Project, Restricted Project, Restricted Project
Kai added a comment to D139444: [ZOS] Convert tests to check 'target={{.*}}-zos'.

The changes in this patch assume that there aren't any possible suffixes after the -zos part of the triple (no version numbers, like you might find with darwin or macos, and nothing like -elf or -eabi like some targets have). If there are suffixes, I'll happily revise to put {{.*}} after everything.

I think for consistency with other targets, and to be safe for future extensions of the target triple, it would be better to add the {{.*}}

Dec 12 2022, 9:56 AM · Restricted Project, Restricted Project, Restricted Project
Kai added a comment to D139444: [ZOS] Convert tests to check 'target={{.*}}-zos'.

If you can tell me the platform.system() value to look for to detect z/OS, I can do that. Probably as a separate patch, as it would be going beyond the mechanical replacement that I'm doing for everything else.

Dec 12 2022, 9:54 AM · Restricted Project, Restricted Project, Restricted Project

Dec 9 2022

Kai committed rG4c3357ad56a0: [SystemZ][NFC] Simplify SystemZSubtarget (authored by Kai).
[SystemZ][NFC] Simplify SystemZSubtarget
Dec 9 2022, 1:34 PM · Restricted Project, Restricted Project
Kai closed D139738: [SystemZ] Simplify SystemZSubtarget.
Dec 9 2022, 1:34 PM · Restricted Project, Restricted Project
Kai requested review of D139738: [SystemZ] Simplify SystemZSubtarget.
Dec 9 2022, 12:29 PM · Restricted Project, Restricted Project
Kai committed rG6b2829dd8772: Allow epilogue_begin to be emitted when generating DWARF (authored by Ariel-Burton).
Allow epilogue_begin to be emitted when generating DWARF
Dec 9 2022, 12:18 PM · Restricted Project, Restricted Project
Kai closed D133376: Allow epilogue_begin to be emitted when generating DWARF.
Dec 9 2022, 12:18 PM · debug-info, Restricted Project, Restricted Project

Nov 21 2022

Kai committed rG2b1e895afb5b: [PowerPC] Add support for G_ADD and G_SUB. (authored by Kai).
[PowerPC] Add support for G_ADD and G_SUB.
Nov 21 2022, 3:35 PM · Restricted Project, Restricted Project
Kai closed D128106: [PowerPC] Add support for G_ADD and G_SUB..
Nov 21 2022, 3:35 PM · Restricted Project, Restricted Project
Kai committed rGbe4a1dfbf93d: [PowerPC] Extend GlobalISel implementation to emit and/or/xor. (authored by Kai).
[PowerPC] Extend GlobalISel implementation to emit and/or/xor.
Nov 21 2022, 12:09 PM · Restricted Project, Restricted Project
Kai closed D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor..
Nov 21 2022, 12:08 PM · Restricted Project, Restricted Project

Nov 18 2022

Kai added a comment to D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor..

@shchenz Sorry for the delay.
I copied the selectCopy() function from your change. I also added a simplified version of getRegClass(). That is hopefully good enough.

Nov 18 2022, 3:33 PM · Restricted Project, Restricted Project
Kai updated the diff for D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor..

Added selectCopy() implementation from D132942

Nov 18 2022, 3:30 PM · Restricted Project, Restricted Project
Kai updated the diff for D138317: [PowerPC] Add support for tune-cpu attribute.

Fix formatting.

Nov 18 2022, 2:04 PM · Restricted Project, Restricted Project
Kai added a comment to D137504: [PowerPC] Implement 64-bit ELFv2 Calling Convention in TableGen (for integers/floats/vectors in registers).

Some nit comments but in general looks good to me.

Nov 18 2022, 1:47 PM · Restricted Project, Restricted Project, Restricted Project
Kai edited reviewers for D138317: [PowerPC] Add support for tune-cpu attribute, added: shchenz; removed: power-llvm-team.
Nov 18 2022, 12:21 PM · Restricted Project, Restricted Project
Kai requested review of D138317: [PowerPC] Add support for tune-cpu attribute.
Nov 18 2022, 12:02 PM · Restricted Project, Restricted Project

Oct 31 2022

Kai requested review of D137111: Add GlobalISel cook book.
Oct 31 2022, 1:59 PM · Restricted Project, Restricted Project

Oct 12 2022

Kai committed rG0b9264006daf: [SystemZ] Revert migration of SystemZ/Large/branch-01.ll (authored by Kai).
[SystemZ] Revert migration of SystemZ/Large/branch-01.ll
Oct 12 2022, 7:24 AM · Restricted Project, Restricted Project
Kai closed D135778: [SystemZ] Revert migration of Large/branch-01.ll.
Oct 12 2022, 7:24 AM · Restricted Project, Restricted Project
Kai requested review of D135778: [SystemZ] Revert migration of Large/branch-01.ll.
Oct 12 2022, 7:14 AM · Restricted Project, Restricted Project

Oct 11 2022

Kai committed rGa1710eb3cd58: [SystemZ][NFC] Opaque pointer migration. (authored by Kai).
[SystemZ][NFC] Opaque pointer migration.
Oct 11 2022, 2:10 PM · Restricted Project, Restricted Project
Kai committed rG5403c59c608c: [PPC] Opaque pointer migration, part 2. (authored by Kai).
[PPC] Opaque pointer migration, part 2.
Oct 11 2022, 10:24 AM · Restricted Project, Restricted Project
Kai committed rG427fb35192f1: [PPC] Opaque pointer migration, part 1. (authored by Kai).
[PPC] Opaque pointer migration, part 1.
Oct 11 2022, 10:24 AM · Restricted Project, Restricted Project
Kai closed D135474: [PPC] Opaque pointer migration, part 2..
Oct 11 2022, 10:24 AM · Restricted Project, Restricted Project
Kai closed D135470: [PPC] Opaque pointer migration, part 1..
Oct 11 2022, 10:24 AM · Restricted Project, Restricted Project

Oct 7 2022

Kai requested review of D135474: [PPC] Opaque pointer migration, part 2..
Oct 7 2022, 11:39 AM · Restricted Project, Restricted Project
Kai requested review of D135470: [PPC] Opaque pointer migration, part 1..
Oct 7 2022, 11:05 AM · Restricted Project, Restricted Project

Oct 4 2022

Kai updated the diff for D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor..

Moved implementation out of anonymous name space in PPCCallLowering.cpp.

Oct 4 2022, 3:50 PM · Restricted Project, Restricted Project
Kai added inline comments to D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor..
Oct 4 2022, 3:39 PM · Restricted Project, Restricted Project
Kai updated the diff for D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor..

Let the generic code handle TargetOpcode::COPY.

Oct 4 2022, 3:38 PM · Restricted Project, Restricted Project
Kai added inline comments to D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor..
Oct 4 2022, 3:13 PM · Restricted Project, Restricted Project
Kai updated the diff for D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor..
  • update selectCopy() to constraint all registers
  • regenerate test using -ppc-asm-full-reg-names option
Oct 4 2022, 3:12 PM · Restricted Project, Restricted Project
Kai added inline comments to D127392: [AggressiveInstCombine] Combine consecutive loads which are being merged to form a wider load..
Oct 4 2022, 12:54 PM · Restricted Project, Restricted Project

Sep 20 2022

Kai committed rG34a809591bf9: [GISel] TreeMatcher: always skip leaves if they don't care (authored by Kai).
[GISel] TreeMatcher: always skip leaves if they don't care
Sep 20 2022, 1:55 PM · Restricted Project, Restricted Project
Kai closed D134192: [GISel] TreeMatcher: always skip leaves if they don't care.
Sep 20 2022, 1:55 PM · Restricted Project, Restricted Project
Kai added inline comments to D134192: [GISel] TreeMatcher: always skip leaves if they don't care.
Sep 20 2022, 12:57 PM · Restricted Project, Restricted Project
Kai updated the diff for D134192: [GISel] TreeMatcher: always skip leaves if they don't care.

Add comment (again? hm.).

Sep 20 2022, 12:56 PM · Restricted Project, Restricted Project
Kai updated the diff for D134192: [GISel] TreeMatcher: always skip leaves if they don't care.

Fix formatting complain from clang-format.

Sep 20 2022, 9:42 AM · Restricted Project, Restricted Project

Sep 19 2022

Kai updated the diff for D134192: [GISel] TreeMatcher: always skip leaves if they don't care.
  • Adds a resize when adding the leaves which do not care about the instruction to all partitions, as it is done already in addToPartition()
  • Adds a comment to the test. The test just follows the edges in the graph, to make sure the construction is correct.
Sep 19 2022, 1:38 PM · Restricted Project, Restricted Project
Kai added a comment to D129576: [GISel] Unify use of getStackGuard().

The change creates some regressions on the buildbots which I was not yet able to reproduce.

Sep 19 2022, 9:24 AM · Restricted Project, Restricted Project
Kai requested review of D134192: [GISel] TreeMatcher: always skip leaves if they don't care.
Sep 19 2022, 9:23 AM · Restricted Project, Restricted Project

Sep 17 2022

Kai committed rGae35188f973e: [GISel] Fix match tree emitter. (authored by Kai).
[GISel] Fix match tree emitter.
Sep 17 2022, 5:04 PM · Restricted Project, Restricted Project
Kai closed D133257: [GISel] Fix match tree emitter..
Sep 17 2022, 5:04 PM · Restricted Project, Restricted Project

Sep 16 2022

Kai updated the diff for D133257: [GISel] Fix match tree emitter..

Update comment.

Sep 16 2022, 4:17 PM · Restricted Project, Restricted Project
Kai added inline comments to D133257: [GISel] Fix match tree emitter..
Sep 16 2022, 1:44 PM · Restricted Project, Restricted Project
Kai updated the diff for D133257: [GISel] Fix match tree emitter..
  • Remove unused functions in CombineHelper
  • Add test checking source code
Sep 16 2022, 1:35 PM · Restricted Project, Restricted Project

Sep 14 2022

Kai updated the diff for D133257: [GISel] Fix match tree emitter..

I made another fix which enables matching of linear patterns.
To showcase the functionality I changed 3 simple combine rules
to use linear matching. All changed rules are covered by existing
tests.

Sep 14 2022, 11:45 AM · Restricted Project, Restricted Project

Sep 3 2022

Kai updated the diff for D133257: [GISel] Fix match tree emitter..

Remove unused Inserted variable.

Sep 3 2022, 10:37 AM · Restricted Project, Restricted Project
Kai added a comment to D133257: [GISel] Fix match tree emitter..

Did you forget the test case?

Sep 3 2022, 10:33 AM · Restricted Project, Restricted Project
Kai updated the diff for D133257: [GISel] Fix match tree emitter..

Added missing test.

Sep 3 2022, 10:28 AM · Restricted Project, Restricted Project
Kai requested review of D133257: [GISel] Fix match tree emitter..
Sep 3 2022, 9:24 AM · Restricted Project, Restricted Project

Aug 31 2022

Kai added inline comments to D132942: [PowerPC][GISel]add support for float point arithmetic operations.
Aug 31 2022, 7:58 AM · Restricted Project, Restricted Project

Aug 30 2022

Kai added reviewers for D128106: [PowerPC] Add support for G_ADD and G_SUB.: shchenz, amyk, Restricted Project.
Aug 30 2022, 8:42 AM · Restricted Project, Restricted Project
Kai accepted D132942: [PowerPC][GISel]add support for float point arithmetic operations.

LGTM with the message in the assert changed.

Aug 30 2022, 8:31 AM · Restricted Project, Restricted Project
Kai added a reviewer for D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor.: Restricted Project.
Aug 30 2022, 7:50 AM · Restricted Project, Restricted Project
Kai added reviewers for D127530: [PowerPC] Extend GlobalISel implementation to emit and/or/xor.: shchenz, amyk.
Aug 30 2022, 7:49 AM · Restricted Project, Restricted Project

Aug 5 2022

Kai requested review of D131296: [PowerPC] Add support for extending and truncating values.
Aug 5 2022, 2:42 PM · Restricted Project, Restricted Project

Aug 2 2022

Kai committed rGb38375378dea: [GIsel] Add missing libcall for G_MUL to LegalizerHelper (authored by Kai).
[GIsel] Add missing libcall for G_MUL to LegalizerHelper
Aug 2 2022, 10:36 AM · Restricted Project, Restricted Project
Kai committed rGd3c4609855e1: [GIsel] Add missing space between type and name in GICombinerHelperArg (authored by Kai).
[GIsel] Add missing space between type and name in GICombinerHelperArg
Aug 2 2022, 10:36 AM · Restricted Project, Restricted Project
Kai closed D130987: [GIsel] Add missing libcall for G_MUL to LegalizerHelper.
Aug 2 2022, 10:36 AM · Restricted Project, Restricted Project
Kai closed D130823: [GIsel] Add missing space between type and name in GICombinerHelperArg.
Aug 2 2022, 10:36 AM · Restricted Project, Restricted Project
Kai requested review of D130987: [GIsel] Add missing libcall for G_MUL to LegalizerHelper.
Aug 2 2022, 6:46 AM · Restricted Project, Restricted Project

Jul 30 2022

Kai requested review of D130823: [GIsel] Add missing space between type and name in GICombinerHelperArg.
Jul 30 2022, 9:29 AM · Restricted Project, Restricted Project

Jul 13 2022

Kai committed rG880eb839e63f: [SystemZ] Enable `-mtune=` option in clang. (authored by Kai).
[SystemZ] Enable `-mtune=` option in clang.
Jul 13 2022, 8:40 AM · Restricted Project, Restricted Project
Kai closed D129562: [SystemZ] Enable `-mtune=` option in clang..
Jul 13 2022, 8:39 AM · Restricted Project, Restricted Project

Jul 12 2022

Kai added a reverting change for rGe60b4fb2b777: [GISel] Unify use of getStackGuard: rG4ae254e48850: Revert "[GISel] Unify use of getStackGuard".
Jul 12 2022, 2:01 PM · Restricted Project, Restricted Project
Kai committed rG4ae254e48850: Revert "[GISel] Unify use of getStackGuard" (authored by Kai).
Revert "[GISel] Unify use of getStackGuard"
Jul 12 2022, 2:01 PM · Restricted Project, Restricted Project
Kai added a reverting change for D129576: [GISel] Unify use of getStackGuard(): rG4ae254e48850: Revert "[GISel] Unify use of getStackGuard".
Jul 12 2022, 2:01 PM · Restricted Project, Restricted Project