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 (417 w, 4 d)

Recent Activity

Wed, Oct 14

t.p.northover committed rG630d2647986a: Analysis: only query size of sized objects. (authored by t.p.northover).
Analysis: only query size of sized objects.
Wed, Oct 14, 4:16 AM

Thu, Oct 8

t.p.northover closed D88085: AArch64: avoid error when truncating MCExprs.

Thanks Florian, committed as 38348fa2654.

Thu, Oct 8, 3:55 AM · Restricted Project
t.p.northover committed rG38348fa26548: AArch64: treat MC expressions as 2s complement arithmetic. (authored by t.p.northover).
AArch64: treat MC expressions as 2s complement arithmetic.
Thu, Oct 8, 3:55 AM

Wed, Sep 23

t.p.northover added a comment to D87095: [Triple][MachO] Define "arm64e", an AArch64 subarch for Pointer Auth..

I had a look through this and everything seemed to be in place. I think the ABI versioning is probably sufficient to prevent surprises and land this now, to avoid churn in the rest of the code. If more is really needed, we could add a temporary warning ("incomplete ABI") to the Clang driver.

Wed, Sep 23, 6:15 AM · Restricted Project, Restricted Project

Tue, Sep 22

t.p.northover updated the diff for D88085: AArch64: avoid error when truncating MCExprs.

Bother, forgot to add the test.

Tue, Sep 22, 5:50 AM · Restricted Project
t.p.northover requested review of D88085: AArch64: avoid error when truncating MCExprs.
Tue, Sep 22, 3:51 AM · Restricted Project

Sep 18 2020

t.p.northover closed D87286: AArch64: make sure jump table entries can reach entire image.

I'm a little concerned about the potential performance impact of the isNotDuplicable marking (that's the one change that impacts compressed jump tables), but your results seem to indicate it isn't significant.

Sep 18 2020, 1:54 AM · Restricted Project
t.p.northover committed rG2afe4becec77: AArch64: make sure jump table entries can reach entire image (authored by t.p.northover).
AArch64: make sure jump table entries can reach entire image
Sep 18 2020, 1:54 AM

Sep 17 2020

t.p.northover updated the diff for D87286: AArch64: make sure jump table entries can reach entire image.

Fix to win64-jumptable.ll hadn't been committed.

Sep 17 2020, 3:34 AM · Restricted Project
t.p.northover updated the diff for D87286: AArch64: make sure jump table entries can reach entire image.
  • Mark non-duplicable
  • Fix incorrect immediate for ldrsw shift component.
Sep 17 2020, 3:33 AM · Restricted Project
t.p.northover added a comment to D87286: AArch64: make sure jump table entries can reach entire image.

Instead of trying to make the table relative to the jump/adr, can we use the approach we use for compressed jump tables (using the address of the first destination as the base) unconditionally? Seems less complicated overall.

Sep 17 2020, 2:02 AM · Restricted Project

Sep 11 2020

t.p.northover added a comment to D87286: AArch64: make sure jump table entries can reach entire image.

Thanks Eli, I'll get back to you with numbers.

Sep 11 2020, 4:26 AM · Restricted Project

Sep 10 2020

t.p.northover updated the diff for D87286: AArch64: make sure jump table entries can reach entire image.

Decided shifting 32-bit entries was pointless and possibly suboptimal, so skip it. Also noticed that the resize could truncate the SmallVector so guarded against that and added test.

Sep 10 2020, 6:59 AM · Restricted Project
t.p.northover accepted D87316: Mark FMOV constant materialization as being as cheap as a move..

Looks fine to me.

Sep 10 2020, 1:55 AM · Restricted Project

Sep 8 2020

t.p.northover requested review of D87286: AArch64: make sure jump table entries can reach entire image.
Sep 8 2020, 6:34 AM · Restricted Project

Aug 10 2020

t.p.northover updated the diff for D85644: AArch64: don't sign the return address in noreturn functions.

