Page MenuHomePhabricator

t.p.northover (Tim Northover)
Lord High Supreme Bullshitter

Projects

User does not belong to any projects.

User Details

User Since
Oct 18 2012, 4:53 AM (339 w, 1 d)

Recent Activity

Thu, Apr 18

t.p.northover accepted D60677: [ARM] Rewrite isLegalT2AddressImmediate.

LGTM. Thanks for updating it.

Thu, Apr 18, 2:52 AM · Restricted Project

Wed, Apr 17

t.p.northover added a comment to D60719: Demonstrate how to fix freestanding for memcpy.

IIUC freestanding environment should not rely on memcpy being present so my take on it was that by "fixing" freestanding I could have my cake and eat it too.

Wed, Apr 17, 11:42 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D60719: Demonstrate how to fix freestanding for memcpy.

I think it'd be pretty unpopular with the people I know who use freestanding. They're mostly working on microcontrollers and compiling -Oz so the extra code size would be untenable; they also have memcpy implementations anyway because they use it in their own code.

Wed, Apr 17, 3:33 AM · Restricted Project, Restricted Project

Tue, Apr 16

t.p.northover added inline comments to D60708: [ARM] Code-generation infrastructure for MVE..
Tue, Apr 16, 4:22 AM · Restricted Project
t.p.northover added a comment to D60706: [ARM] implement 8.1-M instructions at the MC level..

I think this needs splitting up further. There are a lot of novelties in the assembly syntax with this new instruction set, and it's made the patch huge.

Tue, Apr 16, 4:04 AM · Restricted Project
t.p.northover added a comment to D60692: [ARM] Explicit lowering of half <-> double conversions..

The code looks reasonable to me, but should be tested.

Tue, Apr 16, 3:25 AM · Restricted Project
t.p.northover added inline comments to D60697: [ARM] Allow "-march=foo+fp" to vary with foo..
Tue, Apr 16, 3:17 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D58982: DAG: allow DAG pointer size different from memory representation..

I haven't changed ComputeValueVTs yet.

Tue, Apr 16, 3:03 AM · Restricted Project
t.p.northover updated the diff for D58982: DAG: allow DAG pointer size different from memory representation..

Switched to using getPtrExtOrTrunc. I *think* it's right, but there was a certain amount of guesswork on whether it'll actually work for signed pointers.

Tue, Apr 16, 3:03 AM · Restricted Project
t.p.northover accepted D60700: [ARM] Change the MC names for VMAXNM/VMINNM..

OK, it's a bit ugly but pretty limited in scope so I think we can live with it. LGTM.

Tue, Apr 16, 2:19 AM · Restricted Project
t.p.northover added inline comments to D58982: DAG: allow DAG pointer size different from memory representation..
Tue, Apr 16, 1:50 AM · Restricted Project

Mon, Apr 15

t.p.northover added a comment to D60470: [DWARF] Change ambiguity resolution from smallest CUOffset to largest (LowPC, CUOffset).

Have you run make check on this patch?

Mon, Apr 15, 3:44 PM · Restricted Project
t.p.northover accepted D60709: [ARM] Support inline assembler constraints for MVE..

Excellent, looks good to me then.

Mon, Apr 15, 7:53 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D60702: [ARM] Add fixup types for BF and LOL..

I think it would be better to fold this patch in with whatever smallest unit makes it testable. Probably by splitting up the different fixups to go in with the instruction that uses them.

Mon, Apr 15, 7:46 AM · Restricted Project
t.p.northover added a comment to D60701: [ARM] add new LLVM addressing modes for v8.1-M and MVE..

This should probably be combined with the first patch that uses these addressing modes so that it can be tested.

Mon, Apr 15, 7:27 AM · Restricted Project
t.p.northover accepted D60695: [TableGen] AsmMatcher: allow repeated input operands..

Looks reasonable.

Mon, Apr 15, 7:23 AM · Restricted Project
t.p.northover added a comment to D60700: [ARM] Change the MC names for VMAXNM/VMINNM..

What goes wrong if we don't do this? Does TableGen complain about schedules containing unsupported instructions or something?

Mon, Apr 15, 7:22 AM · Restricted Project
t.p.northover accepted D60699: [ARM] add CLI support for 8.1-M and MVE..

