From 70041f8a33df7201dfb236cd0f37d16b390a94fa Mon Sep 17 00:00:00 2001
From: Richard Earnshaw <rearnsha@arm.com>
Date: Tue, 20 Oct 2009 15:17:30 +0000
Subject: [PATCH] re PR target/39247 (FAIL: gcc.dg/tree-prof/bb-reorg.c
 compilation,  -fprofile-use -D_PROFILE_USE)

	PR target/39247
	* arm.c (arm_override_options): Forcibly disable hot/cold block
	partitioning.

From-SVN: r153018
---
 gcc/ChangeLog        |  6 ++++++
 gcc/config/arm/arm.c | 10 ++++++++++
 2 files changed, 16 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 812dd1475f82..2a3bda14241a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2009-10-20  Richard Earnshaw  <rearnsha@arm.com>
+
+	PR target/39247
+	* arm.c (arm_override_options): Forcibly disable hot/cold block
+	partitioning.
+
 2009-10-20  Alexandre Oliva  <aoliva@redhat.com>
 
 	PR debug/41739
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index e013dc2f70f3..93c35901116a 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -1864,6 +1864,16 @@ arm_override_options (void)
         max_insns_skipped = 3;
     }
 
+  /* Hot/Cold partitioning is not currently supported, since we can't
+     handle literal pool placement in that case.  */
+  if (flag_reorder_blocks_and_partition)
+    {
+      inform (input_location,
+	      "-freorder-blocks-and-partition not supported on this architecture");
+      flag_reorder_blocks_and_partition = 0;
+      flag_reorder_blocks = 1;
+    }
+
   /* Ideally we would want to use CFI directives to generate
      debug info.  However this also creates the .eh_frame
      section, so disable them until GAS can handle
-- 
GitLab