Add context to diff.

Aug 10 2020, 5:51 AM · Restricted Project
t.p.northover requested review of D85644: AArch64: don't sign the return address in noreturn functions.
Aug 10 2020, 5:50 AM · Restricted Project

Aug 6 2020

t.p.northover updated the diff for D85126: AArch64: use a constpool for blockaddress(...) on MachO.

Ahmed pointed out that getAddr already results in a MOVaddrBA eventually so the ISelLowering change was pointless.

Aug 6 2020, 6:39 AM · Restricted Project
t.p.northover requested review of D85432: Hexagon/opaque-ptr: avoid getPointerElementType() in HexagonCommonGEP. NFCI..
Aug 6 2020, 6:37 AM · Restricted Project

Aug 5 2020

t.p.northover requested review of D85298: Opaque Pointers: deprecate IRBuilder APIs that inspect pointee type.
Aug 5 2020, 6:23 AM · Restricted Project

Aug 3 2020

t.p.northover requested review of D85126: AArch64: use a constpool for blockaddress(...) on MachO.
Aug 3 2020, 5:37 AM · Restricted Project
t.p.northover abandoned D84312: AArch64: use "LBB-_func" entries in 32-bit jump tables for MachO.

Actually, I've discovered 32-bit addends are allowed in a constant-pool setting like that so it won't overflow on a reasonable function. Siince this makes CodeGen strictly worse there's no point.

Aug 3 2020, 4:09 AM · Restricted Project

Jul 28 2020

t.p.northover closed D84653: ARM: make Thumb1 instructions non-flag-setting in IT block..

Thanks. Pushed as 39108f4c7a.

Jul 28 2020, 5:41 AM · Restricted Project
t.p.northover committed rG39108f4c7a2c: ARM: make Thumb1 instructions non-flag-setting in IT block. (authored by t.p.northover).
ARM: make Thumb1 instructions non-flag-setting in IT block.
Jul 28 2020, 5:31 AM
t.p.northover added inline comments to D84630: [StackSafety] Skip ambiguous lifetime analysis.
Jul 28 2020, 3:22 AM · Restricted Project
t.p.northover accepted D84649: GlobalISel: Translate llvm.convert.{to|from}.fp16 intrinsics.

LGTM.

Jul 28 2020, 3:12 AM · Restricted Project
t.p.northover updated the diff for D84653: ARM: make Thumb1 instructions non-flag-setting in IT block..

Thanks for the suggestions and context . Glad it's not quite a direct duplicate of the other one but related.

Jul 28 2020, 1:26 AM · Restricted Project

Jul 27 2020

Herald added a project to D84653: ARM: make Thumb1 instructions non-flag-setting in IT block.: Restricted Project.
Jul 27 2020, 6:42 AM · Restricted Project
t.p.northover committed rG0f1494be43f0: AArch64: avoid UB shift of negative value (authored by t.p.northover).
AArch64: avoid UB shift of negative value
Jul 27 2020, 5:50 AM
t.p.northover committed rG216b67e20233: AArch64: diagnose out of range relocation addends on MachO. (authored by t.p.northover).
AArch64: diagnose out of range relocation addends on MachO.
Jul 27 2020, 5:01 AM

Jul 22 2020

Herald added a project to D84312: AArch64: use "LBB-_func" entries in 32-bit jump tables for MachO: Restricted Project.
Jul 22 2020, 5:24 AM · Restricted Project

Jul 20 2020

t.p.northover committed rG88464a55b4ed: AArch64: emit @llvm.debugtrap as `brk #0xf000` on all platforms (authored by t.p.northover).
AArch64: emit @llvm.debugtrap as `brk #0xf000` on all platforms
Jul 20 2020, 2:31 AM
t.p.northover accepted D84014: AArch64: emit @llvm.debugtrap as `brk 0xf000` on all platforms.

Thanks Gerolf. Committed as 88464a55b4e

