Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

bryant (bryant)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 19 2016, 2:06 AM (396 w, 5 d)

Recent Activity

Oct 10 2019

bryant committed rL374464: Request commit access for bryant.
Request commit access for bryant
Oct 10 2019, 3:21 PM

Jul 30 2019

bryant updated the diff for D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
  • Switched to LINK_COMPONENTS.
Jul 30 2019, 5:54 PM · Restricted Project

Jul 23 2019

bryant added inline comments to D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
Jul 23 2019, 4:36 PM · Restricted Project
bryant added inline comments to D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
Jul 23 2019, 4:36 PM · Restricted Project

Jul 20 2019

bryant updated the diff for D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
  • {Scalar,ObjCARC} => {Scalar,ObjCARC}Opts.
Jul 20 2019, 6:01 AM · Restricted Project
bryant updated the diff for D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..

Rebased onto latest git monorepo.

Jul 20 2019, 5:39 AM · Restricted Project

Jul 13 2019

bryant abandoned D64701: test.
Jul 13 2019, 9:49 PM · Restricted Project
bryant created D64701: test.
Jul 13 2019, 9:46 PM · Restricted Project

Jul 12 2019

bryant added a comment to D64623: [gn] Tag unneeded variable..

I checked this in at https://reviews.llvm.org/rL365897 but made a copy-paste mistake that referenced https://reviews.llvm.org/D31727 in the commit message instead of this differential. ):

Jul 12 2019, 10:56 AM · Restricted Project
bryant committed rG421c7918dc29: [gn] Tag unneeded variable. (authored by bryant).
[gn] Tag unneeded variable.
Jul 12 2019, 6:11 AM
bryant committed rL365897: [gn] Tag unneeded variable..
[gn] Tag unneeded variable.
Jul 12 2019, 6:09 AM
bryant updated the diff for D64623: [gn] Tag unneeded variable..

Moved for-loop out of branch.

Jul 12 2019, 6:06 AM · Restricted Project
bryant created D64623: [gn] Tag unneeded variable..
Jul 12 2019, 2:32 AM · Restricted Project
bryant committed rG7ba838d29c6a: Test commit. NFC. (authored by bryant).
Test commit. NFC.
Jul 12 2019, 1:27 AM
bryant committed rL365878: Test commit. NFC..
Test commit. NFC.
Jul 12 2019, 1:27 AM

Apr 15 2019

bryant added inline comments to D60734: [gn] Support dots in CMake paths in the sync script.
Apr 15 2019, 3:20 PM · Restricted Project, Restricted Project
bryant added a comment to D60734: [gn] Support dots in CMake paths in the sync script.

Drive-by.

Apr 15 2019, 3:16 PM · Restricted Project, Restricted Project
bryant created D60733: [gn] Include PatternInit.cpp..
Apr 15 2019, 3:14 PM · Restricted Project

Jun 23 2018

bryant added a comment to D48354: [LoopIdiomRecognize] Support for loops that use LSHR instruction added..
  • Would you mind re-upping this with full context?
Jun 23 2018, 2:38 AM

May 30 2017

bryant abandoned D33683: [NewGVN] Don't add virtual instructions as users..

This was fixed this morning already :)

May 30 2017, 10:02 AM
bryant added a reviewer for D33683: [NewGVN] Don't add virtual instructions as users.: davide.

Adding davide since this was introduced in r303715.

May 30 2017, 9:52 AM
bryant created D33683: [NewGVN] Don't add virtual instructions as users..
May 30 2017, 9:43 AM

Apr 16 2017

bryant committed rL300428: MemorySSA: Stop tracking def-or-use blocks..
MemorySSA: Stop tracking def-or-use blocks.
Apr 16 2017, 12:58 PM
bryant closed D32121: [MemorySSA] Stop tracking def-or-use blocks. by committing rL300428: MemorySSA: Stop tracking def-or-use blocks..
Apr 16 2017, 12:58 PM
bryant created D32121: [MemorySSA] Stop tracking def-or-use blocks..
Apr 16 2017, 12:31 PM

