Page MenuHomePhabricator

shawnl (Shawn Landden)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 5 2019, 5:06 AM (23 w, 1 d)

Recent Activity

Jul 2 2019

shawnl added a comment to D59254: [RFC] Implementation of Clang randstruct.

My point is that most languages these days that intend to be compiled to machine code want compatibility with the C ABI, and randstruct will be part of that (and can be made compatible between languages by sharing the seed). LLVM knows what a struct is.

Jul 2 2019, 10:40 AM · Restricted Project
shawnl added a comment to D59254: [RFC] Implementation of Clang randstruct.

I think the essential functionality of this patch should be in LLVM and not Clang, so that all front-ends can benefit. Too many generally useful things are in Clang when they should be in LLVM (e.g. C ABI for ARM and x86; ranged switch statements). I opened an upstream bug to discuss this. https://github.com/clang-randstruct/llvm-project/issues/52

Jul 2 2019, 7:54 AM · Restricted Project
Herald added a project to D23155: Power9 - Part-word VSX integer scalar loads/stores and sign extend instructions: Restricted Project.

I think the essential functionality of this patch should be in LLVM and not Clang, so that all front-ends can benefit. To many generally useful things are in Clang when they should be in LLVM (e.g. C ABI for ARM and x86; ranged switch statements). I opened an upstream bug to discuss this. https://github.com/clang-randstruct/llvm-project/issues/52

Jul 2 2019, 7:54 AM · Restricted Project
shawnl added a comment to D23155: Power9 - Part-word VSX integer scalar loads/stores and sign extend instructions.

Oh sorry, wrong bug.

Jul 2 2019, 7:54 AM · Restricted Project

Jun 14 2019

shawnl committed rGf2e60fc4e8c4: [SimpligyCFG] NFC intended, remove GCD that was only used for powers of two (authored by shawnl).
[SimpligyCFG] NFC intended, remove GCD that was only used for powers of two
Jun 14 2019, 9:54 AM
shawnl committed rL363422: [SimpligyCFG] NFC intended, remove GCD that was only used for powers of two.
[SimpligyCFG] NFC intended, remove GCD that was only used for powers of two
Jun 14 2019, 9:54 AM
shawnl abandoned D61132: [builtins] run-time support for sparse maps in llvm.

This will be put directly into LLVM-IR, as llvm can't inline it otherwise anyways.

Jun 14 2019, 8:31 AM · Restricted Project, Restricted Project
shawnl abandoned D61160: [SimplifyCFG] Implement the suggested ctlz transform.

This optimization is not really worth it, for the amount of effort needed to implement it.

Jun 14 2019, 8:31 AM · Restricted Project

Jun 13 2019

shawnl updated the diff for D63242: [SimplifyCFG] Also use the SwitchReduceRange Threshold for shift operations..

fix tests when building tests for ALL architectures

Jun 13 2019, 5:17 PM · Restricted Project
shawnl committed rG24f40858118f: [SimplifyCFG] NFC, update Switch tests as a baseline. (authored by shawnl).
[SimplifyCFG] NFC, update Switch tests as a baseline.
Jun 13 2019, 12:34 PM
shawnl committed rL363319: [SimplifyCFG] NFC, update Switch tests as a baseline..
[SimplifyCFG] NFC, update Switch tests as a baseline.
Jun 13 2019, 12:34 PM

Jun 12 2019