Jul 20 2020, 2:31 AM · Restricted Project

Jul 17 2020

Herald added a project to D84014: AArch64: emit @llvm.debugtrap as `brk 0xf000` on all platforms: Restricted Project.
Jul 17 2020, 3:41 AM · Restricted Project

Jul 15 2020

t.p.northover committed rG37b96d51d0cf: CodeGenPrep: remove AssertingVH references before deleting dead instructions. (authored by t.p.northover).
CodeGenPrep: remove AssertingVH references before deleting dead instructions.
Jul 15 2020, 7:19 AM
t.p.northover committed rG9697a9e2d316: Fix typo in identifier in assert. (authored by t.p.northover).
Fix typo in identifier in assert.
Jul 15 2020, 1:58 AM
t.p.northover closed D80911: AArch64+ARM: make LLVM consider system registers volatile to prevent unsound optimizations..

Thanks. Pushed to master as 5165b2b5fd5.

Jul 15 2020, 1:48 AM · Restricted Project, Restricted Project
t.p.northover committed rG5165b2b5fd5f: AArch64+ARM: make LLVM consider system registers volatile. (authored by t.p.northover).
AArch64+ARM: make LLVM consider system registers volatile.
Jul 15 2020, 1:48 AM

Jul 2 2020

Herald added a reviewer for D80911: AArch64+ARM: make LLVM consider system registers volatile to prevent unsound optimizations.: jdoerfert.

Ping.

Jul 2 2020, 3:43 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D81159: CodeGenPrep: remove AssertingVH references before deleting dead instructions..

Ping.

Jul 2 2020, 3:43 AM · Restricted Project

Jun 15 2020

t.p.northover added a comment to D81159: CodeGenPrep: remove AssertingVH references before deleting dead instructions..

Ping.

Jun 15 2020, 3:14 AM · Restricted Project

Jun 4 2020

t.p.northover created D81159: CodeGenPrep: remove AssertingVH references before deleting dead instructions..
Jun 4 2020, 7:03 AM · Restricted Project
t.p.northover added a reverting change for rG21dadd774f56: [DAGCombiner] avoid unnecessary indirection from SDNode/SDValue; NFCI: rG87e24c320089: Revert "[DAGCombiner] avoid unnecessary indirection from SDNode/SDValue; NFCI".
Jun 4 2020, 4:18 AM
t.p.northover committed rG87e24c320089: Revert "[DAGCombiner] avoid unnecessary indirection from SDNode/SDValue; NFCI" (authored by t.p.northover).
Revert "[DAGCombiner] avoid unnecessary indirection from SDNode/SDValue; NFCI"
Jun 4 2020, 4:18 AM

Jun 1 2020

t.p.northover created D80911: AArch64+ARM: make LLVM consider system registers volatile to prevent unsound optimizations..
Jun 1 2020, 2:37 AM · Restricted Project, Restricted Project
t.p.northover created D80910: AArch64+ARM: make LLVM consider system registers volatile to prevent unsound optimizations..
Jun 1 2020, 2:37 AM · Restricted Project, Restricted Project
t.p.northover abandoned D80910: AArch64+ARM: make LLVM consider system registers volatile to prevent unsound optimizations..

Sorry. Keyboard decided to create diff before I'd filled everything in.

Jun 1 2020, 2:37 AM · Restricted Project, Restricted Project
t.p.northover committed rGdace8224f38a: AArch64: materialize large stack offset into xzr correctly. (authored by t.p.northover).
AArch64: materialize large stack offset into xzr correctly.
Jun 1 2020, 2:06 AM
t.p.northover closed D78634: AArch64: materialize large stack offset into xzr correctly..

Thanks. Pushed as dace8224f38a.

Jun 1 2020, 2:05 AM · Restricted Project

May 21 2020

t.p.northover added a comment to D78634: AArch64: materialize large stack offset into xzr correctly..

Ping.

May 21 2020, 4:50 AM · Restricted Project