Apr 10 2017

bryant added a comment to D29624: [DSE] Basic MemorySSA-backed global DSE.

Yes. This was my first foray into sparse, non-local DSE and exists as a back-up if for some reason PDSE doesn't make it in (the biggest concern now is speed).

Apr 10 2017, 11:11 AM

Apr 5 2017

bryant committed rL299596: [Bugpoint] Use `unique_ptr` correctly..
[Bugpoint] Use `unique_ptr` correctly.
Apr 5 2017, 3:36 PM
bryant closed D31727: [Bugpoint] Use `unique_ptr` correctly. by committing rL299596: [Bugpoint] Use `unique_ptr` correctly..
Apr 5 2017, 3:36 PM
bryant updated the diff for D31727: [Bugpoint] Use `unique_ptr` correctly..

const refs.

Apr 5 2017, 3:27 PM
bryant created D31727: [Bugpoint] Use `unique_ptr` correctly..
Apr 5 2017, 2:57 PM

Apr 4 2017

bryant created D31685: [Bugpoint] Erase comdat annotat after setting linkage to external..
Apr 4 2017, 4:22 PM

Mar 29 2017

bryant updated the diff for D29866: [PDSE] Add PDSE..
  • Partition each redundancy class of must-aliasing, same-sized stores into same-opcode, same-pointer-type subclasses. For instance, memmove(i8* %a, i8*, i32 1), store i8, i8* %a, and store i1, i1* (bitcast i8* %a to i1*) belong to the same redundancy class, but distinct subclasses. This is needed for PRE insertion to work.
  • Use SSAUpdater to generate the PRE-inserted occurrence's pointer operand (and whichever phi nodes are needed).
  • Extend computeCanBeAnt to account for unsplittable critical edges, e.g., lambda blocks that terminated by indirectbr.
  • Add more tests from bugpoint.
Mar 29 2017, 8:44 PM

Mar 23 2017

bryant committed rL298659: [MetaRenamer] Don't rename library functions..
[MetaRenamer] Don't rename library functions.
Mar 23 2017, 4:33 PM
bryant closed D31304: [MetaRenamer] Don't rename library functions. by committing rL298659: [MetaRenamer] Don't rename library functions..
Mar 23 2017, 4:33 PM
bryant updated the diff for D31304: [MetaRenamer] Don't rename library functions..
  • Explain why leave lib funcs alone.
  • Make test case FileChecks complete..
Mar 23 2017, 3:14 PM
bryant added a comment to D31304: [MetaRenamer] Don't rename library functions..

What happens if there's a conflict between a meta-renamed function and originally named extern? For instance,

declare void @pluto()

define void @dont_rename_lib_funcs(...) {  ; metarenames to pluto.
  ...
}

?

If I understand your example correctly, that's a bug in the pass?

Mar 23 2017, 2:27 PM
bryant added a comment to D31304: [MetaRenamer] Don't rename library functions..

What I mean is that I don't see the reason for wanting to keep non-lib externs. Lib externs, on the other hand, need to stay un-renamed because some passes may behave differently in the presence of specific library functions. DSE, for instance, provides special handling for malloc-ed memory locations.

Mar 23 2017, 2:25 PM
bryant added a comment to D31304: [MetaRenamer] Don't rename library functions..

What happens if there's a conflict between a meta-renamed function and originally named extern? For instance,

Mar 23 2017, 2:20 PM
bryant added a comment to D31304: [MetaRenamer] Don't rename library functions..

You want to do this for all the external functions, maybe?

Mar 23 2017, 1:59 PM
bryant created D31304: [MetaRenamer] Don't rename library functions..
Mar 23 2017, 1:19 PM

Mar 11 2017

bryant added inline comments to D30853: Improve the genericity of `llvm::enumerate()`..
Mar 11 2017, 11:03 AM

