+
+(** [is_global_constant gv] returns [true] if the global variabile [gv] is a
+ constant. Returns [false] otherwise.
+ See the method [llvm::GlobalVariable::isConstant]. **)
+external is_global_constant : llvalue -> bool = "llvm_is_global_constant"
+
+(** [set_global_constant c gv] sets the global variable [gv] to be a constant if
+ [c] is [true] and not if [c] is [false].
+ See the method [llvm::GlobalVariable::setConstant]. **)
+external set_global_constant : bool -> llvalue -> unit
+ = "llvm_set_global_constant"
+
+(** [has_initializer gv] returns [true] if the global variable [gv] has an
+ initializer and [false] otherwise.
+ See the method [llvm::GlobalVariable::hasInitializer]. **)
+external has_initializer : llvalue -> bool = "llvm_has_initializer"
+
+(** [global_initializer gv] returns the initializer for the global variable
+ [gv]. See the method [llvm::GlobalVariable::getInitializer]. **)