May 6 2020

t.p.northover added a comment to D78634: AArch64: materialize large stack offset into xzr correctly..

Ping.

May 6 2020, 2:39 AM · Restricted Project

Apr 23 2020

t.p.northover created D78711: AArch64-MachO: use linker-private symbols for jump-tables.
Apr 23 2020, 6:59 AM · Restricted Project
t.p.northover added a comment to D78634: AArch64: materialize large stack offset into xzr correctly..

Actually, if the destination is XZR, the adds won't have any effect, so surely we don't need to emit any instructions? Could we just early-return without emitting anything if DestReg == XZR?

Apr 23 2020, 6:59 AM · Restricted Project

Apr 22 2020

t.p.northover created D78634: AArch64: materialize large stack offset into xzr correctly..
Apr 22 2020, 6:28 AM · Restricted Project

Jan 14 2020

t.p.northover committed rG77cc690bae31: AArch64: fix bitcode upgrade of @llvm.neon.addp. (authored by t.p.northover).
AArch64: fix bitcode upgrade of @llvm.neon.addp.
Jan 14 2020, 5:47 AM

Jan 13 2020

t.p.northover updated the diff for D72331: OpaquePtr: add type to inalloca attribute..

I made the change suggested to Core.cpp style and rebased this patch, and fixed the nullptr issue David pointed out.

Jan 13 2020, 4:25 AM · Restricted Project, Restricted Project

Jan 9 2020

t.p.northover committed rGaaebed82473e: Merge remote-tracking branch 'upstream/master' into apple/master (authored by t.p.northover).
Merge remote-tracking branch 'upstream/master' into apple/master
Jan 9 2020, 5:46 PM
t.p.northover committed rGdfbcbcc8a57a: AArch64: move Apple codename CPUs to be based on the OSS numbered definitions. (authored by t.p.northover).
AArch64: move Apple codename CPUs to be based on the OSS numbered definitions.
Jan 9 2020, 5:46 PM
t.p.northover committed rG667e1f71b83c: IR: remove "else" after "return". NFCI. (authored by t.p.northover).
IR: remove "else" after "return". NFCI.
Jan 9 2020, 7:06 AM

Jan 8 2020

t.p.northover committed rG903e5c3028d6: AArch64: add missing Apple CPU names and use them by default. (authored by t.p.northover).
AArch64: add missing Apple CPU names and use them by default.
Jan 8 2020, 1:57 AM
t.p.northover closed D70779: AArch64: add support for newer Apple CPUs.

Thanks Ahmed, pushed:

Jan 8 2020, 1:56 AM · Restricted Project

Jan 7 2020

t.p.northover committed rGe130eef58814: OpaquePtr: print byval types containing anonymous types correctly. (authored by t.p.northover).
OpaquePtr: print byval types containing anonymous types correctly.
Jan 7 2020, 7:15 AM
t.p.northover closed D72323: OpaquePtr: print byval types containing anonymous types correctly..

Thanks Matt. Pushed:

Jan 7 2020, 7:14 AM · Restricted Project
t.p.northover created D72331: OpaquePtr: add type to inalloca attribute..
Jan 7 2020, 6:09 AM · Restricted Project, Restricted Project
t.p.northover created D72323: OpaquePtr: print byval types containing anonymous types correctly..
Jan 7 2020, 4:09 AM · Restricted Project
t.p.northover updated the diff for D72323: OpaquePtr: print byval types containing anonymous types correctly..

Relised I should test all modified places that print attrs.

Jan 7 2020, 4:09 AM · Restricted Project

Dec 19 2019

t.p.northover committed rG85cb560b8a42: ConstrainedFP: use API compatible with opaque pointers. (authored by t.p.northover).
ConstrainedFP: use API compatible with opaque pointers.
Dec 19 2019, 1:52 PM
t.p.northover closed D71723: ConstrainedFP: use API compatible with opaque pointers..

Thanks Kevin. Committed as 85cb560b8a4.

