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 (364 w, 6 d)

Recent Activity

Today

t.p.northover updated the diff for D63131: arm64_32: implement the desired ABI for the ILP32 triple..

Updating diff. How target features are handled changed slightly upstream.

Wed, Oct 16, 10:46 AM · Restricted Project

Thu, Oct 10

t.p.northover added a comment to D63131: arm64_32: implement the desired ABI for the ILP32 triple..

Ping.

Thu, Oct 10, 7:06 AM · Restricted Project

Wed, Oct 9

t.p.northover accepted D68675: [9.0 branch][ARM] VFPv2 only supports 16 D registers..

LGTM!

Wed, Oct 9, 4:00 AM · Restricted Project

Fri, Oct 4

t.p.northover committed rGa7d90af1be48: ARM-Darwin: keep the frame register reserved even if not updated. (authored by t.p.northover).
ARM-Darwin: keep the frame register reserved even if not updated.
Fri, Oct 4, 5:29 AM

Thu, Oct 3

t.p.northover accepted D68356: [AArch64InstPrinter] prefer bfi to bfc for < armv8.2-a.

Fair enough. Still fine I think.

Thu, Oct 3, 10:35 AM · Restricted Project
t.p.northover accepted D68356: [AArch64InstPrinter] prefer bfi to bfc for < armv8.2-a.

Looks reasonable to me.

Thu, Oct 3, 1:05 AM · Restricted Project

Mon, Sep 30

t.p.northover committed rG1249126c7c61: Revert "Update polly test for SCEV change." (authored by t.p.northover).
Revert "Update polly test for SCEV change."
Mon, Sep 30, 12:50 AM
t.p.northover committed rG58e8c793d0e4: Revert "[SCEV] add no wrap flag for SCEVAddExpr." (authored by t.p.northover).
Revert "[SCEV] add no wrap flag for SCEVAddExpr."
Mon, Sep 30, 12:50 AM

Fri, Sep 27

t.p.northover added a comment to D67436: CodeGen: set correct result for atomic compound expressions.

Ping.

Fri, Sep 27, 1:45 AM · Restricted Project

Fri, Sep 20

t.p.northover added a comment to D67485: AArch64: use ldp/stp for atomic & volatile 128-bit where appropriate..

First, it appears that the current codegen (CAS loop) for 128-bit atomic accesses is broken based on this comment: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70814#c3. There are two problematic cases as far as I understand: (1) const and (2) volatile atomic objects. Const objects disallow write access to the underlying memory, volatile objects mandate that each byte of the underlying memory shall be accessed exactly once according to the AAPCS. The CAS loop violates both.

Fri, Sep 20, 7:29 AM · Restricted Project

Sep 13 2019

t.p.northover committed rG52a89cc07d80: AArch64: fix EXPENSIVE_CHECKS for arm64_32. (authored by t.p.northover).
AArch64: fix EXPENSIVE_CHECKS for arm64_32.
Sep 13 2019, 11:57 AM
t.p.northover added a comment to rL371722: AArch64: support arm64_32, an ILP32 slice for watchOS..

Thanks for pinging me, I don't get notifications for plain relpies to whatever Phabricator calls this. I'll get it sorted.

Sep 13 2019, 10:09 AM

Sep 12 2019

t.p.northover committed rGf1c289291254: AArch64: support arm64_32, an ILP32 slice for watchOS. (authored by t.p.northover).
AArch64: support arm64_32, an ILP32 slice for watchOS.
Sep 12 2019, 3:26 AM
t.p.northover committed rG98534843fb4c: CodeGenPrep: add separate hook say when GEPs should be used for sinking. NFCI. (authored by t.p.northover).
CodeGenPrep: add separate hook say when GEPs should be used for sinking. NFCI.
Sep 12 2019, 3:25 AM
t.p.northover closed D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..

Thanks Amara, it's r371722.

Sep 12 2019, 3:25 AM · Restricted Project
t.p.northover created D67485: AArch64: use ldp/stp for atomic & volatile 128-bit where appropriate..
Sep 12 2019, 2:39 AM · Restricted Project

Sep 11 2019

t.p.northover created D67436: CodeGen: set correct result for atomic compound expressions.
Sep 11 2019, 4:29 AM · Restricted Project

Sep 9 2019

t.p.northover updated the diff for D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..

Added comments mostly, and undid some changes to tests.