shawnl committed rG8b142bcc3f21: [SimplifyCFG] reverting preliminary Switch patches again (authored by shawnl).
[SimplifyCFG] reverting preliminary Switch patches again
Jun 12 2019, 10:24 PM
shawnl added a reverting change for rG363226dfe897: fix PR7876: If ipsccp decides that a function's address is taken before it…: rG8b142bcc3f21: [SimplifyCFG] reverting preliminary Switch patches again.
Jun 12 2019, 10:24 PM
shawnl added a reverting change for rL363226: [SimplifyCFG] NFC, update Switch tests to better examine successive patches: rL363229: [SimplifyCFG] reverting preliminary Switch patches again.
Jun 12 2019, 10:23 PM
shawnl committed rL363229: [SimplifyCFG] reverting preliminary Switch patches again.
[SimplifyCFG] reverting preliminary Switch patches again
Jun 12 2019, 10:23 PM
shawnl added a reverting change for rL363227: [SimpligyCFG] NFC intended, remove GCD that was only used for powers of two: rL363229: [SimplifyCFG] reverting preliminary Switch patches again.
Jun 12 2019, 10:23 PM
shawnl updated the summary of D63242: [SimplifyCFG] Also use the SwitchReduceRange Threshold for shift operations..
Jun 12 2019, 10:07 PM · Restricted Project
shawnl abandoned D62465: [SimplifyCFG] Also using the SwitchReduceRange Threshold for shift operations..
Jun 12 2019, 10:07 PM · Restricted Project
shawnl committed rG636220e83c2a: [SimpligyCFG] NFC intended, remove GCD that was only used for powers of two (authored by shawnl).
[SimpligyCFG] NFC intended, remove GCD that was only used for powers of two
Jun 12 2019, 9:59 PM
shawnl committed rL363227: [SimpligyCFG] NFC intended, remove GCD that was only used for powers of two.
[SimpligyCFG] NFC intended, remove GCD that was only used for powers of two
Jun 12 2019, 9:59 PM
shawnl updated the summary of D63242: [SimplifyCFG] Also use the SwitchReduceRange Threshold for shift operations..
Jun 12 2019, 9:55 PM · Restricted Project
shawnl created D63242: [SimplifyCFG] Also use the SwitchReduceRange Threshold for shift operations..
Jun 12 2019, 9:55 PM · Restricted Project
shawnl committed rGc54b2011bd07: [SimplifyCFG] NFC, update Switch tests to better examine successive patches (authored by shawnl).
[SimplifyCFG] NFC, update Switch tests to better examine successive patches
Jun 12 2019, 9:49 PM
shawnl committed rL363226: [SimplifyCFG] NFC, update Switch tests to better examine successive patches.
[SimplifyCFG] NFC, update Switch tests to better examine successive patches
Jun 12 2019, 9:48 PM
shawnl committed rGc6cba2957d52: [SimplifyCFG] revert the last commit. (authored by shawnl).
[SimplifyCFG] revert the last commit.
Jun 12 2019, 7:45 PM
shawnl committed rL363223: [SimplifyCFG] revert the last commit..
[SimplifyCFG] revert the last commit.
Jun 12 2019, 7:45 PM
shawnl committed rGf93b99b2b6a4: [SimplifyCFG] NFC, update Switch tests to HEAD so I can (authored by shawnl).
[SimplifyCFG] NFC, update Switch tests to HEAD so I can
Jun 12 2019, 7:22 PM
shawnl committed rL363222: [SimplifyCFG] NFC, update Switch tests to HEAD so I can.
[SimplifyCFG] NFC, update Switch tests to HEAD so I can
Jun 12 2019, 7:22 PM

Jun 11 2019

shawnl added a comment to D63138: [Analysis] add isSplatValue() for vectors in IR.

Looks fine

Jun 11 2019, 9:21 AM · Restricted Project

Jun 4 2019

shawnl committed rG669775f9db79: [Support] make countLeadingZeros() countTrailingZeros() countLeadingOnes() and… (authored by shawnl).
[Support] make countLeadingZeros() countTrailingZeros() countLeadingOnes() and…
Jun 4 2019, 7:51 AM
shawnl committed rL362503: [Support] make countLeadingZeros() countTrailingZeros() countLeadingOnes() and….
[Support] make countLeadingZeros() countTrailingZeros() countLeadingOnes() and…
Jun 4 2019, 7:51 AM
shawnl committed rG2ee9a827ad32: [SimplifyCFG] fix last commit (authored by shawnl).
[SimplifyCFG] fix last commit
Jun 4 2019, 7:31 AM
shawnl committed rL362501: [SimplifyCFG] fix last commit.
[SimplifyCFG] fix last commit
Jun 4 2019, 7:31 AM
shawnl committed rG7f22fecac29e: [SimplifyCFG] NFC; remove bogus test case (authored by shawnl).
[SimplifyCFG] NFC; remove bogus test case
Jun 4 2019, 7:18 AM
shawnl committed rL362499: [SimplifyCFG] NFC; remove bogus test case.
[SimplifyCFG] NFC; remove bogus test case
Jun 4 2019, 7:18 AM
shawnl closed D60859: [SimplifyCFG] remove bogus test case; NFC.
Jun 4 2019, 7:17 AM · Restricted Project

