summaryrefslogtreecommitdiffhomepage
path: root/ir/be/bearch.h
diff options
context:
space:
mode:
authorMatthias Braun <matze@braunis.de>2015-08-16 17:29:01 +0200
committerMatthias Braun <matze@braunis.de>2015-08-21 17:18:59 +0200
commitc23ab8cd48a4d63a44ea9754c475cc69bf2e4414 (patch)
tree0dcdae8ec6514642e4c5406c5fc35ce18bbdbfd2 /ir/be/bearch.h
parent24512e427b720bf4309bb7305889b839be626500 (diff)
bearch: Introduce kills_value constraint and use it for ia32_fisttp
The kills value constraint indicated that the value in a register is modified after it is read. A copy is inserted if the value is still required after a kills_value use.
Diffstat (limited to 'ir/be/bearch.h')
-rw-r--r--ir/be/bearch.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/ir/be/bearch.h b/ir/be/bearch.h
index 0aee5a5..e995612 100644
--- a/ir/be/bearch.h
+++ b/ir/be/bearch.h
@@ -222,6 +222,9 @@ struct arch_register_req_t {
bool ignore : 1;
/** The registernumber should be aligned (in case of multiregister values)*/
bool aligned : 1;
+ /** The instructions modifies the value in the register in an unknown way,
+ * the value has to be copied if it is needed afterwards. */
+ bool kills_value : 1;
};
static inline bool reg_reqs_equal(const arch_register_req_t *req1,