davide (Davide Italiano)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 12 2014, 1:58 PM (132 w, 2 d)

Recent Activity

Today

davide committed rL304041: [Mips] Placate GCC's -Wmisleading-indentation. NFCI..
[Mips] Placate GCC's -Wmisleading-indentation. NFCI.
Fri, May 26, 2:56 PM
davide committed rL304040: [lib/LTO] Don't reinvent the code for switching linkage..
[lib/LTO] Don't reinvent the code for switching linkage.
Fri, May 26, 2:56 PM
davide closed D33582: [lib/LTO] Don't reinvent the code for switching linkage by committing rL304040: [lib/LTO] Don't reinvent the code for switching linkage..
Fri, May 26, 2:56 PM

Yesterday

davide added a comment to D33584: Remove a quadratic behavior in assert-enabled builds.

Adding that to the testsuite, if it's not there, would be great.
If you can attach it here (or point a location where I can fetch, I'd like to run it under a profiler :)

I can't really share the code as is but should be able to generate something that demonstrates the issue.

Sure.

Thu, May 25, 10:18 PM
davide added a comment to D33584: Remove a quadratic behavior in assert-enabled builds.

Can you provide such a test?

Do you mean in the testsuite as part of the patch?

Thu, May 25, 10:04 PM
davide added a comment to D33584: Remove a quadratic behavior in assert-enabled builds.

Can you provide such a test?

Thu, May 25, 9:47 PM
davide created D33582: [lib/LTO] Don't reinvent the code for switching linkage.
Thu, May 25, 7:43 PM

Wed, May 24

davide added inline comments to D33535: [PM] Teach the PGO instrumentation pasess to run GlobalDCE before instrumenting code..
Wed, May 24, 10:53 PM
davide accepted D33535: [PM] Teach the PGO instrumentation pasess to run GlobalDCE before instrumenting code..

I can see the bloat as we inline with a ridicolously high threshold before instrumenting without DCE'ing, so the patch seems a decent idea.
Also, DCE is basically free compile-time wise. If you want to improve I'd do it on the DCE side instead of the instrumentation side, but that needs a larger discussion which definitely doesn't fit in the margin of this page.

Wed, May 24, 10:52 PM
davide accepted D33528: [LegacyPM] Make the 'addLoop' method accept a loop to add rather than having it internally allocate the loop..

This is fine assuming you audited all the callers (a quick grep shows just these two).

Wed, May 24, 5:46 PM
davide added a comment to D33513: [ThinLTO] Fix ThinLTO crash while destroying context.

Thanks for your first contribution, great GSoC start!
One note: this manifests with ThinLTO, but it might be a more generic metadata issue. Are you able to reproduce without ThinLTO (and maybe with a single file?)
If not, can you explain why?

Wed, May 24, 12:18 PM · lld
davide added a reviewer for D33513: [ThinLTO] Fix ThinLTO crash while destroying context: pcc.
Wed, May 24, 12:16 PM · lld
davide accepted D32098: [InstCombine] Use less bitwise operations to handle Instruction::SExt in SimplifyDemandedUseBits. Other improvements..
Wed, May 24, 9:55 AM
davide added a comment to D33431: [ValueTracking] Convert most of the calls to computeKnownBits to use the version that returns the KnownBits obje.

Agree with Simon, this needs to be split in two patches.

Wed, May 24, 9:54 AM

Tue, May 23

davide added a comment to D32252: [GVN] Add phi-translate for scalarpre as a temporary solution.

Fine by me. Thanks!

Tue, May 23, 8:46 PM
davide committed rL303715: [NewGVN] Update additionalUsers when we simplify to a value..
[NewGVN] Update additionalUsers when we simplify to a value.
Tue, May 23, 7:30 PM
davide committed rL303706: [SCCP] Use the `hasAddressTaken()` version defined in `Function`..
[SCCP] Use the `hasAddressTaken()` version defined in `Function`.
Tue, May 23, 4:59 PM
davide added a comment to D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.

Also, r303704 for the cleanup.

Tue, May 23, 4:52 PM
davide committed rL303704: [LIR] Use the newly `getRecurrenceVar()` helper. NFCI..
[LIR] Use the newly `getRecurrenceVar()` helper. NFCI.
Tue, May 23, 4:52 PM
davide committed rL303700: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ..
[LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.
Tue, May 23, 3:33 PM
davide closed D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ by committing rL303700: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ..
Tue, May 23, 3:33 PM
davide updated the diff for D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.

Comments updated.

Tue, May 23, 1:58 PM
davide added inline comments to D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.
Tue, May 23, 1:56 PM
davide updated the diff for D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.
Tue, May 23, 1:56 PM
davide added inline comments to D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.
Tue, May 23, 1:46 PM
davide added inline comments to D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.
Tue, May 23, 12:50 PM
davide added a comment to D33429: [NewPM] Initial pipeline for ThinLTO.

Hi Davide,

Did you ever use -Xclang=-fthin-link-bitcode? In our build we use this flag, and it turns out not to be handled with/without your patch. See https://github.com/llvm-mirror/clang/blob/0cb0ba28983d349395d2d38bdedcd9129ce556c4/lib/CodeGen/BackendUtil.cpp#L752 .

I'm going to use your patch as a start point and add the flag support.

Tue, May 23, 11:46 AM

Mon, May 22

davide added a comment to D32740: [PM/Unswitch] Fix a bug in the domtree update logic for the new unswitch pass..

The homegrown dominance frontier logic is not great, but I don't think it's a significant blocker and can be refactored in the future.
i.e. I'm much more interested in understanding whether this thing stick together (including the non trivial unswitch, once you get to it).
I'm happy with this going in when Danny/Sanjoy are.

Mon, May 22, 10:02 PM
davide added a comment to D32740: [PM/Unswitch] Fix a bug in the domtree update logic for the new unswitch pass..

The homegrown dominance frontier logic is not great, but I don't think it's a significant blocker and can be refactored in the future.
i.e. I'm much more interested in understanding whether this thing stick together (including the non trivial unswitch, once you get to it).
I'm happy with this going in when Danny/Sanjoy are.

Mon, May 22, 10:00 PM
davide added a comment to D23388: [LoopUnroll] By default disable unrolling when optimizing for size..

This is, unfortunately, not ideal, as full unrolling can be beneficial in -Os.
Michael (@mzolotukhin) did you get a chance to re-evaluate this?
Do you have an example where this triggers?

Mon, May 22, 9:16 PM
davide added a comment to D33429: [NewPM] Initial pipeline for ThinLTO.

Also, please note this patch contains also the clang bits. you may want to apply them separately.

Mon, May 22, 6:53 PM
davide created D33429: [NewPM] Initial pipeline for ThinLTO.
Mon, May 22, 6:53 PM
davide committed rL303587: [NewPM] Fix an innocent but silly typo. Reported by Craig Topper..
[NewPM] Fix an innocent but silly typo. Reported by Craig Topper.
Mon, May 22, 4:47 PM
davide committed rL303586: [NewPM] Add a temporary cl::opt() to test NewGVN..
[NewPM] Add a temporary cl::opt() to test NewGVN.
Mon, May 22, 4:42 PM
davide retitled D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ from [LIR] Strenghen the check for recurrence variable in popcnt/CTLZ to [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.
Mon, May 22, 4:14 PM
davide created D33420: [LIR] Strengthen the check for recurrence variable in popcnt/CTLZ.
Mon, May 22, 2:35 PM
davide accepted D33382: [PartialInlining] introduce an internal option to add partial inlining pass in the pipeline (off by default for now).

I'm not entirely sure whether you need cl::ZeroOrMore. Few comments, with that, LG.
Feel free to submit once addressed without another round trip.

Mon, May 22, 9:25 AM
davide added a comment to D33382: [PartialInlining] introduce an internal option to add partial inlining pass in the pipeline (off by default for now).

Can you make the same change in the future pass manager pipeline?

Mon, May 22, 9:02 AM
davide added inline comments to D33281: [Doc] Update how to install graphviz on macOS.
Mon, May 22, 7:16 AM

Sun, May 21

davide committed rL303516: [NewGVN] Actually check the NewGVN output..
[NewGVN] Actually check the NewGVN output.
Sun, May 21, 1:56 PM
davide committed rL303515: [NewGVN] Add a test for non most dominating leader..
[NewGVN] Add a test for non most dominating leader.
Sun, May 21, 1:50 PM
davide committed rL303513: [InstCombine] Take in account the size in sext->lshr->trunc patterns..
[InstCombine] Take in account the size in sext->lshr->trunc patterns.
Sun, May 21, 1:30 PM
davide closed D33338: [InstCombineCasts] Take in account final size when transforming sext->lshr->trunc patterns by committing rL303513: [InstCombine] Take in account the size in sext->lshr->trunc patterns..
Sun, May 21, 1:30 PM
davide added a comment to D33338: [InstCombineCasts] Take in account final size when transforming sext->lshr->trunc patterns.

This is strictly safer (does the transform less often), so LGTM. Bonus: we're not creating an unnecessary cast in the case where the result size is the same as the source op.

@davide, let me know if you plan to work on the (lshr (sext X), C) patterns. I checked in the tests with rL303504.

Sun, May 21, 1:19 PM

Sat, May 20

davide added a comment to D32782: Add pthread_self function prototype and make it speculatable..

OK, I think I found out the cause. I guess this patch was wrong, my bad.
GCC doesn't do anything special with pthread_self per-se.
What GCC does is speculating the glibc implementation of pthread_self is declared with __attribute__(const).
The semantic of the attribute is that of "The const attribute is specified as asserting that the function does not examine any data except the arguments. " [1]
If the function has no arguments, it has to return the same value every time.

Therefore, it speculates.
I think that other libc implementation are free to not declare pthread_self with that attribute. In fact, from what I can see, the FreeBSD version doesn't use that argument.
In other words, I don't think we're allowed to do anything with pthread_self() in general as POSIX specifies weaks guarantees.

So there a general implication we can implement: __attribute__(const). + zero arguments == speculatable?

I'm not sure if that's the exact recipe, but yes, it seems to be on the right path.

Also, I fail to see how it would not be safe to tread pthread_self as speculatable? Same for getpid.

The standard says that the call always succeeds and always returns the thread id. The thread ids are opaque, and I can imagine there being multiple "self" values (pthread_equal would just return true for all of them), thus making pthread_self non-const. However, I can think of no reason why an implementation would do this, don't know of any that do, the behavior would only be observable via some non-standard interface, and I'm happy to cross that bridge if we come to it.

I don't understand the bit about getpid(). In that case forking actually could change the value and you might end up in trouble if you rely on that to write temporary directories (as it's generally done).

Oh. You're right. Also, that seems to also rule out this as well. fork() could also change the value of pthread_self() I'd imagine.

Sat, May 20, 8:23 PM
davide added a comment to D32782: Add pthread_self function prototype and make it speculatable..

OK, I think I found out the cause. I guess this patch was wrong, my bad.
GCC doesn't do anything special with pthread_self per-se.
What GCC does is speculating the glibc implementation of pthread_self is declared with __attribute__(const).
The semantic of the attribute is that of "The const attribute is specified as asserting that the function does not examine any data except the arguments. " [1]
If the function has no arguments, it has to return the same value every time.

Therefore, it speculates.
I think that other libc implementation are free to not declare pthread_self with that attribute. In fact, from what I can see, the FreeBSD version doesn't use that argument.
In other words, I don't think we're allowed to do anything with pthread_self() in general as POSIX specifies weaks guarantees.

So there a general implication we can implement: __attribute__(const). + zero arguments == speculatable?

Sat, May 20, 5:49 PM
davide updated subscribers of D32782: Add pthread_self function prototype and make it speculatable..

+ @chandlerc and @joerg as they have opinion on the topic.

Sat, May 20, 5:42 PM
davide added a comment to D32782: Add pthread_self function prototype and make it speculatable..

Note: whether it's a good idea to declare pthread_self() with attribute const is a different story, but I'll leave the answer to the glibc developers :)

Sat, May 20, 5:21 PM
davide added a comment to D32782: Add pthread_self function prototype and make it speculatable..

OK, I think I found out the cause. I guess this patch was wrong, my bad.
GCC doesn't do anything special with pthread_self per-se.
What GCC does is speculating the glibc implementation of pthread_self is declared with __attribute__(const).
The semantic of the attribute is that of "The const attribute is specified as asserting that the function does not examine any data except the arguments. " [1]
If the function has no arguments, it has to return the same value every time.

Sat, May 20, 5:19 PM
davide added a comment to D33380: Add a dominanance check interface that uses caching for instructions within same basic block..

This is a really nice cleanup and I think we can greatly benefit from it in other passes as well :)
Some comments inline.