Dec 19 2019, 1:52 PM · Restricted Project, Restricted Project
t.p.northover created D71723: ConstrainedFP: use API compatible with opaque pointers..
Dec 19 2019, 12:33 PM · Restricted Project, Restricted Project

Dec 12 2019

ahatanaka <ahatanaka@apple.com> committed rG7710e2162bd4: CodeGen: set correct result for atomic compound expressions (authored by t.p.northover).
CodeGen: set correct result for atomic compound expressions
Dec 12 2019, 3:55 PM
t.p.northover committed rG20faea56992f: Fix regression tests. (authored by t.p.northover).
Fix regression tests.
Dec 12 2019, 2:49 PM
t.p.northover committed rGb7d6b0e0fc04: Merge remote-tracking branch 'upstream/master' into upstream-with-swift (authored by t.p.northover).
Merge remote-tracking branch 'upstream/master' into upstream-with-swift
Dec 12 2019, 2:49 PM
t.p.northover committed rG1856e3af8fad: IR: fix tests after upstream change to print arguments (authored by t.p.northover).
IR: fix tests after upstream change to print arguments
Dec 12 2019, 2:27 PM
t.p.northover committed rGed4961dd2573: Merge remote-tracking branch 'upstream/master' into upstream-with-swift (authored by t.p.northover).
Merge remote-tracking branch 'upstream/master' into upstream-with-swift
Dec 12 2019, 1:11 PM
t.p.northover committed rG2c8654bae230: Merge remote-tracking branch 'upstream/master' into upstream-with-swift (authored by t.p.northover).
Merge remote-tracking branch 'upstream/master' into upstream-with-swift
Dec 12 2019, 12:47 PM
t.p.northover committed rG599460c24bb9: Merge remote-tracking branch 'upstream/master' into upstream-with-swift (authored by t.p.northover).
Merge remote-tracking branch 'upstream/master' into upstream-with-swift
Dec 12 2019, 12:45 PM

Dec 4 2019

t.p.northover added a comment to D70483: AArch64: add FastISel support for arm64_32.

Ping.

Dec 4 2019, 1:39 AM · Restricted Project

Dec 3 2019

t.p.northover updated the diff for D70779: AArch64: add support for newer Apple CPUs.

Stop inheriting CPU features because they aren't necessarily strictly monotonic.

Dec 3 2019, 4:32 AM · Restricted Project
t.p.northover added inline comments to D70779: AArch64: add support for newer Apple CPUs.
Dec 3 2019, 1:51 AM · Restricted Project

Dec 2 2019

t.p.northover accepted D70862: [ARM][AArch64] Complex addition Neon intrinsics for Armv8.3-A.

Why are you only implementing rot90 and rot270 intrinsics? My quick calculations made rot0 and rot90 the natural ones to implement a bog-standard complex multiplication, but even if I slipped up there I'd expect the others to be useful in some situations.

Dec 2 2019, 1:37 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D70862: [ARM][AArch64] Complex addition Neon intrinsics for Armv8.3-A.

Why are you only implementing rot90 and rot270 intrinsics? My quick calculations made rot0 and rot90 the natural ones to implement a bog-standard complex multiplication, but even if I slipped up there I'd expect the others to be useful in some situations.

Dec 2 2019, 1:28 AM · Restricted Project, Restricted Project

Nov 28 2019

t.p.northover added a comment to D70777: AArch64: use some crypto instructions during CodeGen.

In this case, on our CPUs it looks like there's no difference between how an these instructions and a single eor execute in either latency or pipelines. Since the final operation in all of these patterns is an eor anyway, I think that means the it's not a worry.

Nov 28 2019, 1:54 AM · Restricted Project
t.p.northover added a comment to D70779: AArch64: add support for newer Apple CPUs.

Thanks Florian. I'll wait as you suggest.

Nov 28 2019, 1:31 AM · Restricted Project

Nov 27 2019

