Use ia32_copy_am_attrs() for splitting IMul reg, mem, imm and also reset base and...
[libfirm] / ir / opt / proc_cloning.c
index 62a2e5c..6c4b451 100644 (file)
@@ -50,7 +50,7 @@
 #include "irnode_t.h"
 #include "irtools.h"
 #include "irgmod.h"
-#include "array.h"
+#include "array_t.h"
 #include "xmalloc.h"
 
 /**
@@ -193,6 +193,10 @@ static void collect_irg_calls(ir_node *call, void *env) {
                if (get_entity_visibility(callee) == visibility_external_allocated)
                        return;
 
+               /* we cannot clone calls to weak functions */
+               if (get_entity_additional_properties(callee) & mtp_property_weak)
+                       return;
+
                process_call(call, callee, hmap);
        }
 }