May 26 2019

shawnl committed rG343578759e20: [SimplifyCFG] back out all SwitchInst commits (authored by shawnl).
[SimplifyCFG] back out all SwitchInst commits
May 26 2019, 11:15 AM
shawnl committed rL361736: [SimplifyCFG] back out all SwitchInst commits.
[SimplifyCFG] back out all SwitchInst commits
May 26 2019, 11:13 AM
shawnl added a comment to D62465: [SimplifyCFG] Also using the SwitchReduceRange Threshold for shift operations..

Yes, can you revert them. I really am not very skilled with svn.

May 26 2019, 11:08 AM · Restricted Project
shawnl updated the diff for D62465: [SimplifyCFG] Also using the SwitchReduceRange Threshold for shift operations..

use saturating multiply

May 26 2019, 8:49 AM · Restricted Project
shawnl planned changes to D62465: [SimplifyCFG] Also using the SwitchReduceRange Threshold for shift operations..

this should use saturating multiplication

May 26 2019, 8:48 AM · Restricted Project
shawnl created D62465: [SimplifyCFG] Also using the SwitchReduceRange Threshold for shift operations..
May 26 2019, 8:48 AM · Restricted Project
shawnl committed rG7b883b7ed055: [SimplifyCFG] NFC, one more fixed test from previous push. (authored by shawnl).
[SimplifyCFG] NFC, one more fixed test from previous push.
May 26 2019, 8:27 AM
shawnl committed rL361733: [SimplifyCFG] NFC, one more fixed test from previous push..
[SimplifyCFG] NFC, one more fixed test from previous push.
May 26 2019, 8:27 AM
shawnl closed D61237: [SimplifyCFG] ReduceSwitchRange: Improve on the case where the SubThreshold doesn't trigger.

applied 361728

May 26 2019, 7:47 AM · Restricted Project
shawnl closed D61159: [SimplifyCFG] Run ReduceSwitchRange unconditionally, generalize.

applied 361727

May 26 2019, 7:47 AM · Restricted Project
shawnl closed D61151: [SimpligyCFG] NFC, remove GCD that was only used for powers of two.

applied 361726

