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 (430 w, 5 d)

Recent Activity

Today

t.p.northover added inline comments to D93585: [AArch64] Enable out-of-line atomics by default..
Tue, Jan 19, 10:55 AM · Restricted Project, Restricted Project
t.p.northover committed rG6259fbd8b695: AArch64: add apple-a14 as a CPU (authored by t.p.northover).
AArch64: add apple-a14 as a CPU
Tue, Jan 19, 6:05 AM

Mon, Jan 11

t.p.northover added inline comments to D93585: [AArch64] Enable out-of-line atomics by default..
Mon, Jan 11, 5:55 AM · Restricted Project, Restricted Project

Tue, Jan 5

t.p.northover added a comment to D93585: [AArch64] Enable out-of-line atomics by default..

Nice! So iOS will benefit outline atomics too.

Tue, Jan 5, 3:59 AM · Restricted Project, Restricted Project

Mon, Dec 21

t.p.northover added a comment to D93585: [AArch64] Enable out-of-line atomics by default..

Outline atomics were added with gcc 9.3.1 and turned on by default in gcc 10.1. Consequently most of distributions had libgcc with outline atomics already.

Mon, Dec 21, 1:37 AM · Restricted Project, Restricted Project

Dec 20 2020

t.p.northover added a comment to D93585: [AArch64] Enable out-of-line atomics by default..