Sep 9 2019, 4:17 AM · Restricted Project
t.p.northover added inline comments to D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..
Sep 9 2019, 4:13 AM · Restricted Project
t.p.northover committed rG06d93e0a25df: GlobalISel: fix unused warnings in release builds. (authored by t.p.northover).
GlobalISel: fix unused warnings in release builds.
Sep 9 2019, 3:38 AM
t.p.northover committed rG36147adc0b14: GlobalISel: add combiner to form indexed loads. (authored by t.p.northover).
GlobalISel: add combiner to form indexed loads.
Sep 9 2019, 3:06 AM
t.p.northover closed D66287: GlobalISel: add combiner for indexed loads and stores.

Thanks Amara. r371384.

Sep 9 2019, 3:06 AM · Restricted Project

Aug 27 2019

t.p.northover committed rGa7f226f9dba3: AArch64: avoid creating cycle in DAG for post-increment NEON ops. (authored by t.p.northover).
AArch64: avoid creating cycle in DAG for post-increment NEON ops.
Aug 27 2019, 3:35 AM
t.p.northover closed D66639: AArch64: avoid cycle when forming post-increment NEON loads.

Thanks Eli. r370036.

Aug 27 2019, 3:21 AM · Restricted Project
t.p.northover updated the diff for D66287: GlobalISel: add combiner for indexed loads and stores.

Changed my mind and only run MachineDominator above O0. The faff involved in estimating the performance penalty properly just isn't worth the small amount of work to make the issue go away.

Aug 27 2019, 3:21 AM · Restricted Project

Aug 23 2019

t.p.northover added a comment to D66287: GlobalISel: add combiner for indexed loads and stores.

My one concern is with adding the machine dominator analysis the the pipeline at -O0. Is there a significant compile time cost?

Aug 23 2019, 6:38 AM · Restricted Project
t.p.northover created D66639: AArch64: avoid cycle when forming post-increment NEON loads.
Aug 23 2019, 4:07 AM · Restricted Project

Aug 22 2019

t.p.northover added inline comments to D66180: [GlobalISel][CallLowering] Add support for splitting types according to calling conventions.
Aug 22 2019, 6:36 AM · Restricted Project
t.p.northover updated the diff for D66287: GlobalISel: add combiner for indexed loads and stores.

Updated according to most comments.

Aug 22 2019, 4:22 AM · Restricted Project
t.p.northover added inline comments to D66287: GlobalISel: add combiner for indexed loads and stores.
Aug 22 2019, 3:49 AM · Restricted Project

Aug 16 2019

t.p.northover committed rG22970d66be78: AssumptionCache: remove old affected values after RAUW. (authored by t.p.northover).
AssumptionCache: remove old affected values after RAUW.
Aug 16 2019, 2:37 AM
t.p.northover closed D65852: AssumptionCache: remove old affected values after RAUW.

Thanks Hal. Committed as r369091.

Aug 16 2019, 2:37 AM · Restricted Project

Aug 15 2019

t.p.northover added a reviewer for D66287: GlobalISel: add combiner for indexed loads and stores: paquette.
Aug 15 2019, 5:00 AM · Restricted Project
t.p.northover created D66287: GlobalISel: add combiner for indexed loads and stores.
Aug 15 2019, 4:46 AM · Restricted Project
t.p.northover added a comment to D55562: Atomics: support min/max orthogonally.

Ping.

Aug 15 2019, 2:28 AM · Restricted Project

Aug 9 2019

t.p.northover committed rG01eb869114bd: AArch64: support TLS on Darwin platforms in GlobalISel. (authored by t.p.northover).
AArch64: support TLS on Darwin platforms in GlobalISel.
Aug 9 2019, 2:33 AM
t.p.northover committed rGe1a5f668b3b5: GlobalISel: pack various parameters for lowerCall into a struct. (authored by t.p.northover).
GlobalISel: pack various parameters for lowerCall into a struct.
Aug 9 2019, 1:28 AM

Aug 7 2019

t.p.northover committed rG3c10f346dcd4: GlobalISel: factor common code from translateCall and translateInvoke. NFC. (authored by t.p.northover).
GlobalISel: factor common code from translateCall and translateInvoke. NFC.
Aug 7 2019, 5:45 AM
t.p.northover added a comment to D65653: [AArch64] Change location of frame-record within callee-save area..

Unfortunately I don't think this is viable for Darwin platforms, at least not yet. Our compact unwind encoding just has a bitmask for which registers are saved rather than saying where relative to fp.

Aug 7 2019, 2:11 AM · Restricted Project
t.p.northover created D65852: AssumptionCache: remove old affected values after RAUW.
Aug 7 2019, 1:49 AM · Restricted Project
t.p.northover created D65850: GlobalISel: pack various parameters for lowerCall into a struct..
Aug 7 2019, 1:43 AM · Restricted Project