Sat, May 20, 1:50 PM
davide accepted D32782: Add pthread_self function prototype and make it speculatable..

BTW, GCC moves pthread_self out of the loop on Linux. so I would think this is legal on linux. Unless GCC handles pthread_self differently on different platforms, I think this would be fine.

Also, if you read this carefully http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c02267692&lang=en-us&cc=us

Its saying the "thread ID returned is the same ID that is returned in the thread parameter to the creating thread at thread creation time", basically implying the thread ID returned by pthread_self stays the same

Sat, May 20, 1:17 PM
davide added a comment to D32782: Add pthread_self function prototype and make it speculatable..

Looks okay, my POSIX was rusty so I looked at it again and this seems OK to speculate as it has no side-effects.
The thread id is guaranteed to be unique across all *running* threads, but can be reused when a threads joins and another one is created. I don't think this matters for this optimization.
I looked very closely at the opengroup spec and I can't find a paragraph stating that the return of pthread_self() is guaranteed to be unique for the thread lifetime.
I expect any sane implementation to do that, and it's probably implicit.

Sat, May 20, 12:56 PM
davide added a comment to D32937: [llvm] Add support for Ananas platform.

This one is implemented correctly, but, can you put together all your private patches and post for review? That would clarify the general picture for reviewers.

Sat, May 20, 11:35 AM
davide accepted D33235: Mark invariant.group as experimental.

