search for: jl_value_t

Displaying 12 results from an estimated 12 matches for "jl_value_t".

2012 Jun 21
2
[LLVMdev] problem using 128-bit integer on x86-32
Hello everybody, I'm seeing LLVM (v 3.1) abort when trying to generate code that multiplies or divides 128-bit integers on x86-32. Here is a complete example function: define %jl_value_t* @foo564(%jl_value_t*, %jl_value_t**, i32) { top: %3 = load %jl_value_t** %1, align 4, !dbg !5139 %4 = getelementptr inbounds %jl_value_t* %3, i32 0, i32 0, !dbg !5139 %5 = getelementptr %jl_value_t** %4, i32 1, !dbg !5139 %6 = bitcast %jl_value_t** %5 to i128*, !dbg !5139 %7 = load i128*...
2012 Jun 22
0
[LLVMdev] problem using 128-bit integer on x86-32
...nes for dividing two 64-bit integers on x86-32, but not two 128-bit integers. At least, that is how it was last time I looked. To overcome this libgcc or LLVM's compiler-rt would need to get 128 bit division routines. Ciao, Duncan. > Here is a complete example function: > > define %jl_value_t* @foo564(%jl_value_t*, %jl_value_t**, i32) { > top: > %3 = load %jl_value_t** %1, align 4, !dbg !5139 > %4 = getelementptr inbounds %jl_value_t* %3, i32 0, i32 0, !dbg !5139 > %5 = getelementptr %jl_value_t** %4, i32 1, !dbg !5139 > %6 = bitcast %jl_value_t** %5 to i128*,...
2014 Jun 24
2
using C code to create data frame but always return as list
there is my code,  expect return value  is a data frame but R say it is list: SEXP Julia_R_MD_NA_DataFrame(jl_value_t* Var) {  SEXP ans,names,rownames;  char evalcmd[4096];  int i;  const char* dfname="DataFrameName0tmp";  jl_set_global(jl_main_module, jl_symbol(dfname), (jl_value_t*)Var);  //Get Frame cols   sprintf(evalcmd,"size(%s,2)",dfname);  jl_value_t* cols=jl_eval_string(evalcmd);  int...
2015 Jan 13
2
[LLVMdev] Floating-point range checks
...e used for passes that don’t address the case that I need for Julia. I’m now wondering if I’m better off extending SimplifyFCmpInst to handle the few cases in question instead of trying to be more general. Here’s an example case for Julia where a trivially true domain check should be removed: %jl_value_t = type {} @jl_domain_exception = external global %jl_value_t* declare void @jl_throw_with_superfluous_argument(%jl_value_t*, i32) declare float @llvm.sqrt.f32(float %Val) define float @julia_f_64805(float) { top: %1 = fmul float %0, %0 %2 = fcmp uge float %1, 0.000000e+00 br i1 %2,...
2015 Jan 08
2
[LLVMdev] Floating-point range checks
Yes, the modeling of floating-point is trickier. The wrap-around trick used by ConstantRange seems less applicable, and there are the unordered NaNs. Though in all cases, the key abstraction is a lattice of values, so an instance of FPRange should be thought of as a point on a lattice, not an interval. The lattice needs to be complicated enough the cover the cases of interest, but not so
2014 Jan 28
2
[LLVMdev] Weird msan problem
...ooking at where that value is coming from: (gdb) f 5 #5 0x00007f417c163e3d in jl_apply (f=0x606000984d60, f at entry=<optimized out>, args=0x7fff9132da20, args at entry=<optimized out>, nargs=1, nargs at entry=<optimized out>) at ./julia.h:1043 1043 return f->fptr((jl_value_t*)f, args, nargs); (gdb) p ((jl_array_t*)((void**)args[0])[1])->data $43 = (void *) 0x60c000607240 (gdb) p __msan_print_shadow(((jl_array_t*)((void**)args[0])[1]),0x30) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00...
2014 Jan 28
2
[LLVMdev] Weird msan problem
...gt;> (gdb) f 5 >> #5 0x00007f417c163e3d in jl_apply (f=0x606000984d60, f at entry=<optimized >> out>, args=0x7fff9132da20, args at entry=<optimized out>, nargs=1, >> nargs at entry=<optimized out>) at ./julia.h:1043 >> 1043 return f->fptr((jl_value_t*)f, args, nargs); >> (gdb) p ((jl_array_t*)((void**)args[0])[1])->data >> $43 = (void *) 0x60c000607240 >> (gdb) p __msan_print_shadow(((jl_array_t*)((void**)args[0])[1]),0x30) >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >> 00 00 00...
2014 Feb 01
2
[LLVMdev] Weird msan problem
...7f417c163e3d in jl_apply (f=0x606000984d60, f at entry >> =<optimized >> >> out>, args=0x7fff9132da20, args at entry=<optimized out>, nargs=1, >> >> nargs at entry=<optimized out>) at ./julia.h:1043 >> >> 1043 return f->fptr((jl_value_t*)f, args, nargs); >> >> (gdb) p ((jl_array_t*)((void**)args[0])[1])->data >> >> $43 = (void *) 0x60c000607240 >> >> (gdb) p __msan_print_shadow(((jl_array_t*)((void**)args[0])[1]),0x30) >> >> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00...
2014 Feb 02
2
[LLVMdev] Weird msan problem
...60, >>>> >> f at entry=<optimized >>>> >> out>, args=0x7fff9132da20, args at entry=<optimized out>, nargs=1, >>>> >> nargs at entry=<optimized out>) at ./julia.h:1043 >>>> >> 1043 return f->fptr((jl_value_t*)f, args, nargs); >>>> >> (gdb) p ((jl_array_t*)((void**)args[0])[1])->data >>>> >> $43 = (void *) 0x60c000607240 >>>> >> (gdb) p __msan_print_shadow(((jl_array_t*)((void**)args[0])[1]),0x30) >>>> >> 00 00 00 00 00 00 00 00...
2014 Feb 03
2
[LLVMdev] Weird msan problem
...t; f at entry=<optimized >> >>>> >> out>, args=0x7fff9132da20, args at entry=<optimized out>, nargs=1, >> >>>> >> nargs at entry=<optimized out>) at ./julia.h:1043 >> >>>> >> 1043 return f->fptr((jl_value_t*)f, args, nargs); >> >>>> >> (gdb) p ((jl_array_t*)((void**)args[0])[1])->data >> >>>> >> $43 = (void *) 0x60c000607240 >> >>>> >> (gdb) p >> >>>> >> __msan_print_shadow(((jl_array_t*)((void**)args[0]...
2014 Feb 05
2
[LLVMdev] Weird msan problem
...>> >>>> >> out>, args=0x7fff9132da20, args at entry=<optimized out>, >> nargs=1, >> >> >>>> >> nargs at entry=<optimized out>) at ./julia.h:1043 >> >> >>>> >> 1043 return f->fptr((jl_value_t*)f, args, nargs); >> >> >>>> >> (gdb) p ((jl_array_t*)((void**)args[0])[1])->data >> >> >>>> >> $43 = (void *) 0x60c000607240 >> >> >>>> >> (gdb) p >> >> >>>> >> __msan_print_s...
2014 Feb 07
2
[LLVMdev] Weird msan problem
...20, args at entry=<optimized out>, > >>> >> >>>> >> nargs=1, > >>> >> >>>> >> nargs at entry=<optimized out>) at ./julia.h:1043 > >>> >> >>>> >> 1043 return f->fptr((jl_value_t*)f, args, nargs); > >>> >> >>>> >> (gdb) p ((jl_array_t*)((void**)args[0])[1])->data > >>> >> >>>> >> $43 = (void *) 0x60c000607240 > >>> >> >>>> >> (gdb) p > >>> >> >...