paquette (Jessica Paquette)
Friendly Neighbourhood Canadian

Projects

User does not belong to any projects.

User Details

User Since
Nov 17 2016, 12:59 PM (82 w, 6 d)

oh boy

Recent Activity

Yesterday

paquette committed rL335153: [MachineOutliner] Add debug info test for the outliner.
[MachineOutliner] Add debug info test for the outliner
Wed, Jun 20, 11:46 AM
paquette added a comment to D47655: [MachineOutliner] Don't outline sequences where x16/x17/nzcv are live across.

Ping! :)

Wed, Jun 20, 9:27 AM

Tue, Jun 19

paquette committed rL335076: [MachineOutliner] NFC: Remove insertOutlinerPrologue, rename….
[MachineOutliner] NFC: Remove insertOutlinerPrologue, rename…
Tue, Jun 19, 2:19 PM

Wed, Jun 13

paquette added a comment to D48109: [Timers] Use the pass argument name for JSON keys in time-passes.

This would make much more sense IMO. Especially for passes with long names. (For example, I'd much rather see "patchable-function" than "Implement the 'patchable-function' attribute" in the JSON)

Wed, Jun 13, 9:44 AM

Tue, Jun 12

paquette updated the diff for D47655: [MachineOutliner] Don't outline sequences where x16/x17/nzcv are live across.

Fixed comments.

Tue, Jun 12, 3:03 PM
paquette updated the diff for D47655: [MachineOutliner] Don't outline sequences where x16/x17/nzcv are live across.
  • Added a comment for saving/restoring LR
  • Removed LRUOut, since it's not necessary here, and incurs unnecessary calculation
  • LRUIn -> LRU
Tue, Jun 12, 10:00 AM
paquette added inline comments to D47655: [MachineOutliner] Don't outline sequences where x16/x17/nzcv are live across.
Tue, Jun 12, 9:21 AM

Mon, Jun 11

paquette updated the diff for D47655: [MachineOutliner] Don't outline sequences where x16/x17/nzcv are live across.

Updated patch to handle the live-in case. Updated the test to be more explicit as well.

Mon, Jun 11, 10:00 AM

Mon, Jun 4

paquette closed D47654: [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h.

Closed in r333952 (https://reviews.llvm.org/rL333952)

Mon, Jun 4, 2:19 PM
paquette committed rL333952: [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h.
[MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h
Mon, Jun 4, 2:18 PM

Fri, Jun 1

paquette added a comment to D47553: Add TargetLowering::shouldExpandAtomicToLibCall and query it from AtomicExpandPass.
In D47553#1119498, @asb wrote:

I think I can disable outlining for an entire function using isFunctionSafeToOutlineFrom

Yeah, that'll work. It's conservative, but it will ensure that the outliner will never touch the function, and thus, won't touch the instructions (or anything between them).

Fri, Jun 1, 4:37 PM
paquette added inline comments to D47654: [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h.
Fri, Jun 1, 4:28 PM
paquette updated the diff for D47654: [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h.

Got rid of the whitespace changes and remembered to pass -U999999 this time.

Fri, Jun 1, 4:20 PM
paquette added a dependent revision for D47654: [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h: D47655: [MachineOutliner] Don't outline sequences where x16/x17/nzcv are live across.
Fri, Jun 1, 2:32 PM
paquette added a dependency for D47655: [MachineOutliner] Don't outline sequences where x16/x17/nzcv are live across: D47654: [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h.
Fri, Jun 1, 2:32 PM
paquette created D47655: [MachineOutliner] Don't outline sequences where x16/x17/nzcv are live across.
Fri, Jun 1, 2:31 PM
paquette created D47654: [MachineOutliner] NFC - Move intermediate data structures to MachineOutliner.h.
Fri, Jun 1, 2:25 PM

Tue, May 22

paquette accepted D47173: [MachineOutliner] Add "thunk" outlining for AArch64..

Cool! LGTM.

Tue, May 22, 10:14 AM

May 18 2018

paquette updated subscribers of D38768: Add remarks describing when a pass changes the IR instruction count of a module.

Ah, you’re right.

May 18 2018, 1:09 PM
paquette committed rL332758: [NFC] Change cast from r332739 to a static cast.
[NFC] Change cast from r332739 to a static cast
May 18 2018, 1:08 PM
paquette closed D38768: Add remarks describing when a pass changes the IR instruction count of a module.

Committed as r332739.

May 18 2018, 10:31 AM
paquette committed rL332739: Add remarks describing when a pass changes the IR instruction count of a module.
Add remarks describing when a pass changes the IR instruction count of a module
May 18 2018, 10:30 AM
paquette added inline comments to D38768: Add remarks describing when a pass changes the IR instruction count of a module.
May 18 2018, 10:10 AM
paquette updated the diff for D38768: Add remarks describing when a pass changes the IR instruction count of a module.

Updated patch to address review.

May 18 2018, 10:08 AM

May 17 2018

paquette updated the diff for D38768: Add remarks describing when a pass changes the IR instruction count of a module.

A few changes here after running this on some more complicated code.

May 17 2018, 11:26 AM

May 16 2018

paquette updated the diff for D38768: Add remarks describing when a pass changes the IR instruction count of a module.

Fixed a typo in initSizeRemarkInfo.

May 16 2018, 3:38 PM
paquette accepted D46923: [MachineOutliner] Don't save/restore LR for tail calls..

Thanks for finding this. LGTM!

May 16 2018, 9:24 AM
paquette accepted D46921: [MachineOutliner] Count savings from outlining in bytes..

You are entirely correct. LGTM.

May 16 2018, 9:21 AM
paquette accepted D46920: [MachineOutliner] Don't outline instructions that modify SP..

Thanks for finding this! LGTM.

May 16 2018, 9:11 AM

May 15 2018

paquette updated the diff for D38768: Add remarks describing when a pass changes the IR instruction count of a module.

A couple more changes:

May 15 2018, 3:46 PM
paquette updated the diff for D38768: Add remarks describing when a pass changes the IR instruction count of a module.
  • Updated the test to use globaldce for the module pass
  • Ensured that we don't *ever* get the module's instruction count unless the remark has been requested but the user. This is handled in a new helper function, initSizeRemarkInfo
  • Improved the test. It only runs opt once per pass type we want to handle. It now no longer has hard-coded values for sizes, which should make sure it isn't terribly flakey
May 15 2018, 3:16 PM

May 14 2018

paquette added a comment to D46809: [GlobalISel] NFCI, Getting GlobalISel ~5% faster.

This is pretty non-invasive, so code LGTM aside from one minor stylistic comment on an assertion. I would wait for comments from another reviewer though, since I'm not super familiar with this particular bit of code.

May 14 2018, 9:38 PM

May 11 2018

paquette updated the diff for D38768: Add remarks describing when a pass changes the IR instruction count of a module.

Updated diff to address review comments.

May 11 2018, 3:40 PM

May 8 2018

paquette committed rL331813: Revert "[X86][CET] Shadow stack fix for setjmp/longjmp".
Revert "[X86][CET] Shadow stack fix for setjmp/longjmp"
May 8 2018, 3:07 PM
paquette committed rC331810: Add a mno-outline flag to disable the MachineOutliner.
Add a mno-outline flag to disable the MachineOutliner
May 8 2018, 2:02 PM
paquette committed rL331810: Add a mno-outline flag to disable the MachineOutliner.
Add a mno-outline flag to disable the MachineOutliner
May 8 2018, 2:02 PM
paquette committed rL331806: Change -foutline to -moutline.
Change -foutline to -moutline
May 8 2018, 1:57 PM
paquette committed rC331806: Change -foutline to -moutline.
Change -foutline to -moutline
May 8 2018, 1:57 PM

May 7 2018

paquette updated the diff for D38768: Add remarks describing when a pass changes the IR instruction count of a module.

A bit of cleanup. Updated diff for current pass manager, changed get(IRType)IRCount to a general getIRCount() function.

May 7 2018, 3:44 PM

May 2 2018

paquette accepted D46373: [MachineOutliner] Add optsize markings to outlined functions..

LGTM

May 2 2018, 8:09 PM
paquette committed rL331370: Add -foutline option to enable the MachineOutliner in AArch64.
Add -foutline option to enable the MachineOutliner in AArch64
May 2 2018, 9:48 AM
paquette committed rC331370: Add -foutline option to enable the MachineOutliner in AArch64.
Add -foutline option to enable the MachineOutliner in AArch64
May 2 2018, 9:48 AM

May 1 2018

paquette added a comment to D45916: Enable MachineOutliner by default under -Oz for AArch64.

Funnily enough, this version of the patch uncovered a bug in a different pass, which caused its lit tests to fail (D46330).

May 1 2018, 1:59 PM
paquette removed a dependency for D45916: Enable MachineOutliner by default under -Oz for AArch64: D46330: Create a MachineBasicBlock for created IR-level BasicBlock.
May 1 2018, 1:54 PM
paquette removed a dependent revision for D46330: Create a MachineBasicBlock for created IR-level BasicBlock: D45916: Enable MachineOutliner by default under -Oz for AArch64.
May 1 2018, 1:54 PM
paquette closed D46330: Create a MachineBasicBlock for created IR-level BasicBlock.

Thanks! Switched the begin() to end() as suggested.

May 1 2018, 1:53 PM
paquette committed rL331307: Create a MachineBasicBlock for created IR-level BasicBlock.
Create a MachineBasicBlock for created IR-level BasicBlock
May 1 2018, 1:53 PM
paquette removed a dependent revision for D45915: Teach llc about -Oz and -Os: D45916: Enable MachineOutliner by default under -Oz for AArch64.
May 1 2018, 1:28 PM
paquette edited dependencies for D45916: Enable MachineOutliner by default under -Oz for AArch64, added: 1; removed: 2.
May 1 2018, 1:28 PM
paquette removed a dependent revision for D45914: Teach TargetMachines about -Oz and -Os: D45916: Enable MachineOutliner by default under -Oz for AArch64.
May 1 2018, 1:28 PM
paquette added a dependent revision for D46330: Create a MachineBasicBlock for created IR-level BasicBlock: D45916: Enable MachineOutliner by default under -Oz for AArch64.
May 1 2018, 1:28 PM
paquette created D46330: Create a MachineBasicBlock for created IR-level BasicBlock.
May 1 2018, 1:24 PM
paquette updated the summary of D45916: Enable MachineOutliner by default under -Oz for AArch64.
May 1 2018, 10:17 AM
paquette added inline comments to D45916: Enable MachineOutliner by default under -Oz for AArch64.
May 1 2018, 10:16 AM
paquette updated the diff for D45916: Enable MachineOutliner by default under -Oz for AArch64.

Updated patch for review. Lots of tests modified this time because in this round the outliner is *always* added to the pass pipleline. It then decides whether or not it should run based off of user input/target default behaviour.

May 1 2018, 10:16 AM

Apr 27 2018

paquette committed rL331095: [MachineOutliner] Add defs to calls + don't track liveness on outlined functions.
[MachineOutliner] Add defs to calls + don't track liveness on outlined functions
Apr 27 2018, 4:40 PM

Apr 26 2018

paquette added a reviewer for D45916: Enable MachineOutliner by default under -Oz for AArch64: MatzeB.
Apr 26 2018, 3:10 PM
paquette closed D45189: [MachineOutliner][AArch64] Keep track of functions that use a red zone in AArch64MachineFunctionInfo and use that instead of checking for noredzone in the MachineOutliner.

Committed in r329120.

Apr 26 2018, 3:09 PM
paquette abandoned D45917: Pass -Oz/-Os along to the backend.

We decided it'd be better to just use function attributes for the outliner, so I'm abandoning this.

Apr 26 2018, 10:48 AM · Restricted Project
paquette abandoned D45914: Teach TargetMachines about -Oz and -Os.

We decided it'd be better to just use function attributes for the outliner, so I'm abandoning this.

Apr 26 2018, 10:47 AM
paquette abandoned D45915: Teach llc about -Oz and -Os.

We decided it'd be better to just use function attributes for the outliner, so I'm abandoning this.

Apr 26 2018, 10:47 AM
paquette added inline comments to D45916: Enable MachineOutliner by default under -Oz for AArch64.
Apr 26 2018, 10:45 AM
paquette updated the diff for D45916: Enable MachineOutliner by default under -Oz for AArch64.

Updated diff to reflect review comments and discussion on the RFC. In the RFC, we decided that it'd be better to base the decision to outline off of function attributes for compatibility with LTO and extensibility of the outliner. This is a far less invasive change, and means that every patch other than this can be abandoned.

Apr 26 2018, 10:43 AM

Apr 25 2018

paquette accepted D46091: [MachineOutliner] Don't outline from functions with a section marking..

(If we want to outline from these, we can probably try performing a separate outlining pass for each section. That way we can enforce that functions outlined from a specific section all come from the same section, and also end up in that *same* section.)

Apr 25 2018, 4:11 PM

Apr 24 2018

paquette committed rL330783: [MachineOutliner] Check for explicit uses of LR/W30 in MI operands.
[MachineOutliner] Check for explicit uses of LR/W30 in MI operands
Apr 24 2018, 3:41 PM

Apr 23 2018

paquette updated the diff for D45917: Pass -Oz/-Os along to the backend.

Add context to diff.

Apr 23 2018, 9:49 AM · Restricted Project
paquette updated the diff for D45916: Enable MachineOutliner by default under -Oz for AArch64.

Added context to diff.

Apr 23 2018, 9:49 AM
paquette updated the diff for D45915: Teach llc about -Oz and -Os.

Added context to diff.

Apr 23 2018, 9:49 AM
paquette updated the diff for D45914: Teach TargetMachines about -Oz and -Os.

Updated diff to use -U999999 for context

Apr 23 2018, 9:46 AM

Apr 20 2018

paquette updated the summary of D45916: Enable MachineOutliner by default under -Oz for AArch64.
Apr 20 2018, 7:01 PM
paquette updated subscribers of D45917: Pass -Oz/-Os along to the backend.
Apr 20 2018, 7:01 PM · Restricted Project
paquette updated the summary of D45914: Teach TargetMachines about -Oz and -Os.
Apr 20 2018, 7:01 PM
paquette updated the summary of D45915: Teach llc about -Oz and -Os.
Apr 20 2018, 6:58 PM
paquette added a dependency for D45915: Teach llc about -Oz and -Os: D45914: Teach TargetMachines about -Oz and -Os.
Apr 20 2018, 6:57 PM
paquette added dependencies for D45916: Enable MachineOutliner by default under -Oz for AArch64: D45914: Teach TargetMachines about -Oz and -Os, D45915: Teach llc about -Oz and -Os.
Apr 20 2018, 6:57 PM
paquette added a dependent revision for D45916: Enable MachineOutliner by default under -Oz for AArch64: D45917: Pass -Oz/-Os along to the backend.
Apr 20 2018, 6:57 PM
paquette added a dependent revision for D45914: Teach TargetMachines about -Oz and -Os: D45916: Enable MachineOutliner by default under -Oz for AArch64.
Apr 20 2018, 6:57 PM
paquette created D45917: Pass -Oz/-Os along to the backend.
Apr 20 2018, 6:57 PM · Restricted Project
paquette added a dependent revision for D45914: Teach TargetMachines about -Oz and -Os: D45915: Teach llc about -Oz and -Os.
Apr 20 2018, 6:57 PM
paquette added a dependent revision for D45915: Teach llc about -Oz and -Os: D45916: Enable MachineOutliner by default under -Oz for AArch64.
Apr 20 2018, 6:57 PM
paquette added a dependency for D45917: Pass -Oz/-Os along to the backend: D45916: Enable MachineOutliner by default under -Oz for AArch64.
Apr 20 2018, 6:57 PM · Restricted Project
paquette created D45916: Enable MachineOutliner by default under -Oz for AArch64.
Apr 20 2018, 6:46 PM
paquette created D45915: Teach llc about -Oz and -Os.
Apr 20 2018, 6:36 PM
paquette updated the summary of D45914: Teach TargetMachines about -Oz and -Os.
Apr 20 2018, 6:32 PM
paquette created D45914: Teach TargetMachines about -Oz and -Os.
Apr 20 2018, 6:31 PM
paquette committed rL330494: Fix typo in test (verify-machine-instrs -> verify-machineinstrs).
Fix typo in test (verify-machine-instrs -> verify-machineinstrs)
Apr 20 2018, 4:41 PM
paquette committed rL330493: [MachineOutliner] XFAIL machine-outliner-noredzone.ll.
[MachineOutliner] XFAIL machine-outliner-noredzone.ll
Apr 20 2018, 4:39 PM
paquette committed rL330459: [MachineOutliner] Change B instruction for tail calls to TCRETURNdi.
[MachineOutliner] Change B instruction for tail calls to TCRETURNdi
Apr 20 2018, 11:09 AM

Apr 19 2018

paquette committed rL330373: [MachineOutliner] NFC: Move EnableLinkOnceODROutlining into MachineOutliner.cpp.
[MachineOutliner] NFC: Move EnableLinkOnceODROutlining into MachineOutliner.cpp
Apr 19 2018, 3:21 PM

Apr 12 2018

paquette committed rL329922: [AArch64] Move AFI->setRedZone(false) to top of emitPrologue.
[AArch64] Move AFI->setRedZone(false) to top of emitPrologue
Apr 12 2018, 9:19 AM

Apr 10 2018

paquette committed rL329746: Recommit r329716 "Add missing nullptr check before getSection() to….
Recommit r329716 "Add missing nullptr check before getSection() to…
Apr 10 2018, 12:49 PM
paquette committed rL329728: Revert 329716 "Add missing nullptr check before getSection() to….
Revert 329716 "Add missing nullptr check before getSection() to…
Apr 10 2018, 10:56 AM
paquette added a reverting commit for rL329716: Add missing nullptr check to AArch64MachObjectWriter::recordRelocation: rL329728: Revert 329716 "Add missing nullptr check before getSection() to….
Apr 10 2018, 10:56 AM
paquette added a comment to D45462: Add missing nullptr check before getSection() to AArch64MachObjectWriter::recordRelocation.

I think (hope) r329723 should fix it…

Apr 10 2018, 10:39 AM
paquette committed rL329723: Fix test failure in arm64-no-section.ll.
Fix test failure in arm64-no-section.ll
Apr 10 2018, 10:35 AM
paquette updated subscribers of D45462: Add missing nullptr check before getSection() to AArch64MachObjectWriter::recordRelocation.

Currently looking into it.

Apr 10 2018, 10:29 AM
paquette closed D45462: Add missing nullptr check before getSection() to AArch64MachObjectWriter::recordRelocation.

Committed in r329716.

Apr 10 2018, 8:57 AM
paquette committed rL329716: Add missing nullptr check to AArch64MachObjectWriter::recordRelocation.
Add missing nullptr check to AArch64MachObjectWriter::recordRelocation
Apr 10 2018, 8:56 AM

Apr 9 2018

paquette created D45462: Add missing nullptr check before getSection() to AArch64MachObjectWriter::recordRelocation.
Apr 9 2018, 3:16 PM

Apr 4 2018

paquette committed rL329220: [MachineOutliner] Add `useMachineOutliner` target hook.
[MachineOutliner] Add `useMachineOutliner` target hook
Apr 4 2018, 12:16 PM