May 26 2019, 7:45 AM · Restricted Project
shawnl abandoned D61150: [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes change anything.

applied 361725

May 26 2019, 7:45 AM · Restricted Project
shawnl committed rG927fe7328dff: [SimplifyCFG] NFC, fix failing tests from last patches. (authored by shawnl).
[SimplifyCFG] NFC, fix failing tests from last patches.
May 26 2019, 7:44 AM
shawnl closed D60823: [Support] make countLeadingZeros() countTrailingZeros() countLeadingOnes() and countTrailingOnes() return unsigned.

applied r361724

May 26 2019, 7:44 AM · Restricted Project
shawnl committed rL361730: [SimplifyCFG] NFC, fix failing tests from last patches..
[SimplifyCFG] NFC, fix failing tests from last patches.
May 26 2019, 7:44 AM
shawnl committed rGfa91ab85d9f8: [SimplifyCFG] ReduceSwitchRange: Improve on the case where the SubThreshold… (authored by shawnl).
[SimplifyCFG] ReduceSwitchRange: Improve on the case where the SubThreshold…
May 26 2019, 6:56 AM
shawnl committed rG30111c786f7c: [SimplifyCFG] Run ReduceSwitchRange unconditionally, generalize (authored by shawnl).
[SimplifyCFG] Run ReduceSwitchRange unconditionally, generalize
May 26 2019, 6:56 AM
shawnl committed rL361728: [SimplifyCFG] ReduceSwitchRange: Improve on the case where the SubThreshold….
[SimplifyCFG] ReduceSwitchRange: Improve on the case where the SubThreshold…
May 26 2019, 6:53 AM
shawnl committed rL361727: [SimplifyCFG] Run ReduceSwitchRange unconditionally, generalize.
[SimplifyCFG] Run ReduceSwitchRange unconditionally, generalize
May 26 2019, 6:52 AM
shawnl committed rG444eaaf1cce2: [SimpligyCFG] NFC, remove GCD that was only used for powers of two (authored by shawnl).
[SimpligyCFG] NFC, remove GCD that was only used for powers of two
May 26 2019, 6:52 AM
shawnl committed rG50c73a044f22: [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes… (authored by shawnl).
[SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes…
May 26 2019, 6:51 AM
shawnl committed rL361726: [SimpligyCFG] NFC, remove GCD that was only used for powers of two.
[SimpligyCFG] NFC, remove GCD that was only used for powers of two
May 26 2019, 6:51 AM
shawnl committed rGb7cc093db28c: [Support] make countLeadingZeros() and countTrailingZeros() return unsigned (authored by shawnl).
[Support] make countLeadingZeros() and countTrailingZeros() return unsigned
May 26 2019, 6:51 AM
shawnl committed rL361725: [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes….
[SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes…
May 26 2019, 6:51 AM
shawnl committed rL361724: [Support] make countLeadingZeros() and countTrailingZeros() return unsigned.
[Support] make countLeadingZeros() and countTrailingZeros() return unsigned
May 26 2019, 6:51 AM

May 22 2019

shawnl updated the diff for D61150: [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes change anything.

remove line nikic mentioned

May 22 2019, 8:34 PM · Restricted Project

May 19 2019

shawnl added inline comments to D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..
May 19 2019, 5:16 AM · Restricted Project

May 13 2019

shawnl updated the diff for D61150: [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes change anything.
May 13 2019, 4:58 PM · Restricted Project
shawnl planned changes to D61150: [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes change anything.

I'll get rid of the leftovers.

May 13 2019, 4:17 PM · Restricted Project
shawnl added a comment to D61150: [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes change anything.

comment didn't get included.

May 13 2019, 4:17 PM · Restricted Project
shawnl abandoned D61840: [SimplifyCFG] ReduceSwitchRange: use the smallest result type possible..
May 13 2019, 11:25 AM · Restricted Project
shawnl added a comment to D61840: [SimplifyCFG] ReduceSwitchRange: use the smallest result type possible..

I am going to drop this as this optimization really belongs in visitGEP, same with the bitmask code in this file.

May 13 2019, 11:25 AM · Restricted Project

May 12 2019

shawnl added a comment to D61840: [SimplifyCFG] ReduceSwitchRange: use the smallest result type possible..

The backends seem to be able to handle "illegal types", even if they couldn't before for this.

May 12 2019, 5:05 PM · Restricted Project
shawnl created D61840: [SimplifyCFG] ReduceSwitchRange: use the smallest result type possible..
May 12 2019, 4:55 PM · Restricted Project
shawnl updated the diff for D61150: [SimplifyCFG] NFC, update Switch tests to HEAD so I can see if my changes change anything.

review. Also update a few more tests.

May 12 2019, 2:34 PM · Restricted Project

May 10 2019

shawnl accepted D61756: Add a __FILE_NAME__ macro..
May 10 2019, 4:27 PM · Restricted Project

May 9 2019

shawnl added a comment to D61658: [PowerPC] Emit XXSEL for vec_sel and code that has the same pattern.

I like that this also optimizes the case where C is a not

May 9 2019, 7:46 PM · Restricted Project
shawnl requested changes to D61756: Add a __FILE_NAME__ macro..

There is no documentation specific to the #include directive. https://docs.microsoft.com/en-us/cpp/preprocessor/hash-include-directive-c-cpp?view=vs-2019

May 9 2019, 2:05 PM · Restricted Project
shawnl added inline comments to D61756: Add a __FILE_NAME__ macro..
May 9 2019, 1:55 PM · Restricted Project
shawnl added inline comments to D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..
May 9 2019, 9:38 AM · Restricted Project

May 4 2019

shawnl updated the diff for D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..

NFC

May 4 2019, 6:26 AM · Restricted Project

May 2 2019

shawnl requested review of D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..
May 2 2019, 5:04 PM · Restricted Project

May 1 2019

shawnl planned changes to D61400: [SelectionDAG] Utilize ARM shift behavior.
May 1 2019, 6:12 PM · Restricted Project
shawnl added a comment to D61400: [SelectionDAG] Utilize ARM shift behavior.

It's not the end of the world, but would mean that we would need to know that the shift amount is less that 256 as far as I understand.

May 1 2019, 6:12 PM · Restricted Project
shawnl added a comment to D61400: [SelectionDAG] Utilize ARM shift behavior.

It is certainly not safe to do in LLVM-IR, but there has to be some point at which this can be done, and at this point it is still easy to match the pattern (although it does not match the -O0 pattern with an icmp instead of a select).

May 1 2019, 3:26 PM · Restricted Project
shawnl created D61400: [SelectionDAG] Utilize ARM shift behavior.
May 1 2019, 2:04 PM · Restricted Project
shawnl updated the diff for D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..

git-clang-format

May 1 2019, 1:17 PM · Restricted Project
shawnl updated the summary of D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..
May 1 2019, 11:39 AM · Restricted Project
shawnl added inline comments to D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..
May 1 2019, 11:39 AM · Restricted Project
shawnl updated the diff for D60982: [SimplifyCFG] Use lookup tables when they are more space efficient or a huge speed win..
May 1 2019, 11:36 AM · Restricted Project
shawnl updated the diff for D61237: [SimplifyCFG] ReduceSwitchRange: Improve on the case where the SubThreshold doesn't trigger.

no longer depends on cttz transform

May 1 2019, 11:36 AM · Restricted Project

Apr 30 2019

shawnl updated the diff for D61159: [SimplifyCFG] Run ReduceSwitchRange unconditionally, generalize.

NFC

Apr 30 2019, 1:57 PM · Restricted Project
shawnl added inline comments to D61159: [SimplifyCFG] Run ReduceSwitchRange unconditionally, generalize.
Apr 30 2019, 1:57 PM · Restricted Project
shawnl updated the diff for D61160: [SimplifyCFG] Implement the suggested ctlz transform.
Apr 30 2019, 8:03 AM · Restricted Project
shawnl updated the diff for D61151: [SimpligyCFG] NFC, remove GCD that was only used for powers of two.
Apr 30 2019, 8:03 AM · Restricted Project
shawnl updated the diff for D61159: [SimplifyCFG] Run ReduceSwitchRange unconditionally, generalize.

the old shifting code could create a invalid shl 32/64

Apr 30 2019, 8:03 AM · Restricted Project
shawnl abandoned D61158: [SimplifyCFG] use fshr instead of shl/lshr/or.
Apr 30 2019, 7:47 AM · Restricted Project
shawnl added inline comments to D61151: [SimpligyCFG] NFC, remove GCD that was only used for powers of two.
Apr 30 2019, 7:00 AM · Restricted Project
shawnl added a comment to D61158: [SimplifyCFG] use fshr instead of shl/lshr/or.

there are no problems, as we can just lower fshr down to what I replaced

Apr 30 2019, 4:23 AM · Restricted Project
shawnl updated the diff for D61237: [SimplifyCFG] ReduceSwitchRange: Improve on the case where the SubThreshold doesn't trigger.
Apr 30 2019, 4:12 AM · Restricted Project
shawnl updated the diff for D61160: [SimplifyCFG] Implement the suggested ctlz transform.
Apr 30 2019, 4:10 AM · Restricted Project

Apr 29 2019

shawnl requested review of D61148: [utils] allow opt-8, opt-9 distro.
Apr 29 2019, 4:41 PM · Restricted Project
shawnl added a comment to D61148: [utils] allow opt-8, opt-9 distro.

Yeah sorry. I wanted to use these http://apt.llvm.org/ to sanity check myself. While you can always just use opt directly, using this tool make git diff work.

Apr 29 2019, 4:02 AM · Restricted Project

Apr 28 2019

shawnl planned changes to D61160: [SimplifyCFG] Implement the suggested ctlz transform.

This transform is deeply flawed, and needs much work. If the default is not reachable, there is no need to limit to countPopulation == 1, only assure that there are no duplicates. If the default _is_ reachable, then countPopulation <= 1 continues to be important, but also ctlz and cttz must be run, except in very specific circumstances (such as utf-8 first character parsing)

Apr 28 2019, 7:57 PM · Restricted Project