mcrosier (Chad Rosier)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 12 2013, 7:42 AM (201 w, 4 d)

Recent Activity

Wed, Sep 20

mcrosier edited reviewers for D37821: [SimplifyCfg] Don't sink loads/stores to geps of allocas, added: chandlerc; removed: jmolloy.

+Chandler (SROA owner)
-James (not active AFAICT)

Wed, Sep 20, 7:07 AM

Tue, Sep 19

mcrosier accepted D37988: [AArch64] Improve tests of loads and stores of register pairs.

Thanks, Evandro.

Tue, Sep 19, 6:15 AM

Mon, Sep 18

mcrosier resigned from D34566: [loop idiom Recognition] support memcpy for multiple consecutive loads and stores.
Mon, Sep 18, 8:16 AM

Fri, Sep 15

mcrosier accepted D37922: [llvm] Fix some typos. NFC..

LGTM. Thanks, Mandeep. These type of changes generally don't require pre-approval, btw.

Fri, Sep 15, 12:57 PM
mcrosier removed a reviewer for D37896: [DAGCombine] Resolving PR34474 by transforming mul(x, 2^c +/- 1) -> sub/add(shl(x, c) x) for any type including vector types: llvm-commits.
Fri, Sep 15, 12:37 PM
mcrosier added a comment to D37896: [DAGCombine] Resolving PR34474 by transforming mul(x, 2^c +/- 1) -> sub/add(shl(x, c) x) for any type including vector types.

Please add test cases.

Fri, Sep 15, 12:17 PM

Thu, Sep 14

mcrosier added a comment to D33946: [InlineCost] Find identical loads in the callee.

(I suspect most folks are waiting for chandler to say whether he feels this is good enough at this point or not)

Thu, Sep 14, 8:56 AM
mcrosier committed rL313263: Add newline to end of test file. NFC..
Add newline to end of test file. NFC.
Thu, Sep 14, 7:50 AM

Wed, Sep 13

mcrosier added inline comments to D37198: [InlineCost] add visitSelectInst().
Wed, Sep 13, 9:53 AM

Fri, Sep 1

mcrosier added inline comments to D33946: [InlineCost] Find identical loads in the callee.
Fri, Sep 1, 11:07 AM

Mon, Aug 28

mcrosier added a comment to D37198: [InlineCost] add visitSelectInst().

Overall, the logic of the patch is in good shape. However, I'd suggest some minor refactoring to delineate the select of constants/values vs. GEPs for SROA.

Mon, Aug 28, 8:54 AM

Aug 24 2017

mcrosier committed rL311702: [PartialInlining] Formatting. NFC..
[PartialInlining] Formatting. NFC.
Aug 24 2017, 2:24 PM
mcrosier committed rL311699: [PartialInlining] Type. NFC..
[PartialInlining] Type. NFC.
Aug 24 2017, 1:32 PM
mcrosier added a comment to D37106: [Driver][AArch64] Tests for rdm feature..

Thanks for fixing this.

Aug 24 2017, 8:19 AM
mcrosier accepted D34879: [LoopInterchange] Skip zext instructions when looking for induction var..

Seems reasonable to me assuming the usual bit of testing has been done.

Aug 24 2017, 7:42 AM
mcrosier committed rL311660: [Driver][AArch64] Add tests for RDM feature..
[Driver][AArch64] Add tests for RDM feature.
Aug 24 2017, 7:34 AM
mcrosier closed D37106: [Driver][AArch64] Tests for rdm feature. by committing rL311660: [Driver][AArch64] Add tests for RDM feature..
Aug 24 2017, 7:34 AM
mcrosier committed rL311659: [TargetParser][AArch64] Add support for RDM feature in the target parser..
[TargetParser][AArch64] Add support for RDM feature in the target parser.
Aug 24 2017, 7:32 AM
mcrosier closed D37081: [TargetParser][AArch64] Add support for RDM feature in the target parser. by committing rL311659: [TargetParser][AArch64] Add support for RDM feature in the target parser..
Aug 24 2017, 7:32 AM
mcrosier added inline comments to D37081: [TargetParser][AArch64] Add support for RDM feature in the target parser..
Aug 24 2017, 6:26 AM
mcrosier added a comment to D37081: [TargetParser][AArch64] Add support for RDM feature in the target parser..

