예제 #1
0
        protected override LLVMValueRef ValueAsTypeInternal(LLVMTypeRef type, LLVMBuilderRef builder, bool signExtend)
        {
            LLVMTypeRef  origLLVMType = ILImporter.GetLLVMTypeForTypeDesc(Type);
            LLVMValueRef value        = _importer.LoadTemp(LocalIndex, origLLVMType);

            return(ILImporter.CastIfNecessary(builder, value, type));
        }
예제 #2
0
 public LLVMValueRef ValueAsType(TypeDesc type, LLVMBuilderRef builder)
 {
     return(ValueAsType(ILImporter.GetLLVMTypeForTypeDesc(type), builder));
 }
예제 #3
0
 public override StackEntry Duplicate(LLVMBuilderRef builder)
 {
     return(new ExpressionEntry(Kind, "duplicate_" + Name, ILImporter.LoadValue(builder, RawLLVMValue, Type, ILImporter.GetLLVMTypeForTypeDesc(Type), false, "load_duplicate_" + Name), Type));
 }