diff --git a/include/llvm/ExecutionEngine/GenericValue.h b/include/llvm/ExecutionEngine/GenericValue.h index 8740b31391a..9a162cafcef 100644 --- a/include/llvm/ExecutionEngine/GenericValue.h +++ b/include/llvm/ExecutionEngine/GenericValue.h @@ -23,14 +23,10 @@ typedef uintptr_t PointerTy; union GenericValue { bool BoolVal; - unsigned char UByteVal; - signed char SByteVal; - unsigned short UShortVal; - signed short ShortVal; - unsigned int UIntVal; - signed int IntVal; - uint64_t ULongVal; - int64_t LongVal; + unsigned char Int8Val; + unsigned short Int16Val; + unsigned int Int32Val; + uint64_t Int64Val; double DoubleVal; float FloatVal; struct { unsigned int first; unsigned int second; } UIntPairVal; diff --git a/include/llvm/InstrTypes.h b/include/llvm/InstrTypes.h index 22b52c5f736..5e7be3253df 100644 --- a/include/llvm/InstrTypes.h +++ b/include/llvm/InstrTypes.h @@ -427,7 +427,7 @@ public: /// involving Integer and Pointer types. They are no-op casts if the integer /// is the same size as the pointer. However, pointer size varies with /// platform. Generally, the result of TargetData::getIntPtrType() should be - /// passed in. If that's not available, use Type::ULongTy, which will make + /// passed in. If that's not available, use Type::Int64Ty, which will make /// the isNoopCast call conservative. /// @brief Determine if this cast is a no-op cast. bool isNoopCast( diff --git a/include/llvm/Intrinsics.td b/include/llvm/Intrinsics.td index 3169c22a057..56f8925759d 100644 --- a/include/llvm/Intrinsics.td +++ b/include/llvm/Intrinsics.td @@ -65,14 +65,14 @@ class LLVMPackedType def llvm_void_ty : LLVMType; def llvm_bool_ty : LLVMType; -def llvm_sbyte_ty : LLVMType; -def llvm_short_ty : LLVMType; -def llvm_int_ty : LLVMType; -def llvm_long_ty : LLVMType; -def llvm_ubyte_ty : LLVMType; -def llvm_ushort_ty : LLVMType; -def llvm_uint_ty : LLVMType; -def llvm_ulong_ty : LLVMType; +def llvm_sbyte_ty : LLVMType; +def llvm_short_ty : LLVMType; +def llvm_int_ty : LLVMType; +def llvm_long_ty : LLVMType; +def llvm_ubyte_ty : LLVMType; +def llvm_ushort_ty : LLVMType; +def llvm_uint_ty : LLVMType; +def llvm_ulong_ty : LLVMType; def llvm_float_ty : LLVMType; def llvm_double_ty : LLVMType; def llvm_ptr_ty : LLVMType; // sbyte* diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index f3f4eda3b6a..2a353ba7e96 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -343,14 +343,10 @@ public: default: assert(0 && "Unknown type!"); case Type::VoidTyID: return MVT::isVoid; case Type::BoolTyID: return MVT::i1; - case Type::UByteTyID: - case Type::SByteTyID: return MVT::i8; - case Type::ShortTyID: - case Type::UShortTyID: return MVT::i16; - case Type::IntTyID: - case Type::UIntTyID: return MVT::i32; - case Type::LongTyID: - case Type::ULongTyID: return MVT::i64; + case Type::Int8TyID: return MVT::i8; + case Type::Int16TyID: return MVT::i16; + case Type::Int32TyID: return MVT::i32; + case Type::Int64TyID: return MVT::i64; case Type::FloatTyID: return MVT::f32; case Type::DoubleTyID: return MVT::f64; case Type::PointerTyID: return PointerTy; @@ -743,11 +739,16 @@ public: /// actual call. This returns a pair of operands. The first element is the /// return value for the function (if RetTy is not VoidTy). The second /// element is the outgoing token chain. - typedef std::vector > ArgListTy; + struct ArgListEntry { + SDOperand Node; + const Type* Ty; + bool isSigned; + }; + typedef std::vector ArgListTy; virtual std::pair - LowerCallTo(SDOperand Chain, const Type *RetTy, bool isVarArg, - unsigned CallingConv, bool isTailCall, SDOperand Callee, - ArgListTy &Args, SelectionDAG &DAG); + LowerCallTo(SDOperand Chain, const Type *RetTy, bool RetTyIsSigned, + bool isVarArg, unsigned CallingConv, bool isTailCall, + SDOperand Callee, ArgListTy &Args, SelectionDAG &DAG); /// LowerFrameReturnAddress - This hook lowers a call to llvm.returnaddress or /// llvm.frameaddress (depending on the value of the first argument). The