LGTM (assuming you grepped and replaced all the uses in the documentation).

Sat, May 20, 11:31 AM
davide added a comment to D32782: Add pthread_self function prototype and make it speculatable..

Do you have some C code where this triggers? Can you provide an example?

Sat, May 20, 1:15 AM

Fri, May 19

davide accepted D33373: [lld] Infer relocation model from module flags in relocatable LTO link.

LGTM. I see Peter confirmed this is the correct fix in the PR, and I think so too.

Fri, May 19, 6:04 PM
davide committed rL303475: [NewGVN] Create a StoreExpression instead of a VariableExpression..
[NewGVN] Create a StoreExpression instead of a VariableExpression.
Fri, May 19, 6:00 PM
davide updated subscribers of D33373: [lld] Infer relocation model from module flags in relocatable LTO link.
Fri, May 19, 5:51 PM
davide added inline comments to D33373: [lld] Infer relocation model from module flags in relocatable LTO link.
Fri, May 19, 5:46 PM
davide committed rL303473: [NewGVN] Get rid of an assertion..
[NewGVN] Get rid of an assertion.
Fri, May 19, 5:37 PM
davide updated the diff for D33338: [InstCombineCasts] Take in account final size when transforming sext->lshr->trunc patterns.

Correct version of the patch & clang-formatted.