t.p.northover updated the diff for D70779: AArch64: add support for newer Apple CPUs.

Test updates after switching arm64_32 default CPU to apple-s4.

Nov 27 2019, 5:14 AM · Restricted Project
t.p.northover created D70779: AArch64: add support for newer Apple CPUs.
Nov 27 2019, 5:14 AM · Restricted Project
t.p.northover committed rG31c25fadccec: AArch64: support the Apple NEON syntax for v8.2 crypto instructions. (authored by t.p.northover).
AArch64: support the Apple NEON syntax for v8.2 crypto instructions.
Nov 27 2019, 3:17 AM
t.p.northover created D70777: AArch64: use some crypto instructions during CodeGen.
Nov 27 2019, 3:16 AM · Restricted Project

Nov 26 2019

t.p.northover committed rG78ad22e0cc63: Recommit ARM-NEON: make type modifiers orthogonal and allow multiple modifiers. (authored by t.p.northover).
Recommit ARM-NEON: make type modifiers orthogonal and allow multiple modifiers.
Nov 26 2019, 1:29 AM

Nov 25 2019

t.p.northover added a comment to D69618: NeonEmitter: clean up prototype modifiers.

Sorry about the delay investigating this, your e-mail bypassed my inbox for some reason and I only noticed the issue when Hans reverted the change this afternoon. I'm looking into it now.

Nov 25 2019, 7:43 AM

Nov 21 2019

t.p.northover committed rG5cf58768cb3b: Atomics: support min/max orthogonally (authored by t.p.northover).
Atomics: support min/max orthogonally
Nov 21 2019, 2:40 AM
t.p.northover closed D55562: Atomics: support min/max orthogonally.

Thanks JF. Finally pushed it today:

Nov 21 2019, 2:40 AM · Restricted Project

Nov 20 2019

t.p.northover committed rG3f91705ca54b: ARM-NEON: make type modifiers orthogonal and allow multiple modifiers. (authored by t.p.northover).
ARM-NEON: make type modifiers orthogonal and allow multiple modifiers.
Nov 20 2019, 5:24 AM
t.p.northover committed rGe23d6f3184d3: NeonEmitter: remove special case on casting polymorphic builtins. (authored by t.p.northover).
NeonEmitter: remove special case on casting polymorphic builtins.
Nov 20 2019, 5:24 AM
t.p.northover committed rGdb73bcd98ef4: ARM-NEON: separate soon-to-be conflicting f16 patterns. NFC. (authored by t.p.northover).
ARM-NEON: separate soon-to-be conflicting f16 patterns. NFC.
Nov 20 2019, 5:24 AM
t.p.northover closed D69618: NeonEmitter: clean up prototype modifiers.

Thanks. Pushed it with those suggestions:

Nov 20 2019, 5:24 AM
t.p.northover committed rGb80e483c4205: Update tests after change to llvm-cxxfilt's underscore stripping behaviour. (authored by t.p.northover).
Update tests after change to llvm-cxxfilt's underscore stripping behaviour.
Nov 20 2019, 5:13 AM
t.p.northover created D70483: AArch64: add FastISel support for arm64_32.
Nov 20 2019, 2:41 AM · Restricted Project

Nov 19 2019

t.p.northover committed rG75b5db309439: [docs] Remove dangling parenthesis from documentation (authored by t.p.northover).
[docs] Remove dangling parenthesis from documentation
Nov 19 2019, 12:52 PM

Nov 18 2019

t.p.northover committed rGdea8f3b0a4ea: arm64_32: support function return in FastISel. (authored by t.p.northover).
arm64_32: support function return in FastISel.
Nov 18 2019, 6:40 AM

Nov 14 2019

t.p.northover committed rG232cdb3d3018: ARM: allow rewriting frame indexes for all prefetch variants. (authored by t.p.northover).
ARM: allow rewriting frame indexes for all prefetch variants.
Nov 14 2019, 6:35 AM