Nikita Popov

Results 517 comments of Nikita Popov

Should be handled by foldOpIntoPhi(). At a guess, it may have trouble with multiple uses of the same phi in the instruction.

It looks like adding this method makes NodeTraverser itself about 10% slower.

I can kind of see how this could be useful in theory, but it's not really clear to me where we'd see a benefit in practice. Can you share an...

Hm, I don't think the fact that this code gets transformed at all is intentional. The fold exists to prefer a logical or over an arbitrary select, but in this...

> > > 1. if we are dealing with scalable vector constants as there is no > > > immediate representation for a negative scalable zeroinitializer. > > > >...

> This is going to be a nightmare.. we need to predict the future to evaluate gep inbounds. Not clear if it's path sensitive or not, but it precludes the...

> One thing that needs clarification in LangRef is what kind of `memory()` function attributes allow a function to increase the size of a block. I'd assume that growing an...

> > > One thing that needs clarification in LangRef is what kind of `memory()` function attributes allow a function to increase the size of a block. > > >...

@Xinlong-Wu Probably adding support for min/max intrinsics to https://github.com/llvm/llvm-project/blob/3186ca25bc6cbd592a7ee25fc89b99354d7fda7e/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp#L486 may help.

Yes, the general expectation is that the predicate is value based (as in, based on incoming value and incoming BB). It would probably be clearer if the predicate was passed...