Fri, May 19, 1:11 PM
davide updated the diff for D33338: [InstCombineCasts] Take in account final size when transforming sext->lshr->trunc patterns.

Updated after Sanjay's/Jacob's feedback. Thanks for your review!

Fri, May 19, 1:01 PM
davide committed rL303447: [InstCombine] *Actually* commit the test showing the miscompile..
[InstCombine] *Actually* commit the test showing the miscompile.
Fri, May 19, 12:54 PM
davide committed rL303445: [InstCombine] Add tests to demonstrate the miscompile in PR33078..
[InstCombine] Add tests to demonstrate the miscompile in PR33078.
Fri, May 19, 12:36 PM
davide added a comment to D33338: [InstCombineCasts] Take in account final size when transforming sext->lshr->trunc patterns.

Here are some tests for the smaller patterns that we might want to match:

; FIXME: The bool bit got smeared across a wide val, but then we zero'd out those bits. This is just a zext.

define i16 @bool_zext(i1 %x) {
  %sext = sext i1 %x to i16
  %hibit = lshr i16 %sext, 15
  ret i16 %hibit
}

define <2 x i8> @bool_zext_splat(<2 x i1> %x) {
  %sext = sext <2 x i1> %x to <2 x i8>
  %hibit = lshr <2 x i8> %sext, <i8 7, i8 7>
  ret <2 x i8> %hibit
}