Mar 8 2017

bryant updated the diff for D29866: [PDSE] Add PDSE..

Added test cases and fix-me cases.

Mar 8 2017, 11:52 PM
bryant updated the diff for D29866: [PDSE] Add PDSE..

It runs faster than before.

Mar 8 2017, 10:46 PM

Feb 23 2017

bryant committed rL296036: [ADT] Fix zip iterator interface..
[ADT] Fix zip iterator interface.
Feb 23 2017, 3:12 PM
bryant closed D30246: [ADT] Fix zip iterator interface. by committing rL296036: [ADT] Fix zip iterator interface..
Feb 23 2017, 3:12 PM
bryant updated the diff for D30246: [ADT] Fix zip iterator interface..

Test filter with reversed zip.

Feb 23 2017, 2:45 PM
bryant updated the diff for D30246: [ADT] Fix zip iterator interface..
  • Allow operator-- when inner iterators are random access.
Feb 23 2017, 2:20 PM
bryant updated the diff for D30246: [ADT] Fix zip iterator interface..
  • Use boost's difference_type calculation, even though it's not morally correct.
  • Support reverse iteration, if all the inner iterators support it.
Feb 23 2017, 2:11 PM

Feb 22 2017

bryant updated the diff for D29866: [PDSE] Add PDSE..
  • PDSE actually PDSEs now.
  • Added a test file.
Feb 22 2017, 4:06 AM
bryant created D30246: [ADT] Fix zip iterator interface..
Feb 22 2017, 1:33 AM

Feb 19 2017

bryant added a comment to D29624: [DSE] Basic MemorySSA-backed global DSE.

To-do.

Feb 19 2017, 2:01 PM

Feb 13 2017

bryant added a comment to D29865: [PDSE] Add a no-op pass..

Also, it would be great if you can provide real examples of where this helps (e.g. how often do you expect this to trigger in practice, and why it matters).

I can provide cases :)

There are a lot of them.
It's PRE for stores.

I assume you experimented enough with this to have a complete'ish pass somewhere out-of-tree. If so, did you run this on something to measure the impact?

I mentioned a lot of this to bryant yesterday, that these are things that we'd have to work through.

Side question: do you want this to be run as part of the default pipeline eventually? What's the compile time cost?

Feb 13 2017, 4:23 PM
bryant added inline comments to D29865: [PDSE] Add a no-op pass..
Feb 13 2017, 4:08 PM
bryant updated the diff for D29865: [PDSE] Add a no-op pass..
  • Insert PDSE.cpp into the right place in CMakeLists.txt.
  • Add copyright headers to impl and header files.
  • Re-worded file-level summary a bit.
  • -print-pdse is now -print-frg because that makes a bit more sense.
  • Explain why BreakCriticalEdges is required.
Feb 13 2017, 3:57 PM

Feb 11 2017

bryant created D29866: [PDSE] Add PDSE..
Feb 11 2017, 10:31 AM
bryant created D29865: [PDSE] Add a no-op pass..
Feb 11 2017, 10:26 AM

Feb 9 2017

bryant created D29766: Add operator bool for MemoryLocations..
Feb 9 2017, 8:14 AM

Feb 8 2017

bryant accepted D28869: [CMake] Fix `is_llvm_target_library` and support out-of-order components.

LGTM

Feb 8 2017, 12:38 PM
bryant resigned from D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
Feb 8 2017, 12:38 PM · Restricted Project
bryant requested review of D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..

Wrong window.

Feb 8 2017, 12:38 PM · Restricted Project
bryant accepted D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..

lgtm

Feb 8 2017, 12:37 PM · Restricted Project
bryant added a comment to D29705: Fix PR 24415 (at least), by making our post-dominator tree behavior sane..

Minor things.

Feb 8 2017, 6:06 AM
bryant abandoned D22726: [DAGCombine] Match shift amount by value rather than relying on common sub-expressions..
Feb 8 2017, 3:49 AM

