Commit Graph

8 Commits

Author SHA1 Message Date
nickysn
8046826e4e + also allow x86 call ref for references that contain only non-imaginary registers (no infinite spilling problems there either)
git-svn-id: trunk@32290 -
2015-11-11 16:33:48 +00:00
nickysn
9de7830c8c + allow call ref on x86 for references that don't contain any registers, as the register allocator doesn't fail on them, if all registers are allocated
git-svn-id: trunk@32286 -
2015-11-11 15:58:10 +00:00
florian
fbda104d54 * do not use a_call_ref for procedures allocating all registers since it break spilling, see also issue #28639, resolves issue #28639
git-svn-id: trunk@31608 -
2015-09-11 20:56:05 +00:00
Jonas Maebe
81427523ab * pass a list of (pointers to) the paralocs to hlcgobj.a_call/g_call*, as
required for the LLVM support (LLVM parameter support is not yet
    included)
  * always return the function return loc from a_call*, again as required
    for the LLVM support

git-svn-id: branches/hlcgllvm@26992 -
2014-03-06 21:40:57 +00:00
sergei
9c1f917e3a * a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
+ x86 targets now directly call procedure variables located in references.
- a_call_ref method removed from tcg and thlcgobj.

git-svn-id: trunk@26666 -
2014-02-03 13:28:56 +00:00
Jonas Maebe
8b8a786823 * moved ARM/x86 ifdef'ed code from ncgcal to virtual methods
git-svn-id: trunk@24179 -
2013-04-07 13:42:06 +00:00
Jonas Maebe
e2e32fbbe9 * fixed temp leaking after release_unused_return_value_cpu() refactor:
renamed refactored routine to do_release_unused_return_value()
    which by default releases temps, and if something else needs to
    be done override (and call inherited if temps may have to be
    released)

git-svn-id: branches/jvmbackend@18327 -
2011-08-20 07:46:31 +00:00
Jonas Maebe
b837694207 * factored out releasing an unused return value into
release_unused_return_value_cpu(), so it can be cleanly
    overridden by cpu-specific code

git-svn-id: branches/jvmbackend@18322 -
2011-08-20 07:45:44 +00:00