User Details
- User Since
- Feb 19 2016, 2:06 AM (396 w, 5 d)
Oct 10 2019
Jul 30 2019
- Switched to LINK_COMPONENTS.
Jul 23 2019
Jul 20 2019
- {Scalar,ObjCARC} => {Scalar,ObjCARC}Opts.
Rebased onto latest git monorepo.
Jul 13 2019
Jul 12 2019
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. ):
Moved for-loop out of branch.
Apr 15 2019
Drive-by.
Jun 23 2018
- Would you mind re-upping this with full context?
May 30 2017
This was fixed this morning already :)
Adding davide since this was introduced in r303715.
Apr 16 2017
Apr 10 2017
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 5 2017
const refs.
Apr 4 2017
Mar 29 2017
- 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 23 2017
- Explain why leave lib funcs alone.
- Make test case FileChecks complete..
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.
What happens if there's a conflict between a meta-renamed function and originally named extern? For instance,
Mar 11 2017
Mar 8 2017
Added test cases and fix-me cases.
It runs faster than before.
Feb 23 2017
Test filter with reversed zip.
- Allow operator-- when inner iterators are random access.
- Use boost's difference_type calculation, even though it's not morally correct.
- Support reverse iteration, if all the inner iterators support it.
Feb 22 2017
- PDSE actually PDSEs now.
- Added a test file.
Feb 19 2017
To-do.
Feb 13 2017
- 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 11 2017
Feb 9 2017
Feb 8 2017
LGTM
Wrong window.
lgtm
Minor things.
Feb 7 2017
Reposting this with llvm-commits attached.
Jan 27 2017
Jan 25 2017
Jan 24 2017
Jan 23 2017
I thought that there'd be stuff to change in clang, compiler-rt, and libcxx, but nope. LGTM.
Jan 21 2017
- Add the missing target sub-components when expanding a target.
- 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 19 2017
Trim away whitespace. Depends on D28869.
Just a quick reminder.
Jan 18 2017
LGTM with just one nit.
I'm not seeing any test cases for nsw/nuw eq/ne. Should/Can they be added?
Depends on D28855.
Note that this is the NFC part of D28086.
Jan 17 2017
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 15 2017
I don't understand why you suggest WITHOUT_LLVMBUILD. We can just prune
llvmbuild.
ping.
Jan 10 2017
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.
- Return a dummy MemLoc for invariant.end's first argument.
- Add tests.