Nikita Popov

Results 517 comments of Nikita Popov

FWIW, what I had in mind with my comment was more something along the lines of https://github.com/llvm/llvm-project/pull/85663, which generalizes the existing select equivalence fold. The disadvantage is that it does...

> This patch proposes we drop the opt-in limit for opcodes that are allowed to push a freeze through the op to freeze all its operands, bringing us more in...

In the RISCV case, where does the freeze come from in the first place?

As this affects call ABI, doesn't this need to be a target option rather than compiler flag? Otherwise @RalfJung will be very sad.

I wonder whether it is feasible to allow masked.load/masked.store to be used with scalars. The need to cast between `` and `%T` everywhere is quite awkward and doesn't represent the...

One more place you need to update for correctness reasons is InstCombineSimplifyDemanded: You need to drop poison generating flags when doing demanded bits simplification of trunc now. (This should be...

Please also add a test in llvm/test/Transforms/SimplifyCFG/HoistCode.ll for the flag intersection behavior. See existing disjoint/nneg tests.

> > Another place to update is SCEVExpander, which backs up poison-generating flags. Needs an adjustment to handle these on trunc now. (Don't think this needs a test, it's pretty...

@elhewaty There is a lot of possible followup work here, I think some of the most important piece would be: * Implement inference for nuw/nsw flags in InstCombine * Implement...