[PATCH] Defined libcall_arg_t

Kamlesh Kumar kamleshbhalui@gmail.com
Sat Jun 13 10:17:14 GMT 2020


This is first patch where I have just defined a struct libcall_arg_t which contains
three member rtx, machine_mode and a boolean unsigned_p and will be used in passing args in
emit_library_[call/value] functions.

Once this patch is approved then i will create second patch in which arg type libcall_arg_t will be
propogated on all instances needed.
Then final patch which will fix the actual problem reported in PR88877.

ChangeLog Entry:

2020-06-13  Kamlesh Kumar  <kamleshbhalui@gmail.com>

       * rtl.h (libcall_arg_t): Defined.


---
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 0872cc4..c023ff0 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -2238,6 +2238,18 @@ struct address_info {
   enum rtx_code base_outer_code;
 };
 
+/* This is used for passing args in emit_library_* functions */
+typedef struct libcall_arg {
+  rtx value;
+  machine_mode mode;
+  bool unsigned_p;
+  libcall_arg (rtx v, machine_mode m, bool u) {
+    value = v;
+    mode = m;
+    unsigned_p = u;
+  }
+} libcall_arg_t;
+
 /* This is used to bundle an rtx and a mode together so that the pair
    can be used with the wi:: routines.  If we ever put modes into rtx
    integer constants, this should go away and then just pass an rtx in.  */
-- 
2.7.4



More information about the Gcc-patches mailing list