File tree Expand file tree Collapse file tree 3 files changed +28
-1
lines changed Expand file tree Collapse file tree 3 files changed +28
-1
lines changed Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ refs/heads/building: 126db549b038c84269a1e4fe46f051b2c15d6970
32
32
refs/heads/beta: 9854143cba679834bc4ef932858cd5303f015a0e
33
33
refs/heads/windistfix: 7608dbad651f02e837ed05eef3d74a6662a6e928
34
34
refs/tags/1.0.0-alpha: e42bd6d93a1d3433c486200587f8f9e12590a4d7
35
- refs/heads/tmp: 7875dae83fac23fdf59765eb548c2237850d6b15
35
+ refs/heads/tmp: 2e93e386fd228176aeb1100bfdf961bdae2b51b9
36
36
refs/tags/1.0.0-alpha.2: 4c705f6bc559886632d3871b04f58aab093bfa2f
37
37
refs/tags/homu-tmp: 53a183f0274316596bf9405944d4f0468d8c93e4
38
38
refs/heads/gate: 97c84447b65164731087ea82685580cc81424412
Original file line number Diff line number Diff line change @@ -1976,6 +1976,7 @@ extern {
1976
1976
pub fn LLVMIsAArgument ( value_ref : ValueRef ) -> ValueRef ;
1977
1977
1978
1978
pub fn LLVMIsAAllocaInst ( value_ref : ValueRef ) -> ValueRef ;
1979
+ pub fn LLVMIsAConstantInt ( value_ref : ValueRef ) -> ValueRef ;
1979
1980
1980
1981
pub fn LLVMInitializeX86TargetInfo ( ) ;
1981
1982
pub fn LLVMInitializeX86Target ( ) ;
Original file line number Diff line number Diff line change @@ -963,6 +963,32 @@ pub fn const_to_uint(v: ValueRef) -> u64 {
963
963
}
964
964
}
965
965
966
+ fn is_const_integral ( v : ValueRef ) -> bool {
967
+ unsafe {
968
+ !llvm:: LLVMIsAConstantInt ( v) . is_null ( )
969
+ }
970
+ }
971
+
972
+ pub fn const_to_opt_int ( v : ValueRef ) -> Option < i64 > {
973
+ unsafe {
974
+ if is_const_integral ( v) {
975
+ Some ( llvm:: LLVMConstIntGetSExtValue ( v) )
976
+ } else {
977
+ None
978
+ }
979
+ }
980
+ }
981
+
982
+ pub fn const_to_opt_uint ( v : ValueRef ) -> Option < u64 > {
983
+ unsafe {
984
+ if is_const_integral ( v) {
985
+ Some ( llvm:: LLVMConstIntGetZExtValue ( v) )
986
+ } else {
987
+ None
988
+ }
989
+ }
990
+ }
991
+
966
992
pub fn is_undef ( val : ValueRef ) -> bool {
967
993
unsafe {
968
994
llvm:: LLVMIsUndef ( val) != False
You can’t perform that action at this time.
0 commit comments