On Oct 12, 2007, at 1:10 PM, Devang Patel wrote: > + // Destination pointer type is always i8 * > + if (Size == 8) > + NewPtrTy = PointerType::get(Type::Int64Ty); > + else if (Size == 4) > + NewPtrTy = PointerType::get(Type::Int32Ty); > + else if (Size == 2) > + NewPtrTy = PointerType::get(Type::Int16Ty); > + else if (Size == 1) > + NewPtrTy = PointerType::get(Type::Int8Ty);
How about: if (Size && Size <= 8 && (Size&(Size-1))) NewPtrTy = PointerType::get(IntegerType::get(Size)); If you don't like "(Size&(Size-1)", use MathExtras.h isPow2 methods. Thanks Devang, -Chris _______________________________________________ llvm-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