Feb 7 2017

bryant created D29624: [DSE] Basic MemorySSA-backed global DSE.
Feb 7 2017, 2:18 AM
bryant abandoned D28395: [DSE] Basic global DSE, backed by MemorySSA.
Feb 7 2017, 1:56 AM
bryant added a comment to D28395: [DSE] Basic global DSE, backed by MemorySSA.

Reposting this with llvm-commits attached.

Feb 7 2017, 1:56 AM

Jan 27 2017

bryant added inline comments to D28869: [CMake] Fix `is_llvm_target_library` and support out-of-order components.
Jan 27 2017, 12:40 PM

Jan 25 2017

bryant added a comment to D29046: MemorySSA: Link all defs together into an intrusive defslist, to make updater easier.

An example where spliceabove is broken:

MemoryUse(0)
use(a)
2= MemoryDef(1)
store b
3 = MemoryDef(2)
store a

Splice store a above use a produces:

3 = MemoryDef(0)
store a
MemoryUse(3)
use(a)
2= MemoryDef(1)
store b

This would work in SSA, because you would just have two variables live at the same time.
However, it does not work for MemorySSA, because only one variable may be live at a time, and therefore, you need to update downwards as well.

The only cases where the effects are truly local is when you splice into the middle of a block that has defs above or below you.

Jan 25 2017, 9:18 AM

Jan 24 2017

bryant added inline comments to D28869: [CMake] Fix `is_llvm_target_library` and support out-of-order components.
Jan 24 2017, 11:15 AM

Jan 23 2017

bryant accepted D29043: [Lanai] Rename LanaiInstPrinter library to LanaiAsmPrinter.

I thought that there'd be stuff to change in clang, compiler-rt, and libcxx, but nope. LGTM.

Jan 23 2017, 2:21 PM

Jan 21 2017

bryant updated the diff for D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
  • Add the missing target sub-components when expanding a target.
Jan 21 2017, 11:49 AM · Restricted Project
bryant added a comment to D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
  • Further update is_llvm_target to is_omitted_target_lib. The former checks whether a component is part of a known target...
Jan 21 2017, 2:19 AM · Restricted Project
bryant updated the diff for D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
  • Fix is_llvm_target's logic. Previously, it checked a component name (X86Utils, LanaiInstPrinter, so on) against fully qualified libnames (LLVMX86Utils, LLVMLanaiInstPrinter), which is incorrect. This is exactly the fix in D28869 by Chris.
Jan 21 2017, 2:15 AM · Restricted Project

Jan 19 2017

bryant added inline comments to D28869: [CMake] Fix `is_llvm_target_library` and support out-of-order components.
Jan 19 2017, 7:31 PM
bryant updated the diff for D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..

Trim away whitespace. Depends on D28869.

Jan 19 2017, 6:31 PM · Restricted Project
bryant added a comment to D28869: [CMake] Fix `is_llvm_target_library` and support out-of-order components.

Just a quick reminder.

Jan 19 2017, 6:24 PM

Jan 18 2017

bryant added inline comments to D28406: [InstCombine] icmp sgt (shl nsw X, C1), C0 --> icmp sgt X, C0 >> C1.
Jan 18 2017, 10:05 PM
bryant added a comment to D28406: [InstCombine] icmp sgt (shl nsw X, C1), C0 --> icmp sgt X, C0 >> C1.

LGTM with just one nit.

Jan 18 2017, 10:00 PM
bryant added inline comments to D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
Jan 18 2017, 9:48 PM · Restricted Project
bryant added inline comments to D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
Jan 18 2017, 9:29 PM · Restricted Project
bryant added a comment to D28406: [InstCombine] icmp sgt (shl nsw X, C1), C0 --> icmp sgt X, C0 >> C1.

I'm not seeing any test cases for nsw/nuw eq/ne. Should/Can they be added?