This looks good to me.

Mon, Apr 15, 7:22 AM · Restricted Project
t.p.northover added a comment to D60698: [ARM] add target arch definitions for 8.1-M and MVE..

Could probably also do with some testing in unittests/Support/ARMAttributeParser.cpp and TargetParserTest.cpp.

Mon, Apr 15, 7:22 AM · Restricted Project
t.p.northover added a comment to D60697: [ARM] Allow "-march=foo+fp" to vary with foo..

This needs some tests. I'm also not quite sure when you'd use bare "+fp", if it's the default anyway.

Mon, Apr 15, 7:16 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D60691: [ARM] Replace fp-only-sp and d16 with fp64 and d32..

I like the direction of this change, and the details look correct too.

Mon, Apr 15, 6:52 AM · Restricted Project, Restricted Project
t.p.northover accepted D60693: [ARM] Split predicates out into their own .td file..

This looks reasonable to me.

Mon, Apr 15, 6:18 AM · Restricted Project
t.p.northover added a comment to D60710: [ARM] Add ACLE feature macros for MVE..

Could you add some tests?

Mon, Apr 15, 6:05 AM · Restricted Project
t.p.northover added a comment to D60709: [ARM] Support inline assembler constraints for MVE..

Is this coordinated with GCC?

Mon, Apr 15, 6:05 AM · Restricted Project, Restricted Project
t.p.northover added inline comments to D60677: [ARM] Rewrite isLegalT2AddressImmediate.
Mon, Apr 15, 5:48 AM · Restricted Project
t.p.northover added inline comments to D60485: [AArch64] Add support for MTE intrinsics.
Mon, Apr 15, 5:40 AM
t.p.northover closed D58984: DAG: propagate ConsecutiveRegs flags to returns too..

Thanks, *this* one is r358399.

Mon, Apr 15, 5:13 AM · Restricted Project
t.p.northover added a comment to D58983: DAG: propagate whether an arg is a pointer for CallingConv decisions..

Thanks, it's r358399.

Mon, Apr 15, 5:12 AM · Restricted Project
t.p.northover closed D58983: DAG: propagate whether an arg is a pointer for CallingConv decisions..

Thanks, it's r358399.

Mon, Apr 15, 5:03 AM · Restricted Project
t.p.northover committed rG2be3f868f9c2: DAG: propagate ConsecutiveRegs flags to returns too. (authored by t.p.northover).
DAG: propagate ConsecutiveRegs flags to returns too.
Mon, Apr 15, 5:03 AM
t.p.northover committed rG9db00f7e5b34: DAG: propagate whether an arg is a pointer for CallingConv decisions. (authored by t.p.northover).
DAG: propagate whether an arg is a pointer for CallingConv decisions.
Mon, Apr 15, 5:03 AM
t.p.northover added inline comments to D58982: DAG: allow DAG pointer size different from memory representation..
Mon, Apr 15, 4:36 AM · Restricted Project
t.p.northover added a comment to D58983: DAG: propagate whether an arg is a pointer for CallingConv decisions..

Ping.

Mon, Apr 15, 3:59 AM · Restricted Project
t.p.northover added a comment to D58982: DAG: allow DAG pointer size different from memory representation..

Ping.

Mon, Apr 15, 3:59 AM · Restricted Project
t.p.northover added a comment to D58984: DAG: propagate ConsecutiveRegs flags to returns too..

Ping.

Mon, Apr 15, 3:59 AM · Restricted Project
t.p.northover added inline comments to D60485: [AArch64] Add support for MTE intrinsics.
Mon, Apr 15, 3:02 AM

Sun, Mar 24

t.p.northover accepted D59720: [AArch64] Prefer "mov" over "orr" to materialize constants..

Looks fine to me.

Sun, Mar 24, 7:55 AM · Restricted Project

Fri, Mar 22

t.p.northover added a comment to D59615: [AArch64] When creating SISD intrinsic calls widen scalar args into a zero vectors, not undef.

Did you look into a scalar variant of the intrinsic call instead? These instructions have non-vector variants (e.g. sqadd s0, s0, s0), and that's actually why the intrinsics exist in the first place. It'd be a shame to always require this extra work.