Also, even on Linux it seems Clang is inclined to link against libgcc rather than libclang by default (at least that's what my Debian one does). When did these functions get into libgcc? I'm worried that a significant proportion of users there will find themselves having to add extra command-line options (whether disabling this or forcing libclang) to produce binaries.

Dec 20 2020, 8:47 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D50010: [VNCoercion] Disallow coercion between different ni addrspaces.

Sorry, ignore that. Wrong review.

Dec 20 2020, 8:47 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D50010: [VNCoercion] Disallow coercion between different ni addrspaces.

Also, even on Linux it seems Clang is inclined to link against libgcc rather than libclang by default (at least that's what my Debian one does). When did these functions get into libgcc? I'm worried that a significant proportion of users there will find themselves having to add extra command-line options (whether disabling this or forcing libclang) to produce binaries.

Dec 20 2020, 8:47 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D93585: [AArch64] Enable out-of-line atomics by default..

As it stands this needs to be a platform-level change. The compiler-rt stuff may now compile outside Linux (thanks!), but the capability detection is still fundamentally Linux (and even glibc) only so nothing else would use it as intended.

Dec 20 2020, 3:00 AM · Restricted Project, Restricted Project

Dec 14 2020

t.p.northover added a comment to D91419: ARM-Darwin: keep the frame register reserved even if not updated..

Ping.

Dec 14 2020, 6:43 AM · Restricted Project

Dec 11 2020

t.p.northover accepted D92569: [AArch64] Lower calls with rv_marker attribute ..

I think this looks reasonable now.

Dec 11 2020, 6:23 AM · Restricted Project

Dec 10 2020

t.p.northover accepted D92930: [Clang] Add vcmla and rotated variants for Arm ACLE..

That's a nice improvement. Still LGTM.

Dec 10 2020, 8:29 AM · Restricted Project
t.p.northover accepted D92865: [AArch64] Don't try to compress jump tables if there are any inline asm instructions..

I think this is a reasonable change, inline asm is pretty rare.

Dec 10 2020, 1:08 AM · Restricted Project

Dec 9 2020

t.p.northover accepted D92929: [AArch64] Add aarch64_neon_vcmla{_rot{90,180,270}} intrinsics..

LGTM.

Dec 9 2020, 3:56 AM · Restricted Project
t.p.northover added a comment to D92930: [Clang] Add vcmla and rotated variants for Arm ACLE..

Looks fine to me except for one weird quirk that I don't think should be there.

Dec 9 2020, 3:56 AM · Restricted Project
t.p.northover committed rG45de42116e3f: AArch64: use correct operand for ubsantrap immediate. (authored by t.p.northover).
AArch64: use correct operand for ubsantrap immediate.
Dec 9 2020, 2:17 AM

Dec 8 2020

t.p.northover requested review of D92836: [AArch64] don't build out of line atomics on Darwin or Windows.
Dec 8 2020, 4:37 AM
t.p.northover requested review of D92834: [IR,AArch64] Add a new "ptrauth(...)" Constant to represent signed pointers.
Dec 8 2020, 4:30 AM · Restricted Project
t.p.northover closed D89959: UBSAN: emit distinctive traps in trapping mode.

To github.com:llvm/llvm-project.git

c54d827fdb12..c5978f42ec8e  main -> main
Dec 8 2020, 2:29 AM · Restricted Project
t.p.northover committed rGc5978f42ec8e: UBSAN: emit distinctive traps (authored by t.p.northover).
UBSAN: emit distinctive traps
Dec 8 2020, 2:29 AM
t.p.northover added a comment to D85126: AArch64: use a constpool for blockaddress(...) on MachO.

Ping.

Dec 8 2020, 1:32 AM · Restricted Project

Dec 3 2020

t.p.northover added a comment to D91419: ARM-Darwin: keep the frame register reserved even if not updated..

Ping.

Dec 3 2020, 5:34 AM · Restricted Project
t.p.northover committed rG152df3add156: arm64: count Triple::aarch64_32 as an aarch64 target and enable leaf frame… (authored by t.p.northover).
arm64: count Triple::aarch64_32 as an aarch64 target and enable leaf frame…
Dec 3 2020, 3:10 AM
t.p.northover closed D91147: AArch64: classify Triple::aarch64_32 as AArch64.

Thanks Gerolf. Committed:

Dec 3 2020, 3:10 AM · Restricted Project

Nov 20 2020

t.p.northover added inline comments to D91512: [AArch64][Isel] Avoid implicit zext for SIGN_EXTEND_INREG ( TRUNCATE ).
Nov 20 2020, 1:44 AM · Restricted Project
t.p.northover added inline comments to D91512: [AArch64][Isel] Avoid implicit zext for SIGN_EXTEND_INREG ( TRUNCATE ).
Nov 20 2020, 1:38 AM · Restricted Project
t.p.northover added inline comments to D91512: [AArch64][Isel] Avoid implicit zext for SIGN_EXTEND_INREG ( TRUNCATE ).
Nov 20 2020, 1:26 AM · Restricted Project

Nov 17 2020

t.p.northover added inline comments to D91512: [AArch64][Isel] Avoid implicit zext for SIGN_EXTEND_INREG ( TRUNCATE ).
Nov 17 2020, 1:53 AM · Restricted Project

Nov 13 2020

t.p.northover requested review of D91419: ARM-Darwin: keep the frame register reserved even if not updated..
Nov 13 2020, 6:10 AM · Restricted Project
t.p.northover updated the diff for D91147: AArch64: classify Triple::aarch64_32 as AArch64.
Nov 13 2020, 2:41 AM · Restricted Project
t.p.northover added inline comments to D91147: AArch64: classify Triple::aarch64_32 as AArch64.
Nov 13 2020, 2:33 AM · Restricted Project

Nov 11 2020

t.p.northover added inline comments to D91157: [AArch64] Out-of-line atomics (-moutline-atomics) implementation..
Nov 11 2020, 5:55 AM · Restricted Project, Restricted Project
t.p.northover added inline comments to D76570: [AArch64] Homogeneous Prolog and Epilog for Size Optimization.
Nov 11 2020, 5:46 AM · Restricted Project

Nov 10 2020

t.p.northover added inline comments to D91157: [AArch64] Out-of-line atomics (-moutline-atomics) implementation..
Nov 10 2020, 6:42 AM · Restricted Project, Restricted Project
t.p.northover added a comment to D91156: [AArch64] Compiler-rt interface for out-of-line atomics..

This is a port of libgcc implementation

Nov 10 2020, 6:17 AM · Restricted Project
t.p.northover requested review of D91147: AArch64: classify Triple::aarch64_32 as AArch64.
Nov 10 2020, 3:37 AM · Restricted Project

Nov 9 2020

t.p.northover added inline comments to D89959: UBSAN: emit distinctive traps in trapping mode.
Nov 9 2020, 7:10 AM · Restricted Project
t.p.northover closed D90929: [MergeFunctions] fix function attribute comparison in FunctionComparator.

I've committed this for Erik as f7fe7ea24d3. Forgot to mention in the commit message that it was from him though, sorry.

Nov 9 2020, 1:46 AM · Restricted Project
t.p.northover committed rGf7fe7ea24d36: [MergeFunctions] fix function attribute comparison in FunctionComparator (authored by t.p.northover).
[MergeFunctions] fix function attribute comparison in FunctionComparator
Nov 9 2020, 1:46 AM
t.p.northover accepted D90929: [MergeFunctions] fix function attribute comparison in FunctionComparator.

I think this looks fine.

Nov 9 2020, 1:14 AM · Restricted Project

Nov 5 2020

t.p.northover added a comment to D89959: UBSAN: emit distinctive traps in trapping mode.

Was this measured with all of -fsanitize=undefined enabled? If so, the actual size overhead is likely lower, as only a subset of these checks get enabled in production settings.

Nov 5 2020, 1:52 AM · Restricted Project
t.p.northover added a comment to D89959: UBSAN: emit distinctive traps in trapping mode.

With current CodeGen by the time you reach the trap you have no idea what came before so I think you'd still need a separate trap instruction per failure kind. So the Clang and generic LLVM side would be unaffected.

Nov 5 2020, 1:49 AM · Restricted Project

Nov 3 2020

t.p.northover updated the diff for D89959: UBSAN: emit distinctive traps in trapping mode.

Added test for debug-loc merging (ubsan-trap-debugloc.c).

Nov 3 2020, 2:00 AM · Restricted Project

Nov 2 2020

t.p.northover updated the diff for D89959: UBSAN: emit distinctive traps in trapping mode.

Thanks. This switches to i8 argument so there's no possibility of ignoring bits and merges the debug info as suggested.

Nov 2 2020, 6:30 AM · Restricted Project

Oct 23 2020

t.p.northover updated the diff for D89959: UBSAN: emit distinctive traps in trapping mode.

Oh yes, added now.

Oct 23 2020, 1:38 AM · Restricted Project

Oct 22 2020

t.p.northover requested review of D89959: UBSAN: emit distinctive traps in trapping mode.
Oct 22 2020, 6:44 AM · Restricted Project

Oct 21 2020

t.p.northover added a comment to D85126: AArch64: use a constpool for blockaddress(...) on MachO.

Ping.

Oct 21 2020, 2:30 AM · Restricted Project

Oct 14 2020

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

Oct 8 2020

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

Thanks Florian, committed as 38348fa2654.

Oct 8 2020, 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.
Oct 8 2020, 3:55 AM

Sep 23 2020

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.

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

Sep 22 2020

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

Bother, forgot to add the test.

Sep 22 2020, 5:50 AM · Restricted Project
t.p.northover requested review of D88085: AArch64: avoid error when truncating MCExprs.
Sep 22 2020, 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