Looks good to me, was wondering if you're also planning to add a Clang patch to test +rdm?

Yes, we should definitely add those. Coming up shortly.

Aug 24 2017, 6:23 AM
mcrosier created D37106: [Driver][AArch64] Tests for rdm feature..
Aug 24 2017, 6:23 AM
mcrosier updated the diff for D37081: [TargetParser][AArch64] Add support for RDM feature in the target parser..

-Add +rdm to llvm::AArch64::getExtensionFeatures. This was exposed while trying to write clang/driver tests. Thanks, Sjoerd.

Aug 24 2017, 6:20 AM
mcrosier added a comment to D37081: [TargetParser][AArch64] Add support for RDM feature in the target parser..

Looks good to me, was wondering if you're also planning to add a Clang patch to test +rdm?

Aug 24 2017, 5:54 AM
mcrosier updated the diff for D37081: [TargetParser][AArch64] Add support for RDM feature in the target parser..

Address Sam's feedback by adding a few more tests.

Aug 24 2017, 5:54 AM

Aug 23 2017

mcrosier created D37081: [TargetParser][AArch64] Add support for RDM feature in the target parser..
Aug 23 2017, 2:30 PM
mcrosier edited reviewers for D37051: Model cache size and associativity in TargetTransformInfo, added: efriedma; removed: eli.friedman.
Aug 23 2017, 7:31 AM
mcrosier committed rL311554: [Reassociate] Don't canonicalize x + (-Constant * y) -> x - (Constant * y)...
[Reassociate] Don't canonicalize x + (-Constant * y) -> x - (Constant * y)..
Aug 23 2017, 7:13 AM

Aug 22 2017

mcrosier resigned from D36793: [X86AsmParser] Refactoring, (almost) NFC..
Aug 22 2017, 7:28 AM

Aug 21 2017

mcrosier committed rL311370: [InlineCost] Add more debug during inline cost computation..
[InlineCost] Add more debug during inline cost computation.
Aug 21 2017, 12:59 PM
mcrosier accepted D35850: [InlineCost] Add cl::opt to allow full inline cost to be computed for debugging purposes..

LGTM.

Aug 21 2017, 9:23 AM

Aug 18 2017

mcrosier accepted D36807: [AArch64] Restore the test of conditional branch fusion.

Thanks, Evandro.

Aug 18 2017, 12:36 PM
mcrosier abandoned D36591: [PredicateInfo] Add a helper routine to remove SSA copies from a Function..

We can revisit this once there's a use case.

Aug 18 2017, 9:55 AM
mcrosier added inline comments to D36844: [PGO] Fixed assertion due to mismatched memcpy size type..
Aug 18 2017, 9:31 AM
mcrosier added inline comments to D35850: [InlineCost] Add cl::opt to allow full inline cost to be computed for debugging purposes..
Aug 18 2017, 9:21 AM

Aug 14 2017

mcrosier updated the summary of D36656: [SCCP] Propagate integer range information in IPSCCP (WIP)..
Aug 14 2017, 9:57 AM

Aug 11 2017

mcrosier added a comment to D36591: [PredicateInfo] Add a helper routine to remove SSA copies from a Function..

I'm not necessarily against this, and I think having PI garbage collecting the intrinsics is a good thing.
What I'm wondering here if you hit a case when this actually matters? I and Dan debugged several cases where PI intrinsics weren't reclaimed but those were all legitimate bugs in NewGVN.
In case we decide to use PI for some other pass (LVI is an obvious candidate) then having this logic handled in the utility may make things easier.

Aug 11 2017, 5:55 AM

Aug 10 2017

mcrosier created D36591: [PredicateInfo] Add a helper routine to remove SSA copies from a Function..
Aug 10 2017, 2:11 PM
mcrosier closed D36539: [NewGVN] Add command-line option to control the generation of phi-of-ops (disable by default).

r310594