Fri, Mar 22, 3:31 AM · Restricted Project
t.p.northover added a comment to D58983: DAG: propagate whether an arg is a pointer for CallingConv decisions..

Ping.

Fri, Mar 22, 2:40 AM · Restricted Project

Mar 12 2019

t.p.northover accepted D59244: [DAG] Move integer setcc %x, %x folding into FoldSetCC.
Mar 12 2019, 10:21 AM · Restricted Project
t.p.northover closed D58981: CodeGenPrepare: preserve inbounds attribute when sinking GEPs.

Thanks for the review. Committed as r355926.

Mar 12 2019, 8:26 AM · Restricted Project
t.p.northover committed rG8935aca9c74b: CodeGenPrep: preserve inbounds attribute when sinking GEPs. (authored by t.p.northover).
CodeGenPrep: preserve inbounds attribute when sinking GEPs.
Mar 12 2019, 8:24 AM
t.p.northover added inline comments to D59252: [TTI] getMemcpyCost.
Mar 12 2019, 8:20 AM · Restricted Project
t.p.northover added inline comments to D59256: [ARM] Disable LDM with offset for thumb2 cortex-m cpus.
Mar 12 2019, 8:09 AM · Restricted Project
t.p.northover added inline comments to D59251: [Documentation] Proposal for plan to change variable names.
Mar 12 2019, 7:51 AM · Restricted Project
t.p.northover added inline comments to D59244: [DAG] Move integer setcc %x, %x folding into FoldSetCC.
Mar 12 2019, 7:33 AM · Restricted Project
t.p.northover added inline comments to D58981: CodeGenPrepare: preserve inbounds attribute when sinking GEPs.
Mar 12 2019, 7:19 AM · Restricted Project
t.p.northover added inline comments to D59244: [DAG] Move integer setcc %x, %x folding into FoldSetCC.
Mar 12 2019, 6:59 AM · Restricted Project
t.p.northover added inline comments to D59251: [Documentation] Proposal for plan to change variable names.
Mar 12 2019, 6:55 AM · Restricted Project

Mar 11 2019

t.p.northover updated the diff for D58984: DAG: propagate ConsecutiveRegs flags to returns too..

Added context, and moved use of NeedsRegBlock from incorrect patch I'd uploaded elsewhere.

Mar 11 2019, 8:06 AM · Restricted Project
t.p.northover added inline comments to D58984: DAG: propagate ConsecutiveRegs flags to returns too..
Mar 11 2019, 8:06 AM · Restricted Project
t.p.northover updated the diff for D58983: DAG: propagate whether an arg is a pointer for CallingConv decisions..

Accidentally had part of the ConsecutiveRegs patch in here.

Mar 11 2019, 7:38 AM · Restricted Project
t.p.northover added inline comments to D58983: DAG: propagate whether an arg is a pointer for CallingConv decisions..
Mar 11 2019, 7:24 AM · Restricted Project
t.p.northover updated the diff for D58983: DAG: propagate whether an arg is a pointer for CallingConv decisions..

Now with added context!

Mar 11 2019, 7:24 AM · Restricted Project
t.p.northover updated the diff for D58981: CodeGenPrepare: preserve inbounds attribute when sinking GEPs.
Mar 11 2019, 6:36 AM · Restricted Project
t.p.northover added a comment to D58981: CodeGenPrepare: preserve inbounds attribute when sinking GEPs.

Please add context

Mar 11 2019, 6:35 AM · Restricted Project

Mar 5 2019

t.p.northover created D58984: DAG: propagate ConsecutiveRegs flags to returns too..
Mar 5 2019, 10:19 AM · Restricted Project
t.p.northover created D58982: DAG: allow DAG pointer size different from memory representation..
Mar 5 2019, 10:18 AM · Restricted Project
t.p.northover created D58983: DAG: propagate whether an arg is a pointer for CallingConv decisions..
Mar 5 2019, 10:18 AM · Restricted Project
t.p.northover created D58981: CodeGenPrepare: preserve inbounds attribute when sinking GEPs.
Mar 5 2019, 10:12 AM · Restricted Project

Feb 8 2019