Aug 6 2019

t.p.northover committed rGb5abc425d27f: AArch64: bail instead of asserting on unexpected type in G_CONSTANT 0. (authored by t.p.northover).
AArch64: bail instead of asserting on unexpected type in G_CONSTANT 0.
Aug 6 2019, 6:34 AM
t.p.northover committed rGde98e92bc2b6: AArch64: use xzr/wzr for constant 0 in GlobalISel. (authored by t.p.northover).
AArch64: use xzr/wzr for constant 0 in GlobalISel.
Aug 6 2019, 2:19 AM

Aug 5 2019

t.p.northover added inline comments to D65656: AArch64: support @llvm.{return,frame}address in GlobalISel.
Aug 5 2019, 7:21 AM · Restricted Project
t.p.northover updated the diff for D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..

Ah sorry, it was part of an NFC change in a different commit. I've rolled it into this diff; it's splitting off GEP sinking from the useAA callback since they're not really related.

Aug 5 2019, 3:19 AM · Restricted Project

Aug 3 2019

t.p.northover committed rG71b447605afa: IR: Cleanup after test to silence ASAN builds (authored by t.p.northover).
IR: Cleanup after test to silence ASAN builds
Aug 3 2019, 8:40 AM
t.p.northover committed rGa009a60a917b: IR: print value numbers for unnamed function arguments (authored by t.p.northover).
IR: print value numbers for unnamed function arguments
Aug 3 2019, 7:31 AM
t.p.northover closed D65582: IR: accept and print numbered %N names for function args.
Aug 3 2019, 7:30 AM · Restricted Project, Restricted Project
t.p.northover accepted D65582: IR: accept and print numbered %N names for function args.

Thanks Reid, committed as r367755.

Aug 3 2019, 7:30 AM · Restricted Project, Restricted Project

Aug 2 2019

t.p.northover updated the diff for D65582: IR: accept and print numbered %N names for function args.
  • Added release note
  • Added hacky script to utils so that I can refer to it from the release note.
  • Removed "<badref>" handling from printArgument. Printing a free-standing Argument goes down a different path.
Aug 2 2019, 10:31 AM · Restricted Project, Restricted Project
t.p.northover committed rG522fb7eedc1b: GlobalISel: support swiftself attribute (authored by t.p.northover).
GlobalISel: support swiftself attribute
Aug 2 2019, 7:11 AM
t.p.northover created D65656: AArch64: support @llvm.{return,frame}address in GlobalISel.
Aug 2 2019, 6:58 AM · Restricted Project
t.p.northover added inline comments to D60616: Make parseBitcodeFile use a named StructType, if it exists and matches..
Aug 2 2019, 5:54 AM · Restricted Project

Aug 1 2019

t.p.northover created D65582: IR: accept and print numbered %N names for function args.
Aug 1 2019, 8:28 AM · Restricted Project, Restricted Project

Jul 20 2019

t.p.northover added a comment to D65037: push LR before mcount on ARM.

What a horrible function. AAPCS? Who cares about that?

Jul 20 2019, 1:22 AM · Restricted Project, Restricted Project

Jul 19 2019

t.p.northover added inline comments to D64416: [AArch64] Add support for Transactional Memory Extension (TME).
Jul 19 2019, 5:06 AM · Restricted Project

Jul 11 2019

t.p.northover committed rG67828edbbd6f: OpaquePtr: switch to GlobalValue::getValueType in a few places. NFC. (authored by t.p.northover).
OpaquePtr: switch to GlobalValue::getValueType in a few places. NFC.
Jul 11 2019, 6:15 AM
t.p.northover committed rGf2d6597653e5: OpaquePtr: use byval accessor instead of inspecting pointer type. NFC. (authored by t.p.northover).
OpaquePtr: use byval accessor instead of inspecting pointer type. NFC.
Jul 11 2019, 6:15 AM
t.p.northover committed rG27658ed512c4: OpaquePtr: use load instruction directly for type. NFC. (authored by t.p.northover).
OpaquePtr: use load instruction directly for type. NFC.
Jul 11 2019, 6:14 AM
t.p.northover committed rG030bb3d36373: InstructionSimplify: Simplify InstructionSimplify. NFC. (authored by t.p.northover).
InstructionSimplify: Simplify InstructionSimplify. NFC.
Jul 11 2019, 6:14 AM

Jul 9 2019

