This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/39247] FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use -D_PROFILE_USE



------- Comment #11 from rearnsha at gcc dot gnu dot org  2009-10-19 17:51 -------
(In reply to comment #9)
> Subject: Re:  FAIL: gcc.dg/tree-prof/bb-reorg.c compilation,
>   -fprofile-use -D_PROFILE_USE
> 
> On Mon, 19 Oct 2009, rearnsha at gcc dot gnu dot org wrote:
> 
> > I don't think there should be such notes on ARM due to the branch-range
> > limitation.  We can't arbitrarily jump between sections in Thumb state, for
> > example
> 
> Nowadays GNU ld supports generating long branch stubs on ARM.  It's 
> intended for calls in large programs, but shouldn't it be possible to get 
> the compiler to generate jumps between sections within a function that the 
> linker can then make use the long branch stubs if necessary?  (Given a 
> solution to the constant pools issue.)
> 

The compiler generated stubs are permitted to clobber registers that would not
normally be affected (namely IP), so we'd need to build that knowledge into the
compiler.  Actually, the manual suggests the compiler can deal with this
without the need for using the range-limited branches since it will generate
indirect jumps.

The literal-pool problem still needs to be solved though and that's
non-trivial.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39247


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]