This is the mail archive of the gcc@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]

Re: Automatic Parallelization & Graphite - future plans


> The most visible ongoing effort is the conversion from target macros
> to target hooks (which is incomplete). The goal was to allow "hot
> swapping" of backends.  This is still the most obvious, most complete,
> and least unappealing (from a technical POV) approach IMHO. But Kaveh
> showed at one point that the compile time penalty of even just the
> partial conversion done so far is a few percentage points (somewhere
> between 3% and 5%, I don't recall the details). And also it's not nice
> and easy work so nobody is working on it actively AFAIK.

It occurred to me at some point that using an indirect function call is
useless.  It would be much better to have, instead of the current
targetm.foo syntax, something like TARGET(foo); this would expand to
target_foo and be further remapped to the target hooks via aliases.
Just by swapping targ* files you could choose whether to use function
pointers if the target does not support aliases (or in the future if
multiple backends are desired), or regular functions in the other case.

Another problem is the mess of GO_IF_LEGITIMATE_ADDRESS and
REG_OK_FOR_{BASE,INDEX}_P.  These should be expressed as RTL constructs
and constraints in my opinion.  I had started a little work on that but
never got very far.

Paolo


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