aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHariharan Sandanagobalane <hariharan@picochip.com>2010-09-29 14:36:53 +0000
committerHariharan Sandanagobalane <hariharans@gcc.gnu.org>2010-09-29 14:36:53 +0000
commit66dfc61020cc45ec6f611de0671f316c840131ee (patch)
tree09abea61c81e29ad29a25ac6eb0f60cf0c088d80
parent32a5388aeb343b2bd6524d35be6ed1ab469b3699 (diff)
downloadgcc-66dfc61020cc45ec6f611de0671f316c840131ee.zip
gcc-66dfc61020cc45ec6f611de0671f316c840131ee.tar.gz
gcc-66dfc61020cc45ec6f611de0671f316c840131ee.tar.bz2
picochip.c (picochip_output_internal_label): This function can now be called for debug CFI labels...
* config/picochip/picochip.c (picochip_output_internal_label): This function can now be called for debug CFI labels, which can come in the middle of a vliw instruction. Postpone until end of vliw. From-SVN: r164722
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/picochip/picochip.c12
2 files changed, 18 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bcc30b4..62bb6f6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2010-09-29 Hariharan Sandanagobalane <hariharan@picochip.com>
+
+ * config/picochip/picochip.c (picochip_output_internal_label):
+ This function can now be called for debug CFI labels, which can come in
+ the middle of a vliw instruction. Postpone until end of vliw.
+
2010-09-29 Richard Guenther <rguenther@suse.de>
* tree.h (SCOPE_FILE_SCOPE_P): New macro.
diff --git a/gcc/config/picochip/picochip.c b/gcc/config/picochip/picochip.c
index 9bd2382..1671c41 100644
--- a/gcc/config/picochip/picochip.c
+++ b/gcc/config/picochip/picochip.c
@@ -1637,6 +1637,18 @@ picochip_output_internal_label (FILE * stream, const char *prefix,
sprintf (picochip_current_vliw_state.lm_label_name,
"picoMark_%s%ld", prefix, num);
}
+ else if (picochip_schedule_type == DFA_TYPE_SPEED &&
+ (strcmp (prefix, "LCFI")) == 0 && picochip_vliw_continuation)
+ {
+ if (picochip_current_vliw_state.num_cfi_labels_deferred == 2)
+ {
+ internal_error ("LCFI labels have already been deferred.");
+ }
+ sprintf(picochip_current_vliw_state.cfi_label_name[
+ picochip_current_vliw_state.num_cfi_labels_deferred],
+ "picoMark_%s%ld", prefix, num);
+ picochip_current_vliw_state.num_cfi_labels_deferred++;
+ }
else
{
/* Marker label. */