On Fri, 14 Feb 2025 at 05:01, Jerry D via Gcc wrote:
>
> Does anyone know what this is about?
>
> $ git gcc-verify
> Checking 918fcaf0cbf833063c45805ef893cfa2c9ebc875: OK
N.B. it works fine, the line above is the expected output. It just
lets you know that something was ignored in the asynchronou
Does anyone know what this is about?
$ git gcc-verify
Checking 918fcaf0cbf833063c45805ef893cfa2c9ebc875: OK
Exception ignored in:
Traceback (most recent call last):
File "/usr/lib/python3.13/site-packages/git/cmd.py", line 563, in __del__
File "/usr/lib/python3.13/site-packages/git/cmd.py",
Hi Florian,
Thank you very much for your reply.
This is not related to ELF. What I am trying to do is simply obtain
the 'Derived' type node from the parameter that is retrieved via the
'__dynamic_cast' call.
I believe this should be a relatively simple coding problem. However,
I am not very fami
* Hanke Zhang via Gcc:
> I have recently been delving into optimizing dynamic_cast calls in C++
> within the context of GIMPLE code. In particular, for scenarios
> involving single inheritance, I'm aiming to convert the following
> code:
>
> _1 = __dynamic_cast (obj_1(D), &_ZTI7Base, &_ZTI10Derive
Hi,
I have recently been delving into optimizing dynamic_cast calls in C++
within the context of GIMPLE code. In particular, for scenarios
involving single inheritance, I'm aiming to convert the following
code:
_1 = __dynamic_cast (obj_1(D), &_ZTI7Base, &_ZTI10Derived, 0);
if (_1!= 0B)
into a mo
IIRC, the reason is that, under strict alignment, it can be assumed
that accessing subfields of an aligned datatype won't cross a boundary
that would cause the high part to change, thus requiring a different
LUI instruction for the subfield access. Under non-strict alignment,
this assumption doesn
Hi,
When -mstrict-align was added for RISC-V, there was a change for
riscv_valid_lo_sum_p:
@@ -726,7 +733,8 @@ riscv_valid_lo_sum_p (enum riscv_symbol_type
sym_type, enum
machine_mode mode)
/* We may need to split multiword moves, so make sure that each word
can be accessed without indu
Hello
I’m Olive and I run an advanced AI service called ZeroGPT's Citation Generator
: https://www.ZeroGPT.com/Citation-Generator
ZeroGPT's Word Counter is a Free and revolutionary tool to an innovative tool
designed to effortlessly track and analyze word usage in your documents. With
its us
Hello,
On Wed, Sep 11 2024, Prachi Godbole via Gcc wrote:
> Hi,
>
> I am trying to generate out-of-line clones of ipcp clones for an IPA
> pass that runs after IPA inline, where the new clone has same function
> body and same updated signature as the ipcp clone. This fails or
> asserts based on ho
On Okt 10 2024, Florian Weimer wrote:
> * Laurent Cimon via Gcc:
>
>> I realize that compilers have evolved with time, and that many
>> things required the use of function prototypes, but my question is,
>> what is the historical reason that a function defined further do
* Laurent Cimon via Gcc:
> I realize that compilers have evolved with time, and that many
> things required the use of function prototypes, but my question is,
> what is the historical reason that a function defined further down
> in a C file cannot be used without a function prototyp
assmates, so this
is an opportunity to settle the question for many people.
I realize that compilers have evolved with time, and that many things required
the use of function prototypes, but my question is, what is the historical
reason that a function defined further down in a C file cannot be u
Hi,
I am trying to generate out-of-line clones of ipcp clones for an IPA pass that
runs after IPA inline, where the new clone has same function body and same
updated signature as the ipcp clone. This fails or asserts based on how the
clone is created:
1. If param_adjustments and tree_map are n
On Sat, Jul 13, 2024 at 9:38 AM Hanke Zhang via Gcc wrote:
>
> Hi,
>
> I'm attempting to enable more flags in Ofast, but I've encountered some
> issues.
I suspect you need to handle this in the driver specs instead of in
opts.cc. Since -flto-partition=one is more of a global flag rather
than an
Hi,
I'm attempting to enable more flags in Ofast, but I've encountered some issues.
For instance, if I want to add -flto-partition=one to Ofast, here is
the modification I made to opts.cc
/* -Ofast adds optimizations to -O3. */
{ OPT_LEVELS_FAST, OPT_ffast_math, NULL, 1 },
{ OPT_LEVELS_FAST, OP
Hi Richard,
Thanks for your reply. I'm looking forward to hearing from Honza!
But I still have a small question about the IPA passes. If I want to
make such a conversion (sum += foo[i].add == add ? add (1,2) :
foo[i].add (1,2);), I definitely need to change the function's body.
But t
On Wed, Jun 12, 2024 at 11:57 AM Hanke Zhang wrote:
>
> Richard Biener 于2024年5月24日周五 14:39写道:
> >
> > On Fri, May 24, 2024 at 5:53 AM Hanke Zhang via Gcc wrote:
> > >
> > > Hi,
> > > I got a question about optimizing function pointers for direct
&g
Richard Biener 于2024年5月24日周五 14:39写道:
>
> On Fri, May 24, 2024 at 5:53 AM Hanke Zhang via Gcc wrote:
> >
> > Hi,
> > I got a question about optimizing function pointers for direct
> > function calls in C.
> >
> > Consider the following scenario: one of t
On Fri, May 31, 2024 at 4:59 AM Hanke Zhang via Gcc wrote:
>
> Hi,
> I've recently been trying to hand-write code to trigger automatic
> vectorization optimizations in GCC on Intel x86 machines (without
> using the interfaces in immintrin.h), but I'm running into a problem
> where I can't seem to
On Fri, May 31, 2024 at 10:58 AM Hanke Zhang via Gcc wrote:
>
> Hi,
> I've recently been trying to hand-write code to trigger automatic
> vectorization optimizations in GCC on Intel x86 machines (without
> using the interfaces in immintrin.h), but I'm running into a problem
> where I can't seem to
Hi,
I've recently been trying to hand-write code to trigger automatic
vectorization optimizations in GCC on Intel x86 machines (without
using the interfaces in immintrin.h), but I'm running into a problem
where I can't seem to get the concise `vpmovzxbd` or similar
instructions.
My requirement is
Hi Biener,
Thanks for your help!
I have already open a bugreport here
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115252.
Thanks
Hanke Zhang
Richard Biener 于2024年5月27日周一 21:14写道:
>
> On Sat, May 25, 2024 at 3:08 PM Hanke Zhang via Gcc wrote:
> >
> > Hi,
> > I'm trying to studing the automati
On Sat, May 25, 2024 at 3:08 PM Hanke Zhang via Gcc wrote:
>
> Hi,
> I'm trying to studing the automatic vectorization optimization in GCC,
> but I found one case that SLP vectorizer failed to do such things.
>
> Here is the sample code: (also a simplification version of a function
> from the 625/
Hi,
I'm trying to studing the automatic vectorization optimization in GCC,
but I found one case that SLP vectorizer failed to do such things.
Here is the sample code: (also a simplification version of a function
from the 625/525.x264 source code in SPEC CPU 2017)
void pixel_sub_wxh(int16_t *diff,
On 5/23/24 9:51 PM, Hanke Zhang via Gcc wrote:
Hi,
I got a question about optimizing function pointers for direct
function calls in C.
Consider the following scenario: one of the fields of a structure is a
function pointer, and all its assignments come from the same function.
Can all its
On Fri, May 24, 2024 at 5:53 AM Hanke Zhang via Gcc wrote:
>
> Hi,
> I got a question about optimizing function pointers for direct
> function calls in C.
>
> Consider the following scenario: one of the fields of a structure is a
> function pointer, and all its assignmen
Hi,
I got a question about optimizing function pointers for direct
function calls in C.
Consider the following scenario: one of the fields of a structure is a
function pointer, and all its assignments come from the same function.
Can all its uses be replaced by direct calls to this function? So
> On 30 Apr 2024, at 08:33, Iain Sandoe wrote:
>
> Hi,
>
>> On 30 Apr 2024, at 00:39, Andrew Pinski via Gcc wrote:
>>
>> On Mon, Apr 29, 2024 at 4:26 PM Lucier, Bradley J via Gcc
>> wrote:
>>>
>>> The question: How to interpr
Hi,
> On 30 Apr 2024, at 00:39, Andrew Pinski via Gcc wrote:
>
> On Mon, Apr 29, 2024 at 4:26 PM Lucier, Bradley J via Gcc
> wrote:
>>
>> The question: How to interpret scheduling info with the compiler listed
>> below.
>>
>> Specifically, a tight
On Mon, Apr 29, 2024 at 4:26 PM Lucier, Bradley J via Gcc
wrote:
>
> The question: How to interpret scheduling info with the compiler listed below.
>
> Specifically, a tight loop that was reported to be scheduled in 23 cycles (as
> I understand it) actually executes in a little ov
That should be 4 cycles per loop, sorry.
> On Apr 29, 2024, at 7:24 PM, Lucier, Bradley J wrote:
>
> Specifically, a tight loop that was reported to be scheduled in 23 cycles (as
> I understand it) actually executes in a little over 2 cycles per loop
The question: How to interpret scheduling info with the compiler listed below.
Specifically, a tight loop that was reported to be scheduled in 23 cycles (as I
understand it) actually executes in a little over 2 cycles per loop, as I
interpret two separate experiments.
Am I misinterpreting
On Tue, Apr 9, 2024 at 4:42 AM Hanke Zhang via Gcc wrote:
>
> Hi Marc,
>
> Thanks for your reply.
>
> I want to create a new type similar to this one `(const __m256i_u *
> {ref-all})` indeed. And I try to create it via these calls:
>
> tree type = build_vector_type_for_mode (intDI_type_node, V4DIm
Hi Marc,
Thanks for your reply.
I want to create a new type similar to this one `(const __m256i_u *
{ref-all})` indeed. And I try to create it via these calls:
tree type = build_vector_type_for_mode (intDI_type_node, V4DImode);
tree type_p = build_pointer_type_for_mode(type, VOIDmode, true);
Bu
On Mon, 8 Apr 2024, Hanke Zhang via Gcc wrote:
Hi,
I've been working on strengthening auto-vectorization on intel CPUs
recently. I tried to do it in the GIMPLE pass. And I noticed that some
vector types in the GIMPLE code are confusing to me. The example code
is here:
_1 = MEM[(const __m256i_u
Hi,
I've been working on strengthening auto-vectorization on intel CPUs
recently. I tried to do it in the GIMPLE pass. And I noticed that some
vector types in the GIMPLE code are confusing to me. The example code
is here:
_1 = MEM[(const __m256i_u * {ref-all})_2];
I wondered how I could construct
> On Tue, Apr 2, 2024 at 11:14 AM Thor Preimesberger via Gcc
> >> wrote:
> >> >
> >> > Forgot to CC the mailing list - mea culpa.
> >> >
> >> > -- Forwarded message -
> >> > From: Thor Preimesberger
> &g
pa.
>> >
>> > -- Forwarded message -
>> > From: Thor Preimesberger
>> > Date: Tue, Apr 2, 2024 at 5:57 PM
>> > Subject: Re: [GSoC] Application RFC + Question - GENERIC dump
>> > To: Richard Biener
>> >
>> >
>> > Tha
> > Date: Tue, Apr 2, 2024 at 5:57 PM
> > Subject: Re: [GSoC] Application RFC + Question - GENERIC dump
> > To: Richard Biener
> >
> >
> > Thanks for the quick feedback, especially on such short notice - I'll
> > get the actual GSoC application in, within
On Tue, Apr 2, 2024 at 11:14 AM Thor Preimesberger via Gcc
wrote:
>
> Forgot to CC the mailing list - mea culpa.
>
> -- Forwarded message -
> From: Thor Preimesberger
> Date: Tue, Apr 2, 2024 at 5:57 PM
> Subject: Re: [GSoC] Application RFC + Question - GENER
Forgot to CC the mailing list - mea culpa.
-- Forwarded message -
From: Thor Preimesberger
Date: Tue, Apr 2, 2024 at 5:57 PM
Subject: Re: [GSoC] Application RFC + Question - GENERIC dump
To: Richard Biener
Thanks for the quick feedback, especially on such short notice - I
the application I've written is below.
Thank you for the interest in this project.
> A quick question before though:
>
> - What would the expected use cases of the proposed
> -fdump-generic-nodes option be, in addition to, presumably, writing
> front ends into gcc?
Hello,
I'm reaching out because I've got a major issue. There's this unexpected charge
on my credit card, and it turns out, it's linked to a transaction on your
service. Now, get this: I talked to Stripe Processing, and they were like,
"Yep, the payment went through our site, and you've got to
Hi Thomas!
Thanks for your reply. That's exactly what I'm missing. When I add
varpool_node::finalize_decl() to my code, everything works fine!
Thomas Schwinge 于2023年12月16日周六 01:15写道:
>
> Hi Hanke!
>
> On 2023-12-13T17:04:57+0800, Hanke Zhang via Gcc wrote:
> > Hi, I'm trying to create a global
Hi Hanke!
On 2023-12-13T17:04:57+0800, Hanke Zhang via Gcc wrote:
> Hi, I'm trying to create a global variable in my own PASS which
> located at the LATE_IPA_PASSES. (I'm using GCC 10.3.0.)
I can't comment on IPA aspects, or whether something was different on
oldish GCC 10 (why using that one, b
Hi, I'm trying to create a global variable in my own PASS which
located at the LATE_IPA_PASSES. (I'm using GCC 10.3.0.)
And after creating it, I added the attributes like the following.
// 1. create the var
tree new_name = get_identifier (xx);
tree new_type = build_pointer_type (xx);
tree new_var
Hi, I'm working on loop tiling recently. I want to add this
optimization to GCC. But I have encoutered some problems here and ask
for help.
For the code below as an example:
for (int i = 0; i < 12; i++) {
for (int j = 0; j < arr.length; j++) { // arr.length may be huge
// do something with
Hi, I've been working on vectorization-related optimization lately.
GCC seems to have some optimization vulnerabilities. I would like to
ask if it can be solved.
For example, for the following program using AVX2:
#include
// reg->node2[i].state is an unsigned long long variable
// reg->size is a
Hi, I recently ran into an inline-related issue and would like to ask
about it. This is about the ipa-inline.
I'd like to make my function be inlined, but it trapped in the
function 'want_inline_small_function_p', more specificly, in the
conditional statement 'growth_positive_p (callee, e, growth)
On Wed, Nov 1, 2023 at 5:01 PM Andrew Pinski via Gcc wrote:
>
> On Wed, Nov 1, 2023 at 3:56 AM Daniil Frolov wrote:
> >
> > Hi!
> >
> > When investigating bit shifts I got an incomprehensible moment with
> > the following example:
> >
> > int f(int x, int k)
> > {
> > int tmp = x >> k;
> >
On Wed, Nov 1, 2023 at 11:12 AM Hanke Zhang via Gcc wrote:
>
> Hi
>
> I've been working on function splits recently, and I've noticed that
> functions with va_args arguments won't be split, so why is that? I
> tried to understand the comments in the source code, but I still don't
> get the specifi
On Wed, Nov 1, 2023 at 3:56 AM Daniil Frolov wrote:
>
> Hi!
>
> When investigating bit shifts I got an incomprehensible moment with
> the following example:
>
> int f(int x, int k)
> {
> int tmp = x >> k;
> return (tmp & 1) << 10;
> }
>
> If we would like to take a look into GIMPLE then
Hi
I've been working on function splits recently, and I've noticed that
functions with va_args arguments won't be split, so why is that? I
tried to understand the comments in the source code, but I still don't
get the specific reason.
At the same time, if I do want to split functions with va_args
Hi!
When investigating bit shifts I got an incomprehensible moment with
the following example:
int f(int x, int k)
{
int tmp = x >> k;
return (tmp & 1) << 10;
}
If we would like to take a look into GIMPLE then we'll get:
int f (int x, int k)
{
int tmp;
int D.2746;
int _1;
int _
../../gcc/tree-if-conv.cc:3549
>
> Richard Biener 于2023年10月25日周三 23:40写道:
> >
> >
> >
> > > Am 25.10.2023 um 17:25 schrieb Hanke Zhang via Gcc :
> > >
> > > Hi, I got a gimple relative question.
> > >
> > > I'm trying
3d execute
../../gcc/tree-if-conv.cc:3549
Richard Biener 于2023年10月25日周三 23:40写道:
>
>
>
> > Am 25.10.2023 um 17:25 schrieb Hanke Zhang via Gcc :
> >
> > Hi, I got a gimple relative question.
> >
> > I'm trying to replace the .MASK_STORE with a ternary expres
> Am 25.10.2023 um 17:25 schrieb Hanke Zhang via Gcc :
>
> Hi, I got a gimple relative question.
>
> I'm trying to replace the .MASK_STORE with a ternary expression in
> pass_ifcvt like below:
>
> .MASK_STORE(addr, align, mask, value) => *addr = mask ? value
Hi, I got a gimple relative question.
I'm trying to replace the .MASK_STORE with a ternary expression in
pass_ifcvt like below:
.MASK_STORE(addr, align, mask, value) => *addr = mask ? value : *addr;
But when I do this, I'm stucked. The addr here is a SSA_NAME of
course. When I t
> Am 21.10.2023 um 16:39 schrieb Hanke Zhang :
>
> Richard Biener 于2023年10月21日周六 18:23写道:
>>
>>
>>
Am 21.10.2023 um 10:58 schrieb Hanke Zhang :
>>>
>>> Richard Biener 于2023年10月20日周五 23:27写道:
>> Am 20.10.2023 um 16:33 schrieb Hanke Zhang :
>
> Richard
Richard Biener 于2023年10月21日周六 18:23写道:
>
>
>
> > Am 21.10.2023 um 10:58 schrieb Hanke Zhang :
> >
> > Richard Biener 于2023年10月20日周五 23:27写道:
> >>
> >>
> >>
> Am 20.10.2023 um 16:33 schrieb Hanke Zhang :
> >>>
> >>> Richard Biener 于2023年10月20日周五 21:33写道:
>
> > On Fri, Oct 20, 2023
> Am 21.10.2023 um 10:58 schrieb Hanke Zhang :
>
> Richard Biener 于2023年10月20日周五 23:27写道:
>>
>>
>>
Am 20.10.2023 um 16:33 schrieb Hanke Zhang :
>>>
>>> Richard Biener 于2023年10月20日周五 21:33写道:
> On Fri, Oct 20, 2023 at 1:48 PM Hanke Zhang via Gcc
> wrote:
>
>
Richard Biener 于2023年10月20日周五 23:27写道:
>
>
>
> > Am 20.10.2023 um 16:33 schrieb Hanke Zhang :
> >
> > Richard Biener 于2023年10月20日周五 21:33写道:
> >>
> >>> On Fri, Oct 20, 2023 at 1:48 PM Hanke Zhang via Gcc
> >>> wrote:
> >>>
> >>> Hi, I'm trying to make pass_fre work better for me. But I got a
>
> Am 20.10.2023 um 16:33 schrieb Hanke Zhang :
>
> Richard Biener 于2023年10月20日周五 21:33写道:
>>
>>> On Fri, Oct 20, 2023 at 1:48 PM Hanke Zhang via Gcc wrote:
>>>
>>> Hi, I'm trying to make pass_fre work better for me. But I got a
>>> problem. Like the code below:
>>>
>>> int glob;
>>>
>>>
Richard Biener 于2023年10月20日周五 21:33写道:
>
> On Fri, Oct 20, 2023 at 1:48 PM Hanke Zhang via Gcc wrote:
> >
> > Hi, I'm trying to make pass_fre work better for me. But I got a
> > problem. Like the code below:
> >
> > int glob;
> >
> > void __attribute__((oninline))
> > foo() {
> > // do nothing
On Fri, Oct 20, 2023 at 1:48 PM Hanke Zhang via Gcc wrote:
>
> Hi, I'm trying to make pass_fre work better for me. But I got a
> problem. Like the code below:
>
> int glob;
>
> void __attribute__((oninline))
> foo() {
> // do nothing meaningful
> }
>
> int main() {
> if (glob) {
> foo();
>
Hi, I'm trying to make pass_fre work better for me. But I got a
problem. Like the code below:
int glob;
void __attribute__((oninline))
foo() {
// do nothing meaningful
}
int main() {
if (glob) {
foo();
} else {
// do something that won't change glob
}
if (glob) {
foo();
On 10/14/23 09:49, Andrew Pinski via Gcc wrote:
On Fri, Oct 13, 2023 at 10:16 PM Hanke Zhang via Gcc wrote:
Hi, I'm working on optimizing if-conversion for my own business
recently. I got a problem here.
I tried to optimize it in such a case, for example, when a conditional
statement block
On Fri, Oct 13, 2023 at 10:16 PM Hanke Zhang via Gcc wrote:
>
> Hi, I'm working on optimizing if-conversion for my own business
> recently. I got a problem here.
>
> I tried to optimize it in such a case, for example, when a conditional
> statement block has only if statement and no else statement
Hi, I'm working on optimizing if-conversion for my own business
recently. I got a problem here.
I tried to optimize it in such a case, for example, when a conditional
statement block has only if statement and no else statement, the
source C code looks like this:
int* foo; // assume this has been
e register allocation is therefore valid (at least in the testcases
I've been looking at).
The question of why it prefers registers with round numbers remains open
(and important for optimization reasons).
Andrew
* David Brown:
>> C23 changes meaning of of extern foo(); to match the C++
>> interpretation of extern foo(void);. I don't think we should warn
>> about that. If we warn, it would be at the call site.
>
> I'm not sure I fully agree. "extern foo();" became invalid when
> implicit int was removed
On 11/10/2023 12:17, Florian Weimer wrote:
* David Brown:
On 11/10/2023 10:10, Florian Weimer wrote:
* David Brown:
So IMHO (and as I am not a code contributor to GCC, my opinion really
is humble) it is better to be stricter than permissive, even in old
standards. It is particularly impo
On 11/10/2023 09:58, Andrew Stubbs wrote:
> On 11/10/2023 07:54, Chung-Lin Tang wrote:
>>
>>
>> On 2023/10/10 11:11 PM, Andrew Stubbs wrote:
>>> Hi all,
>>>
>>> I'm trying to add a new register set to the GCN port, but I've hit a
>>> problem I don't understand.
>>>
>>> There are 256 new registers (
* David Brown:
> On 11/10/2023 10:10, Florian Weimer wrote:
>> * David Brown:
>>
>>> So IMHO (and as I am not a code contributor to GCC, my opinion really
>>> is humble) it is better to be stricter than permissive, even in old
>>> standards. It is particularly important for "-std=c89", while
>>>
On 11/10/2023 07:54, Chung-Lin Tang wrote:
On 2023/10/10 11:11 PM, Andrew Stubbs wrote:
Hi all,
I'm trying to add a new register set to the GCN port, but I've hit a
problem I don't understand.
There are 256 new registers (each 2048 bit vector register) but the
register file has to be divided
On 10/10/2023 20:09, Segher Boessenkool wrote:
Hi Andrew,
On Tue, Oct 10, 2023 at 04:11:18PM +0100, Andrew Stubbs wrote:
I'm also seeing wrong-code bugs when I allow more than 32 new registers,
but that might be an unrelated problem. Or the allocation is broken? I'm
still analyzing this.
I
On 11/10/2023 10:10, Florian Weimer wrote:
* David Brown:
So IMHO (and as I am not a code contributor to GCC, my opinion really
is humble) it is better to be stricter than permissive, even in old
standards. It is particularly important for "-std=c89", while
"-std=gnu89" is naturally more pe
* David Brown:
> So IMHO (and as I am not a code contributor to GCC, my opinion really
> is humble) it is better to be stricter than permissive, even in old
> standards. It is particularly important for "-std=c89", while
> "-std=gnu89" is naturally more permissive. (I have seen more than
> enoug
On 10/10/2023 18:30, Jason Merrill via Gcc wrote:
On Tue, Oct 10, 2023 at 7:30 AM Florian Weimer via Gcc
wrote:
Are these code fragments valid C89 code?
int i1 = 1;
char *p1 = i;
char c;
char *p2 = &c;
int i2 = p2;
Or can we generate errors for them even with -std=gnu89?
(It
On 2023/10/10 11:11 PM, Andrew Stubbs wrote:
> Hi all,
>
> I'm trying to add a new register set to the GCN port, but I've hit a
> problem I don't understand.
>
> There are 256 new registers (each 2048 bit vector register) but the
> register file has to be divided between all the running hard
Hi Andrew,
On Tue, Oct 10, 2023 at 04:11:18PM +0100, Andrew Stubbs wrote:
> I'm also seeing wrong-code bugs when I allow more than 32 new registers,
> but that might be an unrelated problem. Or the allocation is broken? I'm
> still analyzing this.
It could be connected. both things should not
On Tue, Oct 10, 2023 at 12:09 PM Florian Weimer via Gcc
wrote:
> * Jakub Jelinek:
>
> > On Tue, Oct 10, 2023 at 12:30:52PM -0400, Jason Merrill via Gcc wrote:
> >> On Tue, Oct 10, 2023 at 7:30 AM Florian Weimer via Gcc >
> >> wrote:
> >>
> >> > Are these code fragments valid C89 code?
> >> >
> >
* Joseph Myers:
> On Tue, 10 Oct 2023, Florian Weimer via Gcc wrote:
>
>> Are these code fragments valid C89 code?
>>
>> int i1 = 1;
>> char *p1 = i;
>>
>> char c;
>> char *p2 = &c;
>> int i2 = p2;
>
> Implicit conversions between pointers and integers are not valid C89.
>
> ANSI C89,
* Jakub Jelinek:
> On Tue, Oct 10, 2023 at 12:30:52PM -0400, Jason Merrill via Gcc wrote:
>> On Tue, Oct 10, 2023 at 7:30 AM Florian Weimer via Gcc
>> wrote:
>>
>> > Are these code fragments valid C89 code?
>> >
>> > int i1 = 1;
>> > char *p1 = i;
>> >
>> > char c;
>> > char *p2 = &c;
>>
On Tue, 10 Oct 2023, Florian Weimer via Gcc wrote:
> Are these code fragments valid C89 code?
>
> int i1 = 1;
> char *p1 = i;
>
> char c;
> char *p2 = &c;
> int i2 = p2;
Implicit conversions between pointers and integers are not valid C89.
ANSI C89, as adopted as FIPS PUB 160, is ava
On Tue, Oct 10, 2023 at 12:30:52PM -0400, Jason Merrill via Gcc wrote:
> On Tue, Oct 10, 2023 at 7:30 AM Florian Weimer via Gcc
> wrote:
>
> > Are these code fragments valid C89 code?
> >
> > int i1 = 1;
> > char *p1 = i;
> >
> > char c;
> > char *p2 = &c;
> > int i2 = p2;
> >
> > Or ca
On Tue, Oct 10, 2023 at 7:30 AM Florian Weimer via Gcc
wrote:
> Are these code fragments valid C89 code?
>
> int i1 = 1;
> char *p1 = i;
>
> char c;
> char *p2 = &c;
> int i2 = p2;
>
> Or can we generate errors for them even with -std=gnu89?
>
> (It will still be possible to override th
Hi all,
I'm trying to add a new register set to the GCN port, but I've hit a
problem I don't understand.
There are 256 new registers (each 2048 bit vector register) but the
register file has to be divided between all the running hardware
threads; if you can use fewer registers you can get mo
Are these code fragments valid C89 code?
int i1 = 1;
char *p1 = i;
char c;
char *p2 = &c;
int i2 = p2;
Or can we generate errors for them even with -std=gnu89?
(It will still be possible to override this with -fpermissive or
-Wno-int-conversion.)
Thanks,
Florian
But when I change the code 'opstatus = rand()' to 'opstatus = rand()
%2', the probability of opstatus being 0 should be 50%, but the result
remains the same, i.e. still split at that point.
And the specific information can be found in Bugzilla, the link is
https://gcc.gnu.org/bugzilla/show_bug.cgi
* Richard Biener:
>> By disassembling the exe file generated by icc, I found that icc will
>> merge these two blocks with the example code below. So I think there
>> maybe some ways to make it.
>
> ... glibc for example allows user-provided printf format callbacks so
> printf might call back into
On Mon, Oct 2, 2023 at 7:15 PM Hanke Zhang via Gcc wrote:
>
> Martin Jambor 于2023年10月3日周二 00:34写道:
> >
> > Hello,
> >
> > On Mon, Oct 02 2023, Hanke Zhang via Gcc wrote:
> > > Hi, I have some questions about the strategy and behavior of function
> > > splitting in gcc, like the following code:
>
On Sun, Oct 1, 2023 at 6:13 AM Hanke Zhang wrote:
>
> Richard Biener 于2023年9月27日周三 15:30写道:
> >
> > On Wed, Sep 27, 2023 at 7:21 AM Hanke Zhang via Gcc wrote:
> > >
> > > Thanks! I understand what you mean, then can I think that if the
> > > function here is not an external function, but a funct
Martin Jambor 于2023年10月3日周二 00:34写道:
>
> Hello,
>
> On Mon, Oct 02 2023, Hanke Zhang via Gcc wrote:
> > Hi, I have some questions about the strategy and behavior of function
> > splitting in gcc, like the following code:
> >
> > int glob;
> > void f() {
> > if (glob) {
> > printf("short path
Hello,
On Mon, Oct 02 2023, Hanke Zhang via Gcc wrote:
> Hi, I have some questions about the strategy and behavior of function
> splitting in gcc, like the following code:
>
> int glob;
> void f() {
> if (glob) {
> printf("short path\n");
> return;
> }
> // do lots of expensive thing
Hi, I have some questions about the strategy and behavior of function
splitting in gcc, like the following code:
int glob;
void f() {
if (glob) {
printf("short path\n");
return;
}
// do lots of expensive things
// ...
}
I hope it can be broken down like below, so that the whole fu
Richard Biener 于2023年9月27日周三 15:30写道:
>
> On Wed, Sep 27, 2023 at 7:21 AM Hanke Zhang via Gcc wrote:
> >
> > Thanks! I understand what you mean, then can I think that if the
> > function here is not an external function, but a function visible to
> > the compiler and the function doesn't modify `
On Wed, Sep 27, 2023 at 7:21 AM Hanke Zhang via Gcc wrote:
>
> Thanks! I understand what you mean, then can I think that if the
> function here is not an external function, but a function visible to
> the compiler and the function doesn't modify `a`, then these two
> blocks can be merged?
Yes. T
Thanks! I understand what you mean, then can I think that if the
function here is not an external function, but a function visible to
the compiler and the function doesn't modify `a`, then these two
blocks can be merged?
Marc Glisse 于2023年9月27日周三 12:51写道:
>
> On Wed, 27 Sep 2023, Hanke Zhang via
On Wed, 27 Sep 2023, Hanke Zhang via Gcc wrote:
Hi, I have recently been working on merging if-else statement blocks,
and I found a rather bizarre phenomenon that I would like to ask
about.
A rough explanation is that for two consecutive if-else blocks, if
their if statements are exactly the sam
1 - 100 of 2534 matches
Mail list logo