Herald added a project to D57054: [MachineOutliner][ARM][RFC] Add Machine Outliner support for ARM: Restricted Project.
Feb 8 2019, 2:57 AM · Restricted Project

Feb 7 2019

t.p.northover updated the diff for D57820: [AArch64] Use CAS loops for all atomic operations when available..

I was looking at this again and noticed it didn't handle unordered loads & stores properly. It tried to create unordered atomicrmw/cmpxchg, which are illegal and assert. So I updated it to promote unordered to monotonic.

Feb 7 2019, 4:16 AM · Restricted Project
t.p.northover committed rG638110a20883: AArch64: implement copy for paired GPR registers. (authored by t.p.northover).
AArch64: implement copy for paired GPR registers.
Feb 7 2019, 2:36 AM

Feb 6 2019

t.p.northover committed rG474f5d9b5539: AArch64: enforce even/odd register pairs for CASP instructions. (authored by t.p.northover).
AArch64: enforce even/odd register pairs for CASP instructions.
Feb 6 2019, 7:27 AM
t.p.northover created D57820: [AArch64] Use CAS loops for all atomic operations when available..
Feb 6 2019, 7:14 AM · Restricted Project
t.p.northover committed rG71025a2f3e11: AArch64: annotate atomics with dropped acquire semantics when printing. (authored by t.p.northover).
AArch64: annotate atomics with dropped acquire semantics when printing.
Feb 6 2019, 7:08 AM

Jan 25 2019

t.p.northover accepted D57125: [HotColdSplit] Introduce a cost model to control splitting behavior.

