From: Xi Ruoyao <xry111@mengyan1223.wang>
To: Jeff Law <jeffreyalaw@gmail.com>, gcc-patches@gcc.gnu.org
Cc: Matthew Fortune <mfortune@gmail.com>
Subject: Re: [PATCH] testsuite: mips: use noinline attribute instead of -fno-inline
Date: Fri, 25 Jun 2021 21:21:17 +0800 [thread overview]
Message-ID: <c9bb63e1911b04d4d4de7ef3f1f8b11cd1766425.camel@mengyan1223.wang> (raw)
In-Reply-To: <9ae500112d9c23f025576c2443c639ba0d0bbc26.camel@mengyan1223.wang>
[-- Attachment #1: Type: text/plain, Size: 1519 bytes --]
On Fri, 2021-06-25 at 01:02 +0800, Xi Ruoyao wrote:
> On Thu, 2021-06-24 at 10:48 -0600, Jeff Law wrote:
> > I'd like to know a bit more here. mips.exp shouldn't care about the
> > options passed to the compiler and to the best of my knowledge
> > patch itself is wrong, I question if it's necessary and whether or
> > not
> > your just papering over some other issue.
>
> There is some logic processing options in mips.exp. Some options are
> overrided for multilib. It seems the mips.exp was originally designed
> as:
>
> * MIPS options should go in dg-options
> * Other options should go in dg-additional-options
>
> In d2148424165 marxin merged some dg-additional-options into dg-
> options,
> exploited the problem.
>
> And, the "origin" convention seems already broken: there is something
> like -funroll-loops which is not a MIPS option, but accepted by
> mips.exp
> in dg-options.
>
> Possiblities are:
>
> (1) this patch
> (2) make mips.exp accept -fno-inline as "if it is a MIPS option"
> (3) refactor mips.exp to pass everything itself doesn't know directly
> to gcc
Attached a diff for mips.exp trying to make it pass everything in dg-
options which is not known by itself directly to the compiler.
The "smallest fix" is simply adding -fno-inline into mips.exp. However
I don't like it because I agree with you that mips.exp shouldn't care
about dg-options, at least don't do it too much.
--
Xi Ruoyao <xry111@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University
[-- Attachment #2: mips-exp.diff --]
[-- Type: text/x-patch, Size: 3415 bytes --]
diff --git a/gcc/testsuite/gcc.target/mips/mips.exp b/gcc/testsuite/gcc.target/mips/mips.exp
index 01292316944..3ffcab551be 100644
--- a/gcc/testsuite/gcc.target/mips/mips.exp
+++ b/gcc/testsuite/gcc.target/mips/mips.exp
@@ -247,7 +247,6 @@ set mips_option_groups {
mips3d "-mips3d|-mno-mips3d"
pic "-f(no-|)(pic|PIC)"
cb "-mcompact-branches=.*"
- profiling "-pg"
small-data "-G[0-9]+"
warnings "-w"
dump "-fdump-.*"
@@ -315,30 +314,6 @@ foreach option {
lappend mips_option_groups $option "-m$option=.*"
}
-# Add -ffoo/-fno-foo options to mips_option_groups.
-foreach option {
- common
- delayed-branch
- expensive-optimizations
- fast-math
- fat-lto-objects
- finite-math-only
- fixed-hi
- fixed-lo
- lax-vector-conversions
- omit-frame-pointer
- optimize-sibling-calls
- peephole2
- schedule-insns2
- split-wide-types
- tree-vectorize
- unroll-all-loops
- unroll-loops
- ipa-ra
-} {
- lappend mips_option_groups $option "-f(no-|)$option"
-}
-
# A list of option groups that have an impact on the ABI.
set mips_abi_groups {
abi
@@ -571,6 +546,10 @@ proc mips_original_option { group } {
proc mips_test_option_p { upstatus group } {
upvar $upstatus status
+ if {[ string equal $group "" ]} {
+ return 0
+ }
+
return $status(test_option_p,$group)
}
@@ -620,7 +599,12 @@ proc mips_have_test_option_p { upstatus option } {
proc mips_make_test_option { upstatus option args } {
upvar $upstatus status
- set group [mips_option_group $option]
+ set group [mips_option_maybe_group $option]
+ if { [string equal $group ""] } {
+ lappend status(raw_option) $option
+ return
+ }
+
if { ![mips_test_option_p status $group] } {
set status(option,$group) $option
set status(test_option_p,$group) 1
@@ -741,6 +725,7 @@ proc mips-dg-init {} {
# Start with a fresh option status.
array unset mips_base_options
+ set mips_base_options(raw_option) {}
foreach { group regexp } $mips_option_groups {
set mips_base_options(option,$group) ""
set mips_base_options(explicit_p,$group) 0
@@ -1016,7 +1001,7 @@ proc mips-dg-options { args } {
# Record the options that this test explicitly needs.
foreach option [lindex $args 1] {
set all_but_p [regexp {^\((.*)\)$} $option dummy option]
- set group [mips_option_group $option]
+ set group [mips_option_maybe_group $option]
if { [mips_test_option_p options $group] } {
set old [mips_option options $group]
error "Inconsistent $group option: $old vs. $option"
@@ -1025,10 +1010,6 @@ proc mips-dg-options { args } {
}
}
- # Handle dependencies between the test options and the optimization ones.
- mips_option_dependency options "-fno-unroll-loops" "-fno-unroll-all-loops"
- mips_option_dependency options "-pg" "-fno-omit-frame-pointer"
-
# Handle dependencies between options on the left of the
# dependency diagram.
mips_option_dependency options "-mips16" "-mno-micromips"
@@ -1505,6 +1486,10 @@ proc mips-dg-options { args } {
}
}
+ foreach { opt } $options(raw_option) {
+ append extra_tool_flags " " $opt
+ }
+
# If the test is marked as requiring standard libraries check
# that the sysroot has support for the current set of test options.
if { [mips_have_test_option_p options "REQUIRES_STDLIB"] } {
next prev parent reply other threads:[~2021-06-25 13:21 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-22 7:05 Xi Ruoyao
2021-06-24 16:48 ` Jeff Law
2021-06-24 17:02 ` Xi Ruoyao
2021-06-25 11:13 ` Richard Sandiford
2021-06-25 13:21 ` Xi Ruoyao [this message]
2021-06-25 14:40 ` Richard Sandiford
2021-07-08 23:44 ` Jeff Law
2021-07-09 6:42 ` Xi Ruoyao
2021-07-09 11:16 ` Richard Sandiford
2021-07-23 2:21 ` Maciej W. Rozycki
2021-07-23 3:18 ` Xi Ruoyao
2021-07-23 6:01 ` Xi Ruoyao
2021-07-26 13:55 ` Richard Sandiford
2021-07-26 15:02 ` Maciej W. Rozycki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c9bb63e1911b04d4d4de7ef3f1f8b11cd1766425.camel@mengyan1223.wang \
--to=xry111@mengyan1223.wang \
--cc=gcc-patches@gcc.gnu.org \
--cc=jeffreyalaw@gmail.com \
--cc=mfortune@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).