; FIXME: We could use a narrow arithmetic shift first and then zext.

define i16 @smear_sign_and_widen(i4 %x) {
  %sext = sext i4 %x to i16
  %hibit = lshr i16 %sext, 12
  ret i16 %hibit
}

define <2 x i8> @smear_sign_and_widen_splat(<2 x i6> %x) {
  %sext = sext <2 x i6> %x to <2 x i8>
  %hibit = lshr <2 x i8> %sext, <i8 2, i8 2>
  ret <2 x i8> %hibit
}

; FIXME: All of the replicated sign bits are wiped out by the lshr. This could be lshr+zext.

define i16 @fake_sext(i3 %x) {
  %sext = sext i3 %x to i16
  %sh = lshr i16 %sext, 15
  ret i16 %sh
}

define <2 x i8> @fake_sext_splat(<2 x i3> %x) {
  %sext = sext <2 x i3> %x to <2 x i8>
  %sh = lshr <2 x i8> %sext, <i8 7, i8 7>
  ret <2 x i8> %sh
}
Fri, May 19, 11:31 AM
davide added a comment to D33359: [LoopIdiom] Refactor return value of LoopIdiomRecognize::isLegalStore.

LG

Fri, May 19, 10:40 AM
davide added a comment to D33338: [InstCombineCasts] Take in account final size when transforming sext->lshr->trunc patterns.

So what youre suggesting here is to canonicalize and remove this Xform entirely?

Fri, May 19, 8:26 AM

Thu, May 18

davide committed rL303406: [NewGVN] Delete the old store when we find congruent to a load..
[NewGVN] Delete the old store when we find congruent to a load.
Thu, May 18, 9:19 PM
davide committed rL303393: [NewGVN] Break infinite recursion in singleReachablePHIPath()..
[NewGVN] Break infinite recursion in singleReachablePHIPath().
Thu, May 18, 4:36 PM
davide committed rL303385: [NewGVN] Replace predicate info leftovers..
[NewGVN] Replace predicate info leftovers.
Thu, May 18, 2:56 PM
davide added a comment to D33338: [InstCombineCasts] Take in account final size when transforming sext->lshr->trunc patterns.

This also refactors the codepath for clarity (as suggested by Sanjay).

Thu, May 18, 2:21 PM
davide created D33338: [InstCombineCasts] Take in account final size when transforming sext->lshr->trunc patterns.
Thu, May 18, 2:20 PM

Wed, May 17

davide committed rL303323: [Target/X86] Remove unneeded return. NFCI..
[Target/X86] Remove unneeded return. NFCI.
Wed, May 17, 7:50 PM

Tue, May 16

davide added a comment to D33265: [PredicateInfo] Fix non-determinism in codegen uncovered by reverse iterating SmallPtrSet.

As we did in NewGVN I think it's important to add a comment explaining why this doesn't matter, so, @mgrang, you might want to do that instead.

Tue, May 16, 6:22 PM
davide added a comment to D33265: [PredicateInfo] Fix non-determinism in codegen uncovered by reverse iterating SmallPtrSet.

Nevermind, we always remove the copy so that shouldn't matter.

Tue, May 16, 6:20 PM
davide added a comment to D33265: [PredicateInfo] Fix non-determinism in codegen uncovered by reverse iterating SmallPtrSet.

uh, I'm very confused at this point, I thought this was resulting in non-deterministic output?

Tue, May 16, 6:18 PM
davide accepted D33265: [PredicateInfo] Fix non-determinism in codegen uncovered by reverse iterating SmallPtrSet.
Tue, May 16, 6:11 PM
davide added a comment to D33265: [PredicateInfo] Fix non-determinism in codegen uncovered by reverse iterating SmallPtrSet.

Where did you encounter this?

Tue, May 16, 5:55 PM
davide added a comment to D32252: [GVN] Add phi-translate for scalarpre as a temporary solution.

I'm a little surprised that bootstrapping without LTO takes more time than bootstrapping with LTO, but assuming numbers are sane, the compile time impact is not terrible.