I think this looks pretty reasonable. The penalties are a bit speculative (fairly inevitably since the instructions haven't been created yet), but look sane. If they turn out to be problematic in future we could add some hooks to customize them.

Jan 25 2019, 7:06 AM

Jan 24 2019

t.p.northover added inline comments to D57054: [MachineOutliner][ARM][RFC] Add Machine Outliner support for ARM.
Jan 24 2019, 1:58 AM · Restricted Project

Jan 22 2019

t.p.northover added a comment to D57054: [MachineOutliner][ARM][RFC] Add Machine Outliner support for ARM.

Thanks very much for working on this, those numbers look promising. I had a quick read over, and have a few comments. I haven't looked at the checking logic in detail yet, mostly just the CodeGen part.

Jan 22 2019, 7:32 AM · Restricted Project

Jan 16 2019

t.p.northover accepted D55572: [AArch64] Add patterns for zext/sext of shift amount..

Thanks! LGTM.

Jan 16 2019, 2:13 AM

Dec 20 2018

t.p.northover added inline comments to D55909: [ARM] Set Defs = [CPSR] for COPY_STRUCT_BYVAL, as it clobbers CPSR..
Dec 20 2018, 2:02 AM
t.p.northover added inline comments to D55909: [ARM] Set Defs = [CPSR] for COPY_STRUCT_BYVAL, as it clobbers CPSR..
Dec 20 2018, 1:55 AM

Dec 18 2018

t.p.northover accepted D54743: SROA: preserve alignment tags on loads and stores..

Thanks Gerolf. Committed as r349465.

Dec 18 2018, 1:37 AM · Restricted Project

Dec 14 2018

t.p.northover added a comment to D55421: FastISel: take care to update iterators when removing instructions..

Ping.

Dec 14 2018, 3:13 AM
t.p.northover added inline comments to D54743: SROA: preserve alignment tags on loads and stores..
Dec 14 2018, 3:11 AM · Restricted Project

Dec 13 2018

t.p.northover added a comment to D54749: Saturating float to int casts: Basics [1/n].

I think the consistency argument is good, so I'm in favour of the structure you chose now. My main issue at the moment is the tests: hard-coding register usage leads to very fragile tests.

Dec 13 2018, 2:42 AM
t.p.northover accepted D55630: [ARM] Complete the Thumb1 shift+and->shift+shift transforms..

I think this looks fine.

Dec 13 2018, 2:42 AM
t.p.northover added a comment to D55572: [AArch64] Add patterns for zext/sext of shift amount..

update_llc_test_checks is a useful starting point because it generates the right checks to ensure you're checking the whole function, which is inconvenient to do by hand (trying to CHECK-NOT your way to checking the whole function is a bad idea).

Dec 13 2018, 2:39 AM

Dec 12 2018

t.p.northover added inline comments to D55572: [AArch64] Add patterns for zext/sext of shift amount..
Dec 12 2018, 3:06 AM
t.p.northover accepted D55586: Basic: make `int_least64_t` and `int_fast64_t` match on Darwin.

LGTM; well spotted!

Dec 12 2018, 2:58 AM

Dec 11 2018

t.p.northover added a comment to D55562: Atomics: support min/max orthogonally.

What does it do with floating-point inputs?

Dec 11 2018, 1:11 PM · Restricted Project
t.p.northover created D55562: Atomics: support min/max orthogonally.
Dec 11 2018, 9:20 AM · Restricted Project

Dec 7 2018

t.p.northover created D55421: FastISel: take care to update iterators when removing instructions..
Dec 7 2018, 3:00 AM
t.p.northover updated the diff for D54743: SROA: preserve alignment tags on loads and stores..

Separated NFC alias analysis move out into https://reviews.llvm.org/D55420, which this change applies on top of.

Dec 7 2018, 2:56 AM · Restricted Project
t.p.northover created D55420: SROA: move AATags member into base OpSplitter class. NFC..
Dec 7 2018, 2:54 AM

Dec 4 2018

t.p.northover added a comment to D54743: SROA: preserve alignment tags on loads and stores..

Maybe explicitly add reviewers?

Dec 4 2018, 5:41 AM · Restricted Project
t.p.northover added reviewers for D54743: SROA: preserve alignment tags on loads and stores.: bkramer, chandlerc.
Dec 4 2018, 5:41 AM · Restricted Project

Dec 3 2018

t.p.northover closed D53190: ARM: avoid infinite combining loop.

Great to see those other test changes!

Dec 3 2018, 3:19 AM

Nov 28 2018

t.p.northover added a comment to D54743: SROA: preserve alignment tags on loads and stores..

Ping.

Nov 28 2018, 6:03 AM · Restricted Project
t.p.northover updated the diff for D53190: ARM: avoid infinite combining loop.

Ah, I see what you mean. It's not pretty, but this updated patch seems to do the trick.

Nov 28 2018, 5:47 AM

Nov 27 2018

t.p.northover added a comment to D54533: InstCombine: don't assume malloc will never return nullptr.

Good idea. I committed a comment in r347653.

Nov 27 2018, 3:51 AM
t.p.northover added a comment to D53190: ARM: avoid infinite combining loop.

Ping.

Nov 27 2018, 2:27 AM

Nov 20 2018

t.p.northover added a comment to D54749: Saturating float to int casts: Basics [1/n].

The current implementation is the first and is modeled after what sign_extend_inreg does.

Nov 20 2018, 6:02 AM
t.p.northover added inline comments to D54749: Saturating float to int casts: Basics [1/n].
Nov 20 2018, 6:01 AM
t.p.northover abandoned D54533: InstCombine: don't assume malloc will never return nullptr.

Interesting; I (obviously) hadn't considered that interpretation of what's going on, or I'd have mentioned it. I think it just about holds water, so thanks for setting me straight!

Nov 20 2018, 5:26 AM
t.p.northover created D54743: SROA: preserve alignment tags on loads and stores..
Nov 20 2018, 1:45 AM · Restricted Project

Nov 15 2018

t.p.northover added a comment to D54604: Automatic variable initialization.

This isn't meant to change the semantics of C and C++.

Nov 15 2018, 4:13 PM · Restricted Project

Nov 14 2018

t.p.northover created D54533: InstCombine: don't assume malloc will never return nullptr.
Nov 14 2018, 8:49 AM
t.p.northover added a comment to D53190: ARM: avoid infinite combining loop.

Ok, fair point. If we are going to introduce a new node to fix this issue, could we have a SUBS node that can be glued to the CMOV?

Nov 14 2018, 3:22 AM

Nov 1 2018

t.p.northover updated the diff for D53514: os_log: make buffer size an integer constant expression..

Same as previous patch except the OSLog helpers are moved to libclangAST to respect dependencies.

Nov 1 2018, 9:52 AM