Jan 18 2017, 11:12 AM
bryant added a comment to D28856: [CMake] Teach CMake how to generate `LibraryDependencies.inc`.

Depends on D28855.

Jan 18 2017, 10:35 AM
bryant added inline comments to D28406: [InstCombine] icmp sgt (shl nsw X, C1), C0 --> icmp sgt X, C0 >> C1.
Jan 18 2017, 7:33 AM
bryant updated the summary of D28856: [CMake] Teach CMake how to generate `LibraryDependencies.inc`.
Jan 18 2017, 5:20 AM
bryant created D28856: [CMake] Teach CMake how to generate `LibraryDependencies.inc`.
Jan 18 2017, 5:19 AM
bryant added a comment to D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..

Note that this is the NFC part of D28086.

Jan 18 2017, 5:07 AM · Restricted Project
bryant created D28855: [CMake] Copy per-component `required_libraries` into `LINK_COMPONENTS`. NFC..
Jan 18 2017, 5:06 AM · Restricted Project

Jan 17 2017

bryant added inline comments to D28406: [InstCombine] icmp sgt (shl nsw X, C1), C0 --> icmp sgt X, C0 >> C1.
Jan 17 2017, 11:40 PM
bryant added inline comments to D28406: [InstCombine] icmp sgt (shl nsw X, C1), C0 --> icmp sgt X, C0 >> C1.
Jan 17 2017, 11:28 PM
bryant added a comment to D28406: [InstCombine] icmp sgt (shl nsw X, C1), C0 --> icmp sgt X, C0 >> C1.

This looks like the signed analogue of the unsigned case on line 1965. Since the unsigned case handles both ugt and ule (but makes the substitutions for ult), perhaps you could handle sle as well:

Jan 17 2017, 10:29 AM

Jan 15 2017

bryant added a comment to D28086: [CMake] Subsume LLVMBuild.txt. Disabled by default..

I don't understand why you suggest WITHOUT_LLVMBUILD. We can just prune
llvmbuild.

Jan 15 2017, 7:26 AM
bryant added a comment to D28086: [CMake] Subsume LLVMBuild.txt. Disabled by default..

ping.

Jan 15 2017, 6:44 AM

Jan 10 2017

bryant added a comment to D28394: [AliasAnalysis] Limit `MemoryLocation` retrieval to valid intrinsic arguments..

Should invariant.start be updated to declare nolias {}* @llvm.invariant.start.p0i8(i64 <size>, i8* nocapture <ptr>)? That way, the returned token is ensured not to mess with AA queries.

Jan 10 2017, 9:12 AM
bryant updated the diff for D28394: [AliasAnalysis] Limit `MemoryLocation` retrieval to valid intrinsic arguments..
  • Return a dummy MemLoc for invariant.end's first argument.
  • Add tests.
Jan 10 2017, 8:58 AM
bryant added inline comments to D28394: [AliasAnalysis] Limit `MemoryLocation` retrieval to valid intrinsic arguments..
Jan 10 2017, 8:29 AM
bryant added inline comments to D28394: [AliasAnalysis] Limit `MemoryLocation` retrieval to valid intrinsic arguments..
Jan 10 2017, 8:23 AM
bryant added inline comments to D28394: [AliasAnalysis] Limit `MemoryLocation` retrieval to valid intrinsic arguments..
Jan 10 2017, 8:11 AM
bryant added inline comments to D28394: [AliasAnalysis] Limit `MemoryLocation` retrieval to valid intrinsic arguments..
Jan 10 2017, 7:39 AM
bryant added inline comments to D28394: [AliasAnalysis] Limit `MemoryLocation` retrieval to valid intrinsic arguments..
Jan 10 2017, 6:30 AM
bryant added inline comments to D28394: [AliasAnalysis] Limit `MemoryLocation` retrieval to valid intrinsic arguments..
Jan 10 2017, 6:30 AM