Aug 10 2017, 7:21 AM
mcrosier committed rL310594: [NewGVN] Add CL option to control the generation of phi-of-ops (disable by….
[NewGVN] Add CL option to control the generation of phi-of-ops (disable by…
Aug 10 2017, 7:16 AM

Aug 9 2017

mcrosier retitled D36539: [NewGVN] Add command-line option to control the generation of phi-of-ops (disable by default) from [NewGVN] Add command-line option to control the generation of phi-of-ops. NFC. to [NewGVN] Add command-line option to control the generation of phi-of-ops (disable by default).
Aug 9 2017, 2:03 PM
mcrosier updated the diff for D36539: [NewGVN] Add command-line option to control the generation of phi-of-ops (disable by default).

-Disable this feature by default.
-Update test RUN commands due to change.

Aug 9 2017, 2:03 PM
mcrosier created D36539: [NewGVN] Add command-line option to control the generation of phi-of-ops (disable by default).
Aug 9 2017, 12:17 PM
mcrosier added inline comments to D36432: [IPSCCP] Add function specialization ability.
Aug 9 2017, 11:35 AM
mcrosier added reviewers for D36517: [AArch64] Enable ARMv8.3-A pointer authentication: t.p.northover, rengolin, SjoerdMeijer, john.brawn.
Aug 9 2017, 8:56 AM
mcrosier added inline comments to D36512: [ValueTracking] Honour recursion limit.
Aug 9 2017, 8:12 AM
mcrosier updated subscribers of D36504: [CodeGenPrepare][WIP] Convert uncond. branch to return into a return to help with shrink-wrapping.
Aug 9 2017, 8:09 AM
mcrosier accepted D36512: [ValueTracking] Honour recursion limit.

One small comment, but otherwise LGTM. Thanks, Davide.

Aug 9 2017, 7:57 AM
mcrosier added a comment to D35850: [InlineCost] Add cl::opt to allow full inline cost to be computed for debugging purposes..

@haicheng has offered to take up this work!

Aug 9 2017, 6:38 AM
mcrosier reclaimed D35850: [InlineCost] Add cl::opt to allow full inline cost to be computed for debugging purposes..
Aug 9 2017, 6:38 AM

Aug 8 2017

mcrosier committed rL310397: [NewGVN] Use a cast instead of a dyn_cast..
[NewGVN] Use a cast instead of a dyn_cast.
Aug 8 2017, 11:42 AM
mcrosier closed D36478: [NewGVN] Use a cast instead of a dyn_cast. by committing rL310397: [NewGVN] Use a cast instead of a dyn_cast..
Aug 8 2017, 11:42 AM
mcrosier created D36478: [NewGVN] Use a cast instead of a dyn_cast..
Aug 8 2017, 11:12 AM
mcrosier added a comment to D35667: [DragonEgg] Initial migration to GCC v8.x and LLVM v6.x.

What's your particular need for this project? If just for fan, this might not be worth to maintain.

There is ongoing effort to upstream Fortran support to LLVM.

For reference: https://github.com/flang-compiler/flang

Aug 8 2017, 7:32 AM
mcrosier added a comment to D35667: [DragonEgg] Initial migration to GCC v8.x and LLVM v6.x.

What's your particular need for this project? If just for fan, this might not be worth to maintain.

There is ongoing effort to upstream Fortran support to LLVM.

Aug 8 2017, 7:30 AM

Aug 7 2017

mcrosier updated subscribers of D36404: Disable jump threading into loop headers.

@bmakam: Isn't this very similar to some of your recent work?

Aug 7 2017, 10:09 AM

Aug 4 2017

mcrosier committed rL310066: [AArch64] Fix an assertion for pre-index generation with unscaled loads/stores..
[AArch64] Fix an assertion for pre-index generation with unscaled loads/stores.
Aug 4 2017, 9:45 AM
mcrosier closed D36248: [AArch64] Fix an assertion for pre-index generation with unscaled loads/stores. by committing rL310066: [AArch64] Fix an assertion for pre-index generation with unscaled loads/stores..
Aug 4 2017, 9:44 AM
mcrosier added a comment to D36287: [SimplifyCFG] Simplify based on a dominating condition (looking past hammocks and diamonds)..

We already have a couple other passes which can do optimize your testcase (JumpThreading and GVN); what do we gain from doing this analysis here specifically?

Aug 4 2017, 9:41 AM
mcrosier abandoned D36287: [SimplifyCFG] Simplify based on a dominating condition (looking past hammocks and diamonds)..

Eli and Danny have (rightfully) convinced me this has little/no merit. However, this is a derivative of some other work I've been doing with the inline cost model and I think both of your inputs would be very valuable. Please see: http://lists.llvm.org/pipermail/llvm-dev/2017-August/116183.html

Aug 4 2017, 9:05 AM

Aug 3 2017

mcrosier created D36287: [SimplifyCFG] Simplify based on a dominating condition (looking past hammocks and diamonds)..
Aug 3 2017, 2:16 PM
mcrosier added a comment to D36248: [AArch64] Fix an assertion for pre-index generation with unscaled loads/stores..

It might be good to add FIXME in getPreIndexedOpcode explaining unscaled loads/stores are intentionally not added for now.

Aug 3 2017, 10:31 AM
mcrosier accepted D36248: [AArch64] Fix an assertion for pre-index generation with unscaled loads/stores..

Approved, per Jun.

Aug 3 2017, 10:30 AM
mcrosier added a comment to D35850: [InlineCost] Add cl::opt to allow full inline cost to be computed for debugging purposes..

Why abandon? FWIW, this does seem really useful. I'd also suggest wiring it up so that when optimization remarks are enabled, we do the extra compile time work to give that a detailed answer. (Or maybe set a *really high* threshold below which we give a reasonably exact answer...)

Aug 3 2017, 6:43 AM
mcrosier added a comment to D36238: Use "foo-12345.o" instead of "foo.o-12345" as temporary file name..

Seems reasonable to me as well..

Aug 3 2017, 6:38 AM

Aug 2 2017

mcrosier created D36248: [AArch64] Fix an assertion for pre-index generation with unscaled loads/stores..
Aug 2 2017, 3:53 PM
mcrosier abandoned D35850: [InlineCost] Add cl::opt to allow full inline cost to be computed for debugging purposes..
Aug 2 2017, 3:31 PM
mcrosier committed rL309819: [InlineCost] Remove redundant call. NFC..
[InlineCost] Remove redundant call. NFC.
Aug 2 2017, 7:51 AM
mcrosier committed rL309817: [InlineCost] Simplify more 'and' and 'or' operations..
[InlineCost] Simplify more 'and' and 'or' operations.
Aug 2 2017, 7:41 AM
mcrosier closed D35856: [InlineCost] Simplify more 'and' and 'or' operations. by committing rL309817: [InlineCost] Simplify more 'and' and 'or' operations..
Aug 2 2017, 7:41 AM

Aug 1 2017

mcrosier committed rL309739: [Value Tracking] Default argument to true and rename accordingly. NFC..
[Value Tracking] Default argument to true and rename accordingly. NFC.
Aug 1 2017, 1:20 PM
mcrosier committed rL309726: [Value Tracking] Refactor and/or logic into helper. NFC..
[Value Tracking] Refactor and/or logic into helper. NFC.
Aug 1 2017, 12:23 PM
mcrosier added a comment to D35856: [InlineCost] Simplify more 'and' and 'or' operations..

Ping.

Aug 1 2017, 8:15 AM

Jul 28 2017

mcrosier accepted D35579: [SimplifyCFG] Make the no-jump-tables attribute also disable switch lookup tables.
Jul 28 2017, 2:13 PM
mcrosier committed rL309417: [Value Tracking] Refactor icmp comparison logic into helper. NFC..
[Value Tracking] Refactor icmp comparison logic into helper. NFC.
Jul 28 2017, 11:49 AM
mcrosier committed rL309385: [ValueTracking] Remove a number of unused arguments. NFC..
[ValueTracking] Remove a number of unused arguments. NFC.
Jul 28 2017, 7:39 AM
mcrosier added inline comments to D35489: [LoopInterchange] Do not interchange loops with function calls..
Jul 28 2017, 7:34 AM
mcrosier accepted D35489: [LoopInterchange] Do not interchange loops with function calls..

Sounds reasonable to me.

Jul 28 2017, 7:33 AM

Jul 26 2017

mcrosier resigned from D34056: Tail merge size.
Jul 26 2017, 6:16 AM
mcrosier updated the diff for D35856: [InlineCost] Simplify more 'and' and 'or' operations..

Update comments and minor formatting improvements.

Jul 26 2017, 6:13 AM
mcrosier resigned from D35621: X86 Asm can't work properly with symbolic Scale.
Jul 26 2017, 6:11 AM
mcrosier resigned from D35568: [AArch64] Use 8 bytes as preferred function alignment on Cortex-A53..
Jul 26 2017, 6:10 AM
mcrosier resigned from D31080: [DAG] Extract switch lowering as a spearate object NFC.
Jul 26 2017, 6:09 AM
mcrosier resigned from D33150: [WIP]Forming branch from select aggressively in loop.
Jul 26 2017, 6:08 AM
mcrosier resigned from D30342: [SimplifyCFG] Do not split blocks if breaking a loop.
Jul 26 2017, 6:08 AM
mcrosier resigned from D28701: [CodeGenPrep]Sink sext when foldable in user GEPs.
Jul 26 2017, 6:08 AM
mcrosier resigned from D29571: [JumpThread] Add test for SimplifyPartiallyRedundantLoad(), NFC.
Jul 26 2017, 6:07 AM
mcrosier resigned from D29572: [JumpThread] Do not break loop structures when splitting blocks.
Jul 26 2017, 6:07 AM
mcrosier resigned from D29966: [SelectionDAG] Try to recompute LiveOutInfo of PHI.
Jul 26 2017, 6:06 AM
mcrosier resigned from D30004: [InstCombin] Continue scanning loaded values through single predecessors.
Jul 26 2017, 6:06 AM

Jul 25 2017

mcrosier added inline comments to D35856: [InlineCost] Simplify more 'and' and 'or' operations..
Jul 25 2017, 2:40 PM
mcrosier updated the diff for D35856: [InlineCost] Simplify more 'and' and 'or' operations..

Address Geoff's offline comments.
-Remove the constraint that the 'and' or 'or' is operating on an i1 value.

Jul 25 2017, 2:39 PM
mcrosier retitled D35856: [InlineCost] Simplify more 'and' and 'or' operations. from [InlineCost] Simplify logical 'and' and 'or' operations. to [InlineCost] Simplify more 'and' and 'or' operations..
Jul 25 2017, 2:39 PM
mcrosier created D35856: [InlineCost] Simplify more 'and' and 'or' operations..
Jul 25 2017, 2:14 PM
mcrosier added inline comments to D35850: [InlineCost] Add cl::opt to allow full inline cost to be computed for debugging purposes..
Jul 25 2017, 12:28 PM
mcrosier created D35850: [InlineCost] Add cl::opt to allow full inline cost to be computed for debugging purposes..
Jul 25 2017, 11:59 AM

Jul 24 2017

mcrosier added a comment to D35577: Add -flookup-tables and -fno-lookup-tables flags.

"Should this just be part of the tuning for the hexagon backend and not options at all"

I don't think we need separate options to control jump tables and lookup tables: one option to enable/disable the use of memory tables would be sufficient.
Jul 24 2017, 8:37 AM
mcrosier abandoned D35375: [AArch64][Atomic] Canonicalize sub of immediate to add of -immediate..

I'm not going to pursue this further, but if someone wants to pick up this work I'd be more than happy to assist.

Jul 24 2017, 8:26 AM

Jul 23 2017

mcrosier committed rL308849: [AArch64] Redundant Copy Elimination - remove more zero copies..
[AArch64] Redundant Copy Elimination - remove more zero copies.
Jul 23 2017, 9:38 AM
mcrosier closed D35075: [AArch64] Redundant copy elimination - remove more zero copies. by committing rL308849: [AArch64] Redundant Copy Elimination - remove more zero copies..
Jul 23 2017, 9:38 AM