Tue, May 16, 5:32 PM
davide committed rL303218: [IR] Prefer use_empty() to !hasNUsesOrMore(1) for clarity..
[IR] Prefer use_empty() to !hasNUsesOrMore(1) for clarity.
Tue, May 16, 3:52 PM
davide committed rL303217: [NewGVN] Re-enable test now that the nondeterminism has been fixed..
[NewGVN] Re-enable test now that the nondeterminism has been fixed.
Tue, May 16, 3:40 PM
davide accepted D33247: [InstCombine] add isCanonicalPredicate() helper function and use it; NFCI.

Patch updated:
Although this patch is NFCI, we had exactly zero tests for the FCMP transforms, and the ICMP transforms were not tested completely. Given the lumpy handling of the predicates, I think it's best to check all of them to make sure we're doing exactly what we think we're doing.

I checked that there is no difference for the tests before/after this code change, but I can check in the tests first if that would be preferred.

Tue, May 16, 2:13 PM
davide committed rL303196: [MetadataLoader] Remove unused Vector. NFCI..
[MetadataLoader] Remove unused Vector. NFCI.
Tue, May 16, 11:55 AM
davide added a comment to D33088: [LiveVariables] Switch Kill/Defs sets to be `DenseSet`.

In particular, the time spent in EliminatePHI goes from

92.7229 ( 59.4%)   0.0100 (  1.1%)  92.7329 ( 59.0%)  92.7333 ( 59.0%)  Eliminate PHI nodes for register allocation

to

107.5286 ( 62.0%)   0.0090 (  1.1%)  107.5375 ( 61.7%)  107.5381 ( 61.7%)  Eliminate PHI nodes for register allocation
Tue, May 16, 11:27 AM
davide added a comment to D33088: [LiveVariables] Switch Kill/Defs sets to be `DenseSet`.

How big does the set get? Did you try using SmallDenseSet instead?

Tue, May 16, 11:24 AM
davide added inline comments to D33247: [InstCombine] add isCanonicalPredicate() helper function and use it; NFCI.
Tue, May 16, 11:03 AM
davide accepted D32241: Don't process debug intrinsics in InstCombine.

The test could probably be further reduced, but I think it's fine now.
The change looked good to me a while ago, and still looks good.
Please wait and check if Craig is happy with this.

Tue, May 16, 10:46 AM
davide added inline comments to D33247: [InstCombine] add isCanonicalPredicate() helper function and use it; NFCI.
Tue, May 16, 10:43 AM
davide accepted D33242: [InstCombine] add motivational comment for tests; NFC.
Tue, May 16, 9:33 AM
davide added a comment to D33242: [InstCombine] add motivational comment for tests; NFC.

This is fine. It's just a theoretical concern, but OK. Please keep in mind that the transform you're proposing won't work if the first icmp is located in a different position in the function, for that you need value numbering.

Tue, May 16, 9:33 AM
davide added inline comments to D33235: Mark invariant.group as experimental.
Tue, May 16, 9:26 AM
davide added a comment to D33242: [InstCombine] add motivational comment for tests; NFC.

The wording is OK. What kind of infloop are you talking about here? Can you please elaborate?

Tue, May 16, 9:08 AM

Mon, May 15

davide committed rL303142: Revert "[NewGVN] Replace predicate info leftovers.".
Revert "[NewGVN] Replace predicate info leftovers."
Mon, May 15, 11:04 PM
davide committed rL303141: [NewGVN] Replace predicate info leftovers..
[NewGVN] Replace predicate info leftovers.
Mon, May 15, 10:36 PM
davide closed D33226: [NewGVN] Replace predicate info leftovers by committing rL303141: [NewGVN] Replace predicate info leftovers..
Mon, May 15, 10:36 PM
davide updated the diff for D33226: [NewGVN] Replace predicate info leftovers.

updated, now with testcase.

Mon, May 15, 9:05 PM
davide added a comment to D33226: [NewGVN] Replace predicate info leftovers.

Sorry, I didn't do git add of the testcase, I'll do in my next upload.

Mon, May 15, 8:29 PM
davide added inline comments to D33226: [NewGVN] Replace predicate info leftovers.
Mon, May 15, 7:21 PM
davide created D33226: [NewGVN] Replace predicate info leftovers.
Mon, May 15, 7:16 PM
davide closed D33130: Disable threads in a few tests.
Mon, May 15, 4:07 PM