2009-04-27 Zoltan Varga <vargaz@gmail.com>
+ * mini-llvm.c (mono_llvm_emit_method): Don't call LLVMGetParam on
+ a value.
+
+ * abcremoval.c (REPORT_ABC_REMOVAL): Don't output messages at verbose
+ level 1.
+
* mini-codegen.c (mono_local_regalloc): Prevent sreg1/dreg to be allocated
to the same register as a fixed sreg2. Fixes #497271.
#define TRACE_ABC_REMOVAL (verbose_level > 2)
-#define REPORT_ABC_REMOVAL (verbose_level > 0)
+#define REPORT_ABC_REMOVAL (verbose_level > 1)
/*
* A little hack for the verbosity level.
g_assert (ins->inst_offset % size == 0);
index = LLVMConstInt (LLVMInt32Type (), ins->inst_offset / size, FALSE);
- callee = convert (ctx, LLVMBuildLoad (builder, LLVMBuildGEP (builder, convert (ctx, values [ins->inst_basereg], LLVMPointerType (IntPtrType (), 0)), &index, 1, get_tempname (ctx)), get_tempname (ctx)), LLVMPointerType (llvm_sig, 0));
+ callee = convert (ctx, LLVMBuildLoad (builder, LLVMBuildGEP (builder, convert (ctx, values [ins->inst_basereg], LLVMPointerType (LLVMPointerType (IntPtrType (), 0), 0)), &index, 1, get_tempname (ctx)), get_tempname (ctx)), LLVMPointerType (llvm_sig, 0));
// FIXME: mono_arch_get_vcall_slot () can't decode the code
// generated by LLVM
} else if (ainfo->storage == LLVMArgVtypeByVal) {
g_assert (addresses [reg]);
args [pindex] = addresses [reg];
- /* Add the byval attribute */
- LLVMAddAttribute (LLVMGetParam (callee, pindex), LLVMByValAttribute);
pindexes [i] = pindex;
pindex ++;
} else {