From 3dfc8f0258ab0884eef50cc8f33b8666cdb4c3cf Mon Sep 17 00:00:00 2001 From: johannst Date: Mon, 20 Nov 2023 23:28:40 +0000 Subject: deploy: 4e3898b34a5dbcfabbcf861998d915c261831b60 --- src/llvm_kaleidoscope_rs/llvm/value.rs.html | 499 ++++++++++++++-------------- 1 file changed, 250 insertions(+), 249 deletions(-) (limited to 'src/llvm_kaleidoscope_rs/llvm/value.rs.html') diff --git a/src/llvm_kaleidoscope_rs/llvm/value.rs.html b/src/llvm_kaleidoscope_rs/llvm/value.rs.html index 102c957..c3015d8 100644 --- a/src/llvm_kaleidoscope_rs/llvm/value.rs.html +++ b/src/llvm_kaleidoscope_rs/llvm/value.rs.html @@ -1,253 +1,253 @@ -value.rs - source
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
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-141
-142
-143
-144
-145
-146
-147
-148
-149
-150
-151
-152
-153
-154
-155
-156
-157
-158
-159
-160
-161
-162
-163
-164
-165
-166
-167
-168
-169
-170
-171
-172
-173
-174
-175
-176
-177
-178
-179
-180
-181
-182
-183
-184
-185
-186
-187
-188
-189
-190
-191
-192
-193
-194
-195
-196
-197
-198
-199
-200
-201
-202
-203
-204
-205
-206
-207
-208
-209
-210
-211
-212
-213
-214
-215
-216
-217
-218
-219
-220
-221
-222
-223
-224
-225
-226
-227
-228
-229
-230
-231
-232
-233
-234
-235
-236
-237
-
#![allow(unused)]
+value.rs - source
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
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+
#![allow(unused)]
 
 use llvm_sys::{
     analysis::{LLVMVerifierFailureAction, LLVMVerifyFunction},
     core::{
         LLVMAddIncoming, LLVMAppendExistingBasicBlock, LLVMCountBasicBlocks, LLVMCountParams,
-        LLVMDumpValue, LLVMGetParam, LLVMGetReturnType, LLVMGetValueKind, LLVMGetValueName2,
+        LLVMDumpValue, LLVMGetParam, LLVMGetValueKind, LLVMGetValueName2, LLVMGlobalGetValueType,
         LLVMIsAFunction, LLVMIsAPHINode, LLVMSetValueName2, LLVMTypeOf,
     },
     prelude::LLVMValueRef,
     LLVMTypeKind, LLVMValueKind,
 };
-
 use std::ffi::CStr;
 use std::marker::PhantomData;
 use std::ops::Deref;
@@ -256,7 +256,7 @@
 use super::Type;
 
 /// Wrapper for a LLVM Value Reference.
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone)]
 #[repr(transparent)]
 pub struct Value<'llvm>(LLVMValueRef, PhantomData<&'llvm ()>);
 
@@ -272,7 +272,7 @@
     }
 
     /// Get the raw LLVM value reference.
-    #[inline]
+    #[inline]
     pub(super) fn value_ref(&self) -> LLVMValueRef {
         self.0
     }
@@ -349,7 +349,7 @@
 }
 
 /// Wrapper for a LLVM Value Reference specialized for contexts where function values are needed.
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone)]
 #[repr(transparent)]
 pub struct FnValue<'llvm>(Value<'llvm>);
 
@@ -376,13 +376,15 @@
         FnValue(value)
     }
 
-    /// Get a type reference representing the return value of the given function value.
+    /// Get a type reference representing the function type (return + args) of the given function
+    /// value.
     ///
     /// # Panics
     ///
     /// Panics if LLVM API returns a `null` pointer.
-    pub fn ret_type(&self) -> Type<'llvm> {
-        let type_ref = unsafe { LLVMGetReturnType(LLVMTypeOf(self.value_ref())) };
+    pub fn fn_type(&self) -> Type<'llvm> {
+        // https://github.com/llvm/llvm-project/issues/72798
+        let type_ref = unsafe { LLVMGlobalGetValueType(self.value_ref()) };
         Type::new(type_ref)
     }
 
@@ -427,7 +429,7 @@
 }
 
 /// Wrapper for a LLVM Value Reference specialized for contexts where phi values are needed.
-#[derive(Copy, Clone)]
+#[derive(Copy, Clone)]
 #[repr(transparent)]
 pub struct PhiValue<'llvm>(Value<'llvm>);
 
@@ -472,5 +474,4 @@
         }
     }
 }
-
-
\ No newline at end of file + \ No newline at end of file -- cgit v1.2.3