summaryrefslogtreecommitdiff
path: root/backend/Coloring.v
diff options
context:
space:
mode:
Diffstat (limited to 'backend/Coloring.v')
-rw-r--r--backend/Coloring.v9
1 files changed, 8 insertions, 1 deletions
diff --git a/backend/Coloring.v b/backend/Coloring.v
index 6d34e2c..a23bf55 100644
--- a/backend/Coloring.v
+++ b/backend/Coloring.v
@@ -139,6 +139,13 @@ Fixpoint add_prefs_call
| _, _ => g
end.
+Definition add_prefs_builtin (ef: external_function)
+ (args: list reg) (res: reg) (g: graph) : graph :=
+ match ef, args with
+ | EF_annot_val txt targ, arg1 :: _ => add_pref arg1 res g
+ | _, _ => g
+ end.
+
Definition add_interf_entry
(params: list reg) (live: Regset.t) (g: graph): graph :=
List.fold_left (fun g r => add_interf_op r live g) params g.
@@ -184,7 +191,7 @@ Definition add_edges_instr
add_prefs_call args largs
(add_interf_call ros largs g)
| Ibuiltin ef args res s =>
- add_interf_op res live g
+ add_prefs_builtin ef args res (add_interf_op res live g)
| Ireturn (Some r) =>
add_pref_mreg r (loc_result sig) g
| _ => g