t.p.northover committed rG13b204fee1ee: OpaquePtr: pass type to CreateLoad. NFC. (authored by t.p.northover).
OpaquePtr: pass type to CreateLoad. NFC.
Jul 9 2019, 5:37 AM
t.p.northover committed rG4bc20fa14948: OpaquePtr: Update polly's calls to Loads.h API (authored by t.p.northover).
OpaquePtr: Update polly's calls to Loads.h API
Jul 9 2019, 5:14 AM
t.p.northover committed rG60afa49abed6: OpaquePtr: add Type parameter to Loads analysis API. (authored by t.p.northover).
OpaquePtr: add Type parameter to Loads analysis API.
Jul 9 2019, 4:37 AM
t.p.northover closed D64203: [OpaquePtr] add Type parameter to Loads.h analysis API..
Jul 9 2019, 4:35 AM · Restricted Project
t.p.northover added a comment to D64203: [OpaquePtr] add Type parameter to Loads.h analysis API..

Thanks David. Committed with your suggestions as r365468.

Jul 9 2019, 4:35 AM · Restricted Project

Jul 8 2019

t.p.northover added inline comments to D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..
Jul 8 2019, 5:29 AM · Restricted Project
t.p.northover updated the diff for D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..
  1. Switched back to SmallVector to track registers used, reducing code perturbation. I decided to add a SmallSet too for queries instead of using std::find_if directly because searches actually happen regardless.
  2. Disabled special handling for [N x i32] except on arm64_32 MachO.
  3. Noticed a bug in 2 above, where we allocated 2N registers anyway and fixed it.
  4. Added getPointerType comment.
Jul 8 2019, 5:28 AM · Restricted Project
t.p.northover added a comment to D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..

At a high level, my main care about here is that what is upstreamed here doesn't conflict with also adding support at some point in the future for the AArch64 ILP32 ABI - for which a beta quality specification from Arm exists.

Jul 8 2019, 3:09 AM · Restricted Project

Jul 4 2019

t.p.northover created D64203: [OpaquePtr] add Type parameter to Loads.h analysis API..
Jul 4 2019, 4:37 AM · Restricted Project
t.p.northover accepted D64069: [ARM] Add sign and zero extend patterns for MVE.

Looks reasonable to me.

Jul 4 2019, 4:20 AM · Restricted Project

Jul 2 2019

t.p.northover added a comment to D60616: Make parseBitcodeFile use a named StructType, if it exists and matches..

Sorry for the double reply, Phab ate my comment.

Jul 2 2019, 2:34 AM · Restricted Project
t.p.northover added inline comments to D60616: Make parseBitcodeFile use a named StructType, if it exists and matches..
Jul 2 2019, 2:32 AM · Restricted Project

Jun 28 2019

t.p.northover added a comment to D63842: [PGO] Update ICP pass for recent byval type changes.

How about this: https://reviews.llvm.org/differential/diff/207034/?revisionID=63842.

Jun 28 2019, 4:46 AM · Restricted Project
t.p.northover updated the diff for D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..

Rebased patch.

Jun 28 2019, 4:40 AM · Restricted Project

Jun 27 2019

t.p.northover added inline comments to D62319: IR: add 'byval(<ty>)' variant to 'byval' function parameters.
Jun 27 2019, 7:55 AM · Restricted Project
t.p.northover closed D62742: [OpaquePtr] BitcodeReader: don't rely on Types derived from a Value to provide pointer structure.

Thanks. Should be committed as r364550.

Jun 27 2019, 7:50 AM · Restricted Project
t.p.northover committed rGa4771e9dfdb0: Bitcode: derive all types used from records instead of Values. (authored by t.p.northover).
Bitcode: derive all types used from records instead of Values.
Jun 27 2019, 7:49 AM
t.p.northover added a comment to D60616: Make parseBitcodeFile use a named StructType, if it exists and matches..

I think the clang-format should be restricted to the actual diff. Doing the whole file makes this change really hard to read, and disrupts the blame for the future. git-clang-format in the Clang repo does the right thing by default I think.

Jun 27 2019, 7:49 AM · Restricted Project
t.p.northover committed rG22c96a966b11: IR: compare type attributes deeply when looking into functions. (authored by t.p.northover).
IR: compare type attributes deeply when looking into functions.
Jun 27 2019, 4:46 AM

Jun 26 2019

t.p.northover added inline comments to D63842: [PGO] Update ICP pass for recent byval type changes.
Jun 26 2019, 2:10 PM · Restricted Project

Jun 11 2019

t.p.northover added a comment to D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..

Ping.

Jun 11 2019, 7:31 AM · Restricted Project
t.p.northover created D63131: arm64_32: implement the desired ABI for the ILP32 triple..
Jun 11 2019, 4:22 AM · Restricted Project
t.p.northover retitled D61939: AArch64: add support for arm64_32 (ILP32) triple and -arch option. from AArch64: add support for arm64_23 (ILP32) IR generation to AArch64: add support for arm64_32 (ILP32) triple and -arch option..
Jun 11 2019, 4:19 AM · Restricted Project
t.p.northover updated the diff for D61939: AArch64: add support for arm64_32 (ILP32) triple and -arch option..

This diff now only covers the trivial additions so that "arm64_32" is understood by the driver and creates AArch64 instantiations of relevant classes. Code generated is still wildly incorrect (not even ILP32 yet).

Jun 11 2019, 4:16 AM · Restricted Project
t.p.northover added a comment to D61939: AArch64: add support for arm64_32 (ILP32) triple and -arch option..

Thanks for the suggestion Florian, and sorry it's taken so long to act on it. I've split the patch up as you suggest, I'll make this one cover the Triple bits.

Jun 11 2019, 4:16 AM · Restricted Project

Jun 5 2019

t.p.northover committed rGc46827c7eda3: LLVM IR: Generate new-style byval-with-Type from Clang (authored by t.p.northover).
LLVM IR: Generate new-style byval-with-Type from Clang
Jun 5 2019, 2:10 PM
t.p.northover committed rG8d7f118ab2b9: InstCombine: correctly change byval type attribute alongside call args. (authored by t.p.northover).
InstCombine: correctly change byval type attribute alongside call args.
Jun 5 2019, 1:37 PM
t.p.northover committed rG607c8a9d1481: IR: make getParamByValType Just Work. NFC. (authored by t.p.northover).
IR: make getParamByValType Just Work. NFC.
Jun 5 2019, 1:36 PM

May 31 2019

t.p.northover created D62742: [OpaquePtr] BitcodeReader: don't rely on Types derived from a Value to provide pointer structure.
May 31 2019, 10:13 AM · Restricted Project

May 30 2019

t.p.northover added a comment to D61259: AArch64: support arm64_32, an ILP32 slice for watchOS..

Ping.

May 30 2019, 3:15 PM · Restricted Project
t.p.northover added a comment to D61939: AArch64: add support for arm64_32 (ILP32) triple and -arch option..

Ping.

May 30 2019, 3:15 PM · Restricted Project
t.p.northover committed rGfcb00d4aec7d: Reapply: LLVM IR: update Clang tests for byval being a typed attribute. (authored by t.p.northover).
Reapply: LLVM IR: update Clang tests for byval being a typed attribute.
May 30 2019, 11:50 AM
t.p.northover committed rGb7141207a483: Reapply: IR: add optional type to 'byval' function parameters (authored by t.p.northover).
Reapply: IR: add optional type to 'byval' function parameters
May 30 2019, 11:49 AM
t.p.northover accepted D62664: [DAGCombine] (A+C1)-C2 -> A+(C1-C2) constant-fold.

Looks reasonable.

May 30 2019, 9:56 AM · Restricted Project
t.p.northover accepted D62662: [DAGCombine] ((A-c1)+c2) -> (A+(c2-c1)) constant-fold.

LGTM.

May 30 2019, 9:55 AM · Restricted Project
t.p.northover accepted D62689: [DAGCombine] (A-C1)-C2 -> A-(C1+C2) constant-fold.

LGTM.

May 30 2019, 9:53 AM · Restricted Project

May 29 2019

t.p.northover committed rG71ee3d02372a: Revert "IR: add optional type to 'byval' function parameters" (authored by t.p.northover).
Revert "IR: add optional type to 'byval' function parameters"
May 29 2019, 1:49 PM
t.p.northover committed rG4b281755ae49: Revert "LLVM IR: update Clang tests for byval being a typed attribute." (authored by t.p.northover).
Revert "LLVM IR: update Clang tests for byval being a typed attribute."
May 29 2019, 1:43 PM
t.p.northover committed rG45e8cc6639e9: LLVM IR: update Clang tests for byval being a typed attribute. (authored by t.p.northover).
LLVM IR: update Clang tests for byval being a typed attribute.
May 29 2019, 12:12 PM
t.p.northover committed rG6e07f16fae60: IR: add optional type to 'byval' function parameters (authored by t.p.northover).
IR: add optional type to 'byval' function parameters
May 29 2019, 12:11 PM