-
Notifications
You must be signed in to change notification settings - Fork 10
/
PROBLEMS
127 lines (97 loc) · 3.09 KB
/
PROBLEMS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
LLVM 11.0
clone2.R
cloneFunction.R
cloneFunction3.R
simpleFun.R
insertElement.R
LLVM4.0
LLVM3.9
../explorations/fgets.Rdb - Need to specify the signature for Fgets when compiling readTo. Should be in the same module already??
clone2.R - depends on ../explorations/fgets.Rdb so fix that first.
FAILS:
meta1.R - abort via assertion
OKAY:
verify.R - aborts intentionally. And if the debug+assert calls abort() then the process dies.
WARNINGS:
globalSet.R - warning use setInitializer()
globalVarInit.R
WORKED-AROUND
metadata.R - Optimize. Works if we compileFunction(,optimize = FALSE)
PROBLEMS
globals.R - problem with RLLVMCompile part of this if enabled.
RUNS:
walkBlocks
meta.R
rw2d.Rdb - optimize, seg fault.
cumsum.Rdb - optimization seg fault.
xPlus1.Rdb - optimize, seg faults
extCall.Rdb - runs
optimize.R - reading bob.ll. Need to generate?? Where is bob ?
walkBlocks.R - segfaults if we compile the function our self. Optimization step? Different Code for 3.9 with FunctionPassManager and an AnalysisManager. In call to Optimize(). But if we read the fib.ll, it is fine.
tut2.R
emitCode.R -
byVal.R - Now an unused argument. was context issue
struct.R
globalVars.Rdb - error related to a constant.
stringPointer.R
rffiCall.Rdb - no R_checkNativePtr symbol but commented this out for now.
strings.Rdb
funcAttributes.R
metadataRaw.R"
byVal.R
setAttrs.R
emitCode.R
mkRFun.R
setGlobal.R
simplest.R
rw1.R
paramAttributes.R
tut1.R
moveInstructions.R
stringPointer2.R
parseAssembler.R
readBitcode.R
fpConstant.R
store.R
store1.R
store2.R
context.R
switch.R
types.R
ternary.R
writeBitcode.R
void.R
clone.R - NULL for routine to call.
ffi.R - NULL for routine being called in FFI
global.R -
mcjit.R - parseIR
jitevents.R - parseIR() again.
getUses.R - parseIR() issue again like ffi.R
mangle.R - but check it is doing what we want?
globalGet.R
globalArrays.R
bitWidth
datalayout
extCall.Rdb works and is far from trivial.
ffi2.R
gep.R
addOne.R - same as createGlobal.R
createGlobal.R - type issue again - see clone.R
The createRet() call returns a Value of type void!
The module is messed up with a ret in the second line but with
a store and load following it. There are two ret instructions.
Looks like the enums may be out of sync. No - just Add redefined as an enum.
-------------------
clone.R
clone2.R
mangle.R
meta.R
metadataRaw.R
verify.R
clone - getting the pointer to the routine in the cloned module yields NULL.
verify.R is intentionally broken. It exits when using the Debug+Assert build.
readBitcode.R depends on tut1.R and hard codes where it is run from and relies on experiments/ in the top-level directory!
paramAttributes.R - looks like a serious memory problem. Run with echo = TRUE and not and get an error or a segfault.
[Fixed with .llvmFFI()] tut1.R tut2.R writeBitcode.R optimize.R parseAssembler.R
cannot make the call to the function via run()
[Fixed] datalayout.R - for 3.7 onwards, the datalayout is on the stack, not a reference. So