Home | History | Annotate | Download | only in IR

Lines Matching refs:BitCast

380   //       bitcast (i8* malloc(typeSize)) to type*
382 // bitcast (i8 *malloc(typeSize*arraySize)) to type*
455 /// 3. Bitcast the result of the malloc call to the specified type.
470 /// 3. Bitcast the result of the malloc call to the specified type.
471 /// Note: This function does not add the bitcast to the basic block, that is the
2064 case Instruction::BitCast:
2071 // Only BitCast can be lossless, exit fast if we're not BitCast
2072 if (getOpcode() != Instruction::BitCast)
2091 /// # bitcast i32* %x to i8*
2092 /// # bitcast <2 x i32> %x to <4 x i16>
2113 case Instruction::BitCast:
2114 return true; // BitCast never modifies bits.
2180 // BITCAST = FirstClass n/a FirstClass n/a
2209 { 5, 5, 5, 6, 6, 5, 5, 6, 6,16, 5, 1,14}, // BitCast |
2213 // If either of the casts are a bitcast from scalar to vector, disallow the
2214 // merging. However, bitcast of A->B->A are allowed.
2215 bool isFirstBitcast = (firstOp == Instruction::BitCast);
2216 bool isSecondBitcast = (secondOp == Instruction::BitCast);
2273 return Instruction::BitCast;
2275 // ptrtoint, inttoptr -> bitcast (ptr -> ptr) if int size is >= ptr size.
2280 return Instruction::BitCast;
2284 // ext, trunc -> bitcast, if the SrcTy and DstTy are same size
2290 return Instruction::BitCast;
2300 // the same as the original, in which case its just a bitcast
2302 return Instruction::BitCast;
2305 // inttoptr, ptrtoint -> bitcast if SrcSize<=PtrSize and SrcSize==DstSize
2312 return Instruction::BitCast;
2316 // addrspacecast, addrspacecast -> bitcast, if SrcAS == DstAS
2320 return Instruction::BitCast;
2325 // change of bitcast.
2332 "Illegal addrspacecast, bitcast sequence!");
2336 // bitcast, addrspacecast -> addrspacecast if the element type of
2337 // bitcast's source is the same as that of addrspacecast's destination.
2345 // change of bitcast.
2351 "Illegal inttoptr, bitcast sequence!");
2357 // change of bitcast.
2363 "Illegal bitcast, ptrtoint sequence!");
2391 case BitCast: return new BitCastInst (S, Ty, Name, InsertBefore);
2413 case BitCast: return new BitCastInst (S, Ty, Name, InsertAtEnd);
2423 return Create(Instruction::BitCast, S, Ty, Name, InsertBefore);
2431 return Create(Instruction::BitCast, S, Ty, Name, InsertAtEnd);
2439 return Create(Instruction::BitCast, S, Ty, Name, InsertBefore);
2447 return Create(Instruction::BitCast, S, Ty, Name, InsertAtEnd);
2455 return Create(Instruction::BitCast, S, Ty, Name, InsertBefore);
2463 return Create(Instruction::BitCast, S, Ty, Name, InsertAtEnd);
2485 return Create(Instruction::BitCast, S, Ty, Name, InsertAtEnd);
2488 /// @brief Create a BitCast or a PtrToInt cast instruction
2507 return Create(Instruction::BitCast, S, Ty, Name, InsertBefore);
2518 (SrcBits == DstBits ? Instruction::BitCast :
2532 (SrcBits == DstBits ? Instruction::BitCast :
2546 (SrcBits == DstBits ? Instruction::BitCast :
2559 (SrcBits == DstBits ? Instruction::BitCast :
2683 return BitCast;
2710 return BitCast; // Same size, No-op cast
2720 return BitCast; // Same size, no-op cast
2738 return BitCast; // same size, no-op cast
2743 return BitCast; // same size, no-op cast
2749 return BitCast;
2754 return BitCast; // ptr -> ptr
2762 return BitCast; // 64-bit vector to MMX
2845 case Instruction::BitCast: {
2849 // BitCast implies a no-op cast of type only. No bits change.
3030 ) : CastInst(Ty, BitCast, S, Name, InsertBefore) {
3031 assert(castIsValid(getOpcode(), S, Ty) && "Illegal BitCast");
3036 ) : CastInst(Ty, BitCast, S, Name, InsertAtEnd) {
3037 assert(castIsValid(getOpcode(), S, Ty) && "Illegal BitCast");