search for: gepload

Displaying 2 results from an estimated 2 matches for "gepload".

2019 Jun 25
2
SCEVExpander bug?
...s- (-32768 * (%1 /u -32768))<nuw><nsw> It has both nsw/nuw flags. The signed range of the second operand of SCEVMulExpr (%1 /u -32768) is [0, 2). So it can be either 0 or 1. But SCEVExpander uses shl to generate the multiply. The generated IR looks something like this- %7 = lshr i16 %gepload, 15 %8 = shl nuw nsw i16 %7, 15 The issue is that %8 is later simplified to zero because according to langref it produces poison otherwise - If the nuw keyword is present, then the shift produces a poison value if it shifts out any non-zero bits. If the nsw keyword is present, then the shift produ...
2016 Aug 17
2
Loop vectorization with the loop containing bitcast
...%arrayIdx to <4 x i64>* LAA: We need to do 0 pointer comparisons. LAA: We can perform a memory runtime check if needed. LAA: Checking memory dependencies LAA: Src Scev: {@c,+,32}<nsw><%loop.17>Sink Scev: {@c,+,32}<nsw><%loop.17>(Induction step: 1) LAA: Distance for %gepload = load <4 x i64>, <4 x i64>* %0, align 16, !tbaa !1 to store <4 x double> zeroinitializer, <4 x double>* %2, align 16, !tbaa !1: 0 LAA: Zero dependence difference but different types Total Dependences: 1 LAA: unsafe dependent memory operations in loop -------------- next p...