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
196cedd0
Commit
196cedd0
authored
Jul 05, 1992
by
Richard Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
From-SVN: r1438
parent
a53d0bcc
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
47 additions
and
26 deletions
+47
-26
gcc/dbxout.c
+17
-18
gcc/final.c
+9
-0
gcc/jump.c
+17
-7
gcc/rtl.c
+2
-1
gcc/rtl.h
+2
-0
No files found.
gcc/dbxout.c
View file @
196cedd0
...
...
@@ -396,7 +396,7 @@ dbxout_init (asm_file, input_file_name, syms)
/* Put the current working directory in an N_SO symbol. */
#ifndef DBX_WORKING_DIRECTORY
/* Only some versions of DBX want this,
but GDB always does. */
if
(
use_g
db_dbx
_extensions
)
if
(
use_g
nu_debug_info
_extensions
)
#endif
{
if
(
cwd
||
(
cwd
=
getpwd
()))
...
...
@@ -552,7 +552,7 @@ dbxout_type_fields (type)
if
(
tem
!=
TYPE_FIELDS
(
type
))
CONTIN
;
if
(
use_g
db_dbx
_extensions
if
(
use_g
nu_debug_info
_extensions
&&
flag_minimal_debug
&&
TREE_CODE
(
tem
)
==
FIELD_DECL
&&
DECL_VIRTUAL_P
(
tem
)
...
...
@@ -572,7 +572,7 @@ dbxout_type_fields (type)
fprintf
(
asmfile
,
"%s:"
,
IDENTIFIER_POINTER
(
DECL_NAME
(
tem
)));
CHARS
(
2
+
IDENTIFIER_LENGTH
(
DECL_NAME
(
tem
)));
if
(
use_g
db_dbx
_extensions
if
(
use_g
nu_debug_info
_extensions
&&
(
TREE_PRIVATE
(
tem
)
||
TREE_PROTECTED
(
tem
)
||
TREE_CODE
(
tem
)
!=
FIELD_DECL
))
{
...
...
@@ -591,7 +591,7 @@ dbxout_type_fields (type)
if
(
TREE_CODE
(
tem
)
==
VAR_DECL
)
{
if
(
TREE_STATIC
(
tem
)
&&
use_g
db_dbx
_extensions
)
if
(
TREE_STATIC
(
tem
)
&&
use_g
nu_debug_info
_extensions
)
{
char
*
name
=
IDENTIFIER_POINTER
(
DECL_ASSEMBLER_NAME
(
tem
));
have_used_extensions
=
1
;
...
...
@@ -704,11 +704,10 @@ dbxout_type_methods (type)
type_identifier_length
=
IDENTIFIER_LENGTH
(
type_encoding
);
if
(
TREE_CODE
(
methods
)
==
FUNCTION_DECL
)
fndecl
=
methods
;
else
if
(
TREE_VEC_ELT
(
methods
,
0
)
!=
NULL_TREE
)
if
(
TREE_VEC_ELT
(
methods
,
0
)
!=
NULL_TREE
)
fndecl
=
TREE_VEC_ELT
(
methods
,
0
);
else
fndecl
=
TREE_VEC_ELT
(
methods
,
1
);
else
fndecl
=
TREE_VEC_ELT
(
methods
,
1
);
while
(
fndecl
)
{
...
...
@@ -1013,7 +1012,7 @@ dbxout_type (type, full, show_arg_types)
fprintf
(
asmfile
,
(
TREE_CODE
(
type
)
==
RECORD_TYPE
)
?
"s%d"
:
"u%d"
,
TREE_INT_CST_LOW
(
tem
));
if
(
use_g
db_dbx
_extensions
)
if
(
use_g
nu_debug_info
_extensions
)
{
if
(
n_baseclasses
)
{
...
...
@@ -1025,7 +1024,7 @@ dbxout_type (type, full, show_arg_types)
for
(
i
=
0
;
i
<
n_baseclasses
;
i
++
)
{
tree
child
=
TREE_VEC_ELT
(
BINFO_BASETYPES
(
TYPE_BINFO
(
type
)),
i
);
if
(
use_g
db_dbx
_extensions
)
if
(
use_g
nu_debug_info
_extensions
)
{
have_used_extensions
=
1
;
putc
(
TREE_VIA_VIRTUAL
(
child
)
?
'1'
...
...
@@ -1059,14 +1058,14 @@ dbxout_type (type, full, show_arg_types)
/* Write out the field declarations. */
dbxout_type_fields
(
type
);
if
(
use_g
db_dbx
_extensions
&&
TYPE_METHODS
(
type
)
!=
NULL_TREE
)
if
(
use_g
nu_debug_info
_extensions
&&
TYPE_METHODS
(
type
)
!=
NULL_TREE
)
{
have_used_extensions
=
1
;
dbxout_type_methods
(
type
);
}
putc
(
';'
,
asmfile
);
if
(
use_g
db_dbx
_extensions
&&
TREE_CODE
(
type
)
==
RECORD_TYPE
if
(
use_g
nu_debug_info
_extensions
&&
TREE_CODE
(
type
)
==
RECORD_TYPE
/* Avoid the ~ if we don't really need it--it confuses dbx. */
&&
TYPE_VFIELD
(
type
))
{
...
...
@@ -1127,7 +1126,7 @@ dbxout_type (type, full, show_arg_types)
break
;
case
METHOD_TYPE
:
if
(
use_g
db_dbx
_extensions
)
if
(
use_g
nu_debug_info
_extensions
)
{
have_used_extensions
=
1
;
putc
(
'#'
,
asmfile
);
...
...
@@ -1162,7 +1161,7 @@ dbxout_type (type, full, show_arg_types)
break
;
case
OFFSET_TYPE
:
if
(
use_g
db_dbx
_extensions
)
if
(
use_g
nu_debug_info
_extensions
)
{
have_used_extensions
=
1
;
putc
(
'@'
,
asmfile
);
...
...
@@ -1181,9 +1180,9 @@ dbxout_type (type, full, show_arg_types)
break
;
case
REFERENCE_TYPE
:
if
(
use_g
db_dbx
_extensions
)
if
(
use_g
nu_debug_info
_extensions
)
have_used_extensions
=
1
;
putc
(
use_g
db_dbx
_extensions
?
'&'
:
'*'
,
asmfile
);
putc
(
use_g
nu_debug_info
_extensions
?
'&'
:
'*'
,
asmfile
);
CHARS
(
1
);
dbxout_type
(
TREE_TYPE
(
type
),
0
,
0
);
break
;
...
...
@@ -1380,7 +1379,7 @@ dbxout_symbol (decl, local)
if
((
TREE_CODE
(
type
)
==
RECORD_TYPE
||
TREE_CODE
(
type
)
==
UNION_TYPE
)
&&
TYPE_NAME
(
type
)
==
decl
&&
!
(
use_g
db_dbx
_extensions
&&
have_used_extensions
)
&&
!
(
use_g
nu_debug_info
_extensions
&&
have_used_extensions
)
&&
!
TREE_ASM_WRITTEN
(
TYPE_NAME
(
type
)))
{
tree
name
=
TYPE_NAME
(
type
);
...
...
@@ -1407,7 +1406,7 @@ dbxout_symbol (decl, local)
||
TREE_CODE
(
type
)
==
UNION_TYPE
)
&&
TYPE_NAME
(
type
)
==
decl
)
{
if
(
use_g
db_dbx
_extensions
&&
have_used_extensions
)
if
(
use_g
nu_debug_info
_extensions
&&
have_used_extensions
)
{
putc
(
'T'
,
asmfile
);
TREE_ASM_WRITTEN
(
TYPE_NAME
(
type
))
=
1
;
...
...
gcc/final.c
View file @
196cedd0
...
...
@@ -1040,6 +1040,15 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
dwarfout_end_block
(
pending_blocks
[
block_depth
]);
#endif
}
else
if
(
NOTE_LINE_NUMBER
(
insn
)
==
NOTE_INSN_DELETED_LABEL
&&
(
debug_info_level
==
DINFO_LEVEL_NORMAL
||
debug_info_level
==
DINFO_LEVEL_VERBOSE
))
{
#ifdef DWARF_DEBUGGING_INFO
if
(
write_symbols
==
DWARF_DEBUG
)
dwarfout_label
(
insn
);
#endif
}
else
if
(
NOTE_LINE_NUMBER
(
insn
)
>
0
)
/* This note is a line-number. */
{
...
...
gcc/jump.c
View file @
196cedd0
...
...
@@ -2890,6 +2890,8 @@ delete_insn (insn)
{
register
rtx
next
=
NEXT_INSN
(
insn
);
register
rtx
prev
=
PREV_INSN
(
insn
);
register
int
was_code_label
=
(
GET_CODE
(
insn
)
==
CODE_LABEL
);
register
int
dont_really_delete
=
0
;
while
(
next
&&
INSN_DELETED_P
(
next
))
next
=
NEXT_INSN
(
next
);
...
...
@@ -2898,9 +2900,18 @@ delete_insn (insn)
if
(
INSN_DELETED_P
(
insn
))
return
next
;
/* Mark this insn as deleted. */
INSN_DELETED_P
(
insn
)
=
1
;
/* Don't delete user-declared labels. Convert them to special NOTEs
instead. */
if
(
was_code_label
&&
LABEL_NAME
(
insn
)
!=
0
)
{
PUT_CODE
(
insn
,
NOTE
);
NOTE_LINE_NUMBER
(
insn
)
=
NOTE_INSN_DELETED_LABEL
;
NOTE_SOURCE_FILE
(
insn
)
=
0
;
dont_really_delete
=
1
;
}
else
/* Mark this insn as deleted. */
INSN_DELETED_P
(
insn
)
=
1
;
/* If this is an unconditional jump, delete it from the jump chain. */
if
(
simplejump_p
(
insn
))
...
...
@@ -2917,7 +2928,7 @@ delete_insn (insn)
/* Patch out INSN (and the barrier if any) */
if
(
optimize
)
if
(
optimize
&&
!
dont_really_delete
)
{
if
(
prev
)
{
...
...
@@ -2964,7 +2975,7 @@ delete_insn (insn)
delete the dispatch table. The tablejump must have gone already.
It isn't useful to fall through into a table. */
if
(
GET_CODE
(
insn
)
==
CODE_LABEL
if
(
was_code_label
&&
NEXT_INSN
(
insn
)
!=
0
&&
GET_CODE
(
NEXT_INSN
(
insn
))
==
JUMP_INSN
&&
(
GET_CODE
(
PATTERN
(
NEXT_INSN
(
insn
)))
==
ADDR_VEC
...
...
@@ -2973,8 +2984,7 @@ delete_insn (insn)
/* If INSN was a label, delete insns following it if now unreachable. */
if
(
GET_CODE
(
insn
)
==
CODE_LABEL
&&
prev
&&
GET_CODE
(
prev
)
==
BARRIER
)
if
(
was_code_label
&&
prev
&&
GET_CODE
(
prev
)
==
BARRIER
)
{
register
RTX_CODE
code
;
while
(
next
!=
0
...
...
gcc/rtl.c
View file @
196cedd0
...
...
@@ -170,7 +170,8 @@ char *note_insn_name[] = { "NOTE_INSN_FUNCTION_BEG", "NOTE_INSN_DELETED",
"NOTE_INSN_LOOP_BEG"
,
"NOTE_INSN_LOOP_END"
,
"NOTE_INSN_FUNCTION_END"
,
"NOTE_INSN_SETJMP"
,
"NOTE_INSN_LOOP_CONT"
,
"NOTE_INSN_LOOP_VTOP"
,
"NOTE_INSN_PROLOGUE_END"
,
"NOTE_INSN_EPILOGUE_BEG"
};
"NOTE_INSN_PROLOGUE_END"
,
"NOTE_INSN_EPILOGUE_BEG"
,
"NOT_INSN_DELETED_LABEL"
};
char
*
reg_note_name
[]
=
{
""
,
"REG_DEAD"
,
"REG_INC"
,
"REG_EQUIV"
,
"REG_WAS_0"
,
"REG_EQUAL"
,
"REG_RETVAL"
,
"REG_LIBCALL"
,
...
...
gcc/rtl.h
View file @
196cedd0
...
...
@@ -340,6 +340,8 @@ extern char *reg_note_name[];
#define NOTE_INSN_PROLOGUE_END -10
/* This marks the point immediately prior to the first epilogue insn. */
#define NOTE_INSN_EPILOGUE_BEG -11
/* Generated in place of user-declared labels when they are deleted. */
#define NOTE_INSN_DELETED_LABEL -12
/* Don't forget to change note_insn_name in rtl.c. */
#define NOTE_DECL_NAME(INSN) ((INSN)->fld[3].rtstr)
...
...
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