Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
65e71cd6
Commit
65e71cd6
authored
Oct 13, 2004
by
Eric Botcazou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix incomplete commit.
From-SVN: r88986
parent
b9bf58e5
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
15 deletions
+16
-15
gcc/doc/tm.texi
+16
-15
No files found.
gcc/doc/tm.texi
View file @
65e71cd6
...
...
@@ -4374,7 +4374,7 @@ You need not define this macro if you did not define
@code{
DELAY_SLOTS_FOR_EPILOGUE
}
.
@end
defmac
@deftypefn
{
Target
Hook
}
void
TARGET_ASM_OUTPUT_MI_THUNK
(
FILE
*
@var{
file
}
,
tree
@var{
thunk_fndecl
}
,
HOST_WIDE_INT
@var{
delta
}
,
tree
@var{
function
}
)
@deftypefn
{
Target
Hook
}
void
TARGET_ASM_OUTPUT_MI_THUNK
(
FILE
*
@var{
file
}
,
tree
@var{
thunk_fndecl
}
,
HOST_WIDE_INT
@var{
delta
}
,
HOST_WIDE_INT
@var{
vcall_offset
}
,
tree
@var{
function
}
)
A
function
that
outputs
the
assembler
code
for
a
thunk
function
,
used
to
implement
C
++
virtual
function
calls
with
multiple
inheritance
.
The
thunk
acts
as
a
wrapper
around
a
virtual
function
,
...
...
@@ -4388,7 +4388,15 @@ in C++. This is the incoming argument @emph{before} the function prologue,
e
.
g
.
@
:
@samp
{
%
o0
}
on
a
sparc
.
The
addition
must
preserve
the
values
of
all
other
incoming
arguments
.
After
the
addition
,
emit
code
to
jump
to
@var
{
function
},
which
is
a
Then
,
if
@var
{
vcall_offset
}
is
nonzero
,
an
additional
adjustment
should
be
made
after
adding
@code
{
delta
}.
In
particular
,
if
@var
{
p
}
is
the
adjusted
pointer
,
the
following
adjustment
should
be
made
:
@smallexample
p
+=
(
*
((
ptrdiff_t
**
)
p
))[
vcall_offset
/
sizeof
(
ptrdiff_t
)]
@end
smallexample
After
the
additions
,
emit
code
to
jump
to
@var
{
function
},
which
is
a
@code
{
FUNCTION_DECL
}.
This
is
a
direct
pure
jump
,
not
a
call
,
and
does
not
touch
the
return
address
.
Hence
returning
from
@var
{
FUNCTION
}
will
return
to
whoever
called
the
current
@samp
{
thunk
}.
...
...
@@ -4408,19 +4416,12 @@ front end will generate a less efficient heavyweight thunk that calls
not
support
varargs
.
@end
deftypefn
@deftypefn
{
Target
Hook
}
void
TARGET_ASM_OUTPUT_MI_VCALL_THUNK
(
FILE
*
@var
{
file
},
tree
@var
{
thunk_fndecl
},
HOST_WIDE_INT
@var
{
delta
},
int
@var
{
vcall_offset
},
tree
@var
{
function
})
A
function
like
@code
{
TARGET_ASM_OUTPUT_MI_THUNK
},
except
that
if
@var
{
vcall_offset
}
is
nonzero
,
an
additional
adjustment
should
be
made
after
adding
@code
{
delta
}.
In
particular
,
if
@var
{
p
}
is
the
adjusted
pointer
,
the
following
adjustment
should
be
made
:
@smallexample
p
+=
(
*
((
ptrdiff_t
**
)
p
))[
vcall_offset
/
sizeof
(
ptrdiff_t
)]
@end
smallexample
@noindent
If
this
function
is
defined
,
it
will
always
be
used
in
place
of
@code
{
TARGET_ASM_OUTPUT_MI_THUNK
}.
@deftypefn
{
Target
Hook
}
bool
TARGET_ASM_CAN_OUTPUT_MI_THUNK
(
tree
@var
{
thunk_fndecl
},
HOST_WIDE_INT
@var
{
delta
},
HOST_WIDE_INT
@var
{
vcall_offset
},
tree
@var
{
function
})
A
function
that
returns
true
if
TARGET_ASM_OUTPUT_MI_THUNK
would
be
able
to
output
the
assembler
code
for
the
thunk
function
specified
by
the
arguments
it
is
passed
,
and
false
otherwise
.
In
the
latter
case
,
the
generic
approach
will
be
used
by
the
C
++
front
end
,
with
the
limitations
previously
exposed
.
@end
deftypefn
@node
Profiling
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment