Erick my friend,
That's exactly why I'm such a big fan of creating things
anew each time I mess with them. 😉
Later,
Gary
From: Erick Ochoa
Sent: Tuesday, March 8, 2022 7:29 AM
To: Martin Jambor
Cc: gcc@gcc.gnu.org
Subject: Re: Question on updating function b
Andrew,
That's super! I was dreading an answer along the lines
of "we don't do that anymore so why would you ever want
to do that?" 😉
Many thanks,
Gary
From: Andrew Pinski
Sent: Wednesday, March 2, 2022 2:09 PM
To: Gary Oblock
Cc: gcc@gcc.
Guys,
I've been working on an optimization for quite a bit of time and
in an attempt to move it to GCC 12 I found that FOR_EACH_LOOP_FN
no longer exists. I poked around in the archives and tried a Google
search but found nothing on it.
It suited my needs and I'd hate to have to rewrite a bunch of
r I'd benchmark it using the applications you built it
for.
Gary
From: Andras Tantos
Sent: Monday, February 21, 2022 9:22 PM
To: Gary Oblock ; gcc@gcc.gnu.org
Subject: Re: Benchmark recommendations needed
[EXTERNAL EMAIL NOTICE: This email originated from a
Trying to use the dhrystone isn't going to be very useful. It has many
downsides not the least is that gcc's optimizer can run rings about it.
Gary
From: Gcc on behalf of
gcc-requ...@gcc.gnu.org
Sent: Tuesday, February 15, 2022 6:25 AM
To: gcc@gcc.gnu.org
Sub
January 10, 2022 12:36 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: Issue with a flag that I defined getting set to zero
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handling and proprietary information protection
practices.]
On
feel like I'm being forced to
act like one. 😉
Now, can anybody answer my question?
Sincerely
Gary
From: Gabriel Ravier
Sent: Friday, January 7, 2022 12:56 AM
To: Martin Liška ; Gary Oblock ;
gcc@gcc.gnu.org
Subject: Re: Issue with a flag that I defined g
Martin,
Regarding the corporate legal gibberish. It's automatic
and not under my control also we're not supposed to
use private emails for work...
Gary
From: Martin Liška
Sent: Friday, January 7, 2022 12:20 AM
To: Gary Oblock ; gcc@gcc.gnu.org
S
An optimization flag that I recently added is being
set to zero in push_cfun (which after a couple of
levels of calls cl_optimization_restore to this.)
The flag defined like this:
finterleaving-index-32-bits
Common Var(flag_interleaving_index_32_bits) Init(0) Optimization
Structure reorganization
n AST. But the tree expressions seem to be chunks
of AST (with some other stuff thrown in that could be thought of
as node attributes.) Am I wrong to think of them that way?
Thanks,
Gary
From: Richard Biener
Sent: Monday, January 3, 2022 11:28 PM
To: Gary Obloc
de, 1
/* Same value types ignoring qualifiers. */
&& (TYPE_MAIN_VARIANT (TREE_TYPE (node))
== TYPE_MAIN_VARIANT
(TREE_TYPE (TREE_TYPE (TREE_OPERAND (node, 1)
&& (!(flags & TDF_ALIAS)
|| MR_DEPENDENCE_CLIQUE (node) == 0))
___
This is one of those things that has always puzzled
me so I thought I break down and finally ask.
There are two ways a memory reference (tree) prints:
MEM[(struct arc_t *)_684].flow
and
_684->flow
Poking under the hood of them, the tree codes and
operands are identical so what am I missing?
T
ot;.
Thanks again,
Gary
From: David Malcolm
Sent: Thursday, December 2, 2021 6:04 AM
To: Richard Biener ; Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: odd internal failure
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handling an
Richard,
I rebuilt at "-O0" and that particular call now works but on a call to
the same function with a different offset it fails. 😱
Thanks,
Gary
From: Richard Biener
Sent: Wednesday, December 1, 2021 1:09 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.or
What is happening should be trivial to determine but for some reason it's
not. I'd normally bounce this off a coworker but given the pandemic
and modern dispersed hiring practices it's not even remotely possible.
I'm making this call and tree_to_uhwi is failing on an internal error.
That's normall
Our test group added "-fchecking" to a script and my optimization
failed.
I can't find any explanation of this type of bug. I grepped the code
and flag_checking was all over the place so it's not like
I can use gdb to pin it down.
Can somebody help me make sense out of this?
lto1: error: type va
I suppose I should answer my own question
Yes, the final compiler built has ubsan enabled.
Gary
PS. The faint hearted should note this is an overnight build. It would be nice
if this wasn't tied to building a bootstrap compiler.
From: Gary Oblock
er 27, 2021 11:47 PM
To: Erick Ochoa ; Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: Can gcc itself be tested with ubsan? If so, how?
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handling and proprietary information protection
practices.]
I tried just adding "-fsanitize=undefined" to my CXX_FLAGS and got
a bunch of errors like this:
/usr/bin/ld: ../libcody/libcody.a(server.o): in function
`std::__cxx11::basic_string, std::allocator
>::_Alloc_hider::~_Alloc_hider()':
/usr/include/c++/9/bits/basic_string.h:150: undefined reference
I've got a really amazingly bizarre bug, when running my modified
gcc under gdb, I see some bewildering behavior. So, before I start
debugging at the assembly level, I'd like to see some .s files.
This led me to try adding "-save-temps" to the CFLAGS and
CXXFLAGS on the make command line. This in t
From: Richard Biener
Sent: Thursday, August 26, 2021 12:45 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: What is this GIMPLE?
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handling and proprietary information protect
I print out a bit of GIMPLE for a program and it looks like this:
[local count: 13634385]:
# a_1 = PHI
# n_11 = PHI
loop:
# DEBUG n => n_11
# DEBUG a => a_1
_2 = (long unsigned int) a_1;
_3 = _2 & 7;
_347 = _3 != 0;
That bit that says "loop:" isn't a GIMPLE_LABEL and
it has ope
s that kind of trick work with SSA variable creation?
Thanks, I really appreciate your help even though in this case
I'm still kind of stuck.
Gary
From: Richard Biener
Sent: Thursday, July 29, 2021 12:12 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject:
uldn't
find a spot where dedangled_865 or any of its phi related uses
(a use of x where x <- phi<... denanged_865..> and so on recursively)
was converted to struct node.reorg.reorder *.
Gary
From: Richard Biener
Sent: Wednesday, July 28, 2021 3:40 AM
4422246]:
_58 = MEM[(int64_t *)&net + 608B];
_59 = _58 + 1;
MEM[(int64_t *)&net + 608B] = _59;
dedangled_865 = bea_43->tail;
dedangled_863 = bea_43->head;
_975 = (struct node.reorg.reorder *) dedangled_865;
dedangled_864 = bea_43->tail;
dedangled_866 = bea_43->head;
i
I seem to be having a problem with the pre pass.
When eliminate_dom_walker::eliminate_stmt is called with
the gsi to "dedangled_864 = bea_43->tail;" which in turn
calls eliminate_dom_walker::eliminate_avail op of dedangled_864.
This gives VN_INFO (lhs)->valnum of _920. The _920 is not
associated w
12:23 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: A simple debugging question
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handling and proprietary information protection
practices.]
On Wed, Jul 14, 2021 at 6:42 AM Gary Oblock
OK, I haven't asked a dumb question for a while so here goes!
I'm trying to debug my optimization in lto running 505mcf_r
(yes it's SPEC17.)
Here's the bit that fails from the make.out:
/home/gary/gcc_build_gcc11/install/libexec/gcc/x86_64-pc-linux-gnu/11.1.1/lto1
-quiet -dumpdir ./mcf_r.lto.o-
I've got to say appearances can be deceptive
in GCC and struct _modif_basket *[4061] is not
necessarily equal to struct _modif_basket *[4061]
even though the printed representation is
the same...
Gary
From: Gcc on behalf of gcc-requ...@gcc.gnu.org
Sent: Tuesday,
My jaws hit the floor when I saw this bug:
psimplex.c: In function ‘master.constprop’:
psimplex.c:124:6: error: non-trivial conversion in ‘constructor’
124 | void master(network_t *net, int num_threads)
| ^
struct _modif_basket *[4061]
struct _modif_basket *[4061]
struct _modif_basket
I'm chasing a bug and I used Creduce to produce a
reduced test case. However, that's really beside to
point.
I this file:
typedef struct basket {
} a;
long b;
a *basket;
int d, c, e;
a *flake[2];
void primal_bea_mpp();
void primal_net_simplex() {
flake[1] = &bask
Guys,
I checked out a fresh copy of the GCC sources today, applied somebodies
patch to it and voila!
options.c:13591:2: error: #error Report option property is dropped #error
Report option property is dropped
I built this the same minimally convoluted way that I always do.
cd $1
BASE=`pwd`
ech
Guys,
I've been trying to debug a linker error (which I thought was a bug in
my optimization.) Well it turns out it occurs in a brand new virgin
version of the compiler running with binutils 2.36 which is the latest
version. I'm posting this on both the binutils list and gcc list
because people of
I've got collect2 finding a linker error and I'm out of
other options so I'm poking around in the collect2
sources. I'm wondering what pex_run is (since it's
getting handed the arguments this might mater?)
I figure if I can get collect2 to spill its guts
about what arguments are fed to "ld" I'll ha
Fair enough...
$ ld -V
GNU ld (GNU Binutils for Ubuntu) 2.30
From: Richard Biener
Sent: Tuesday, February 23, 2021 12:41 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: What version of binutils is required
[EXTERNAL EMAIL NOTICE: This email originated
a more
current version of binutils?
Thanks,
Gary Oblock
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for
the sole use of the intended recipient(s) and contains information that is
confidential and proprietary to Ampere Computing or its subsidiaries. It is to
be used
I'm running my new optimization (LTO with one partition)
on a SPEC17 test.
I got the mysterious message
"collect2: error: ld returned 1 exit status"
Now, first off, with my debugging on at full tilt and it's
clear my optimization bailed out after analyzing
the code without doing anything.
Seco
ation optimization, this is occurring
with the Mcf sources from SPEC17.
From: Gary Oblock
Sent: Wednesday, December 30, 2020 11:00 PM
To: gcc@gcc.gnu.org
Subject: A problem with field decl offsets in newly minted types
I'm having some grief with creating/using som
I'm having some grief with creating/using some modified types.
I problem occurs in tree-ssa-sccvn.c when some code tries
to take a DECL_FIELD_OFFSET and unfortuenately gets a null
that causes a crash.
So, I traced this back the to types I created. Note, the method I used
has seemed to be fairly r
Martin,
After some digging and a little luck, I found that this does what I wanted:
cgraph_update_edges_for_call_stmt ( stmt, gimple_call_fndecl ( stmt), NULL);
Thanks,
Gary
From: Martin Jambor
Sent: Tuesday, October 27, 2020 5:44 AM
To: Gary Oblock ; gcc
I'm running into grief in verify_node in cgraph.c
when I use gsi_remove on a call statement.
Specifically it's a free statement which I've replaced
with other free statements as part of my structure
reorg optimizations. Note, in other working code
I do this with malloc and it doesn't seem to be a
be its user.
Gary
From: Richard Biener
Sent: Thursday, October 22, 2020 11:01 PM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: Missing functionality
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handli
Never mind... assume I'm grumbling about the documentation.
;-(
Gary
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for
the sole use of the intended recipient(s) and contains information that is
confidential and proprietary to Ampere Computing or its subsidiaries.
I'm finishing up coding my patterns for the structure reorganization
optimization. They recognize certain instructions and replace them
other instructions. I've got some code that generates gimple which is
inserted as it's created with gsi_insert_before. This code is
something I'd like to use at o
Am I missing something?
Gary
From: Jan Hubicka
Sent: Tuesday, October 20, 2020 4:34 AM
To: Richard Biener
Cc: GCC Development ; Gary Oblock
Subject: Re: Where did my function go?
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
I have a tiny program composed of a few functions
and one of those functions (setupB) has gone missing.
Since I need to walk its GIMPLE, this is a problem.
The program:
-- aux.h -
#include "stdlib.h"
typedef struct A A_t;
typedef struct A B_t;
struct A {
Andrew,
Dominance and reachability are two different but related things. It's trivial
to come up with a simple example to show this.
Gary
From: Andrew Pinski
Sent: Friday, October 9, 2020 8:13 PM
To: Jojo R
Cc: GCC Development
Subject: Re: How to check reachab
Erick,
I assume that this needs to be done on all the functions since
you mention "cfun".
Gary
From: Erick Ochoa
Sent: Monday, September 14, 2020 12:10 AM
To: Gary Oblock ; gcc@gcc.gnu.org
Subject: Re: Dominance information problem
[EXTERNAL EMAIL NO
node *n1 = bb1->dom[dir_index], *n2 = bb2->dom[dir_index];
gcc_checking_assert (dom_computed[dir_index]); // <=== BOOM!
if (dom_computed[dir_index] == DOM_OK)
return (n1->dfs_num_in >= n2->dfs_num_in
&& n1->dfs_num_out <= n2->dfs_num_out);
>Could you please get rid of this when posting on public mailing lists?
No, I have no control over that but I'll give the email of our corporate
IT if you want to complain to them...
From: Marc Glisse
Sent: Saturday, September 5, 2020 11:29 PM
To: Gar
it seems that having to
crawl the phis looking for constants seems baroque. I would hope
there is a control that can suppress this or a transformation
that I can invoke to reverse it...
Thanks,
Gary
From: Marc Glisse
Sent: Saturday, September 5, 2020 11:29 PM
i?
res_4 = PHI
This makes zero sense practicality wise to me and how is
it supposed to be recognized and used? Note, I really do
need to transform the "0B" into something else for my
structure reorganization optimization.
Thanks,
Gary Oblock
CONFIDENTIALITY NOTICE: This e-mail m
Note, isn't a problem, rather, it's something that puzzles me.
On walking a function types argument types this way
for ( arg = TYPE_ARG_TYPES ( func_type);
arg != NULL;
arg = TREE_CHAIN ( arg))
{
.
.
}
I noticed an extra void argument that didn't exist
tagged
ous times (on certain
OS versions of certain machines) watch points have been
at bit dubious. I assume on a recent Ubuntu release
on an Intel I7 core this wouldn't be the case???
Thanks,
Gary
From: Richard Biener
Sent: Wednesday, September 2, 2020 11:31 P
in an inlined function into the body
of code where the inling took place.
Thanks,
Gary Oblock
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for
the sole use of the intended recipient(s) and contains information that is
confidential and proprietary to Ampere Computin
goto ; [0.04%]
else
goto ; [99.96%]
[local count: 4295]:
__builtin_puts (&"min_x error"[0]);
exit (-1);
[local count: 10733121]:
_5 = min_x_12->x;
printf ("min_x %e\n", _5);
return 0;
}
Am I crazy?
Thanks,
Gary
_
then update that statement.
Thanks,
Gary
From: Richard Biener
Sent: Thursday, August 27, 2020 2:04 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: Questions regarding update_stmt and release_ssa_name_fn.
[EXTERNAL EMAIL NOTICE: This email originated from an e
m seeing x_2 being thought of as default definition in the following
GIMPLE stmt when it's clearly not since it's defined by the statement.
x_2 = X_1 + 4
My approach has been to simply make the SSA name to replace x_2a
normal SSA name and not a default def. Is this not r
t seems to be happening. It's not doing any harm to
anything except the sanity of anybody looking at the pass
dumps...
Thanks,
Gary
From: Segher Boessenkool
Sent: Wednesday, August 12, 2020 5:45 PM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: Silly ques
pass numbering.
Thanks again,
Gary
From: Segher Boessenkool
Sent: Wednesday, August 12, 2020 1:09 PM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: Silly question about pass numbers
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
ne number of
junk search results.
This is obviously an easy question to answer for those that
have seen something similar in the past.
Thanks,
Gary Oblock
CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for
the sole use of the intended recipient(s) and contains info
For these two dump files:
exe.ltrans0.ltrans.074i.cp
and
exe.ltrans0.ltrans.087i.structure-reorg
doesn't the ".074i." mean that this dump was created
before the ".087i." dump?
If so then why does the ".074i." show GIMPLE that was
created in the structure-reorg pass?
Thanks,
Gary
CONFIDENTI
I'm trying to debug a problem cropping up in value range propagation.
Ironically I probably own an original copy 1995 copy of the paper it's
based on but that's not going to be much help since I'm lost in the
weeds. It's running on some optimization (my structure reorg
optimization) generated GIMP
ULL.
Note, I suppose I could run gdb to track down in the storage
layout code what caused it to bypass place_field (where the
offset probably should be initialized) but I'd still not know
what I'm doing wrong below.
Please, somebody have a look and let me know
uld
take me quite a while to put together an example of. Note, these are
shown in the HL design doc which I sent you. Though like battle plans,
no design no matter how good survives coding intact.
Thanks again,
Gary
____
From: Richard Biener
Sent: Wednesday, July 29
on that I need to spot things this way. Later,
when points to analysis is integrated falling through to
the default case behavior will likely cause an internal error.
Thanks,
Gary
____
From: Richard Biener
Sent: Tuesday, July 28, 2020 12:07 AM
To: Gary Oblock
Cc: gcc
Almost all of the makes sense to.
I'm not sure what a conditionally initialized pointer is.
You mention VAR_DECL but I assume this is for
completeness and not something I'll run across
associated with a default def (but then again I don't
understand notion of a conditionally initialized
pointer.)
o seems
to work except for the default defs.
I really need some help with this Richard.
Thanks,
Gary
From: Richard Biener
Sent: Saturday, July 25, 2020 10:48 PM
To: Gary Oblock ; gcc@gcc.gnu.org
Subject: Re: Problems with changing the type of an ssa name
[EXT
Sent: Friday, July 24, 2020 11:16 PM
To: Gary Oblock ; Gary Oblock via Gcc
; gcc@gcc.gnu.org
Subject: Re: Problems with changing the type of an ssa name
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handling and proprietary information prote
If you've followed what I've been up to via my questions
on the mailing list, I finally traced my latest big problem
back to to my own code. In a nut shell here is what
I'm doing.
I'm creating a new type exaactly like this:
tree pointer_rep =
make_signed_type ( TYPE_PRECISION ( pointer_
iener
Sent: Wednesday, July 22, 2020 2:32 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: Three issues
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handling and proprietary information protection
practices.]
On Wed, Jul 22, 2020
efault_def hash table
entries is my only recourse at this point.
Thanks,
Gary
From: Richard Biener
Sent: Wednesday, July 22, 2020 2:32 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re: Three issues
[EXTERNAL EMAIL NOTICE: This email originated from an exter
he
root cause.
Thanks,
Gary
From: David Malcolm
Sent: Wednesday, July 22, 2020 12:31 AM
To: Gary Oblock ; gcc@gcc.gnu.org
Subject: Re: Three issues
[EXTERNAL EMAIL NOTICE: This email originated from an external sender. Please
be mindful of safe email handling and proprietary informatio
Some background:
This is in the dreaded structure reorganization optimization that I'm
working on. It's running at LTRANS time with '-flto-partition=one'.
My issues in order of importance are:
1) In gimple-ssa.h, the equal method for ssa_name_hasher
has a segfault because the "var" field of "a"
Regarding the other question I asked today could somebody explain to
me what the default_defs are all about. I suspect I'm doing something
wrong with regard of them. Note, I've isolated the failure in the last email
down to this bit (in red):
if (is_empty (*entry)
|| (!is_deleted (*entry) &&
I'm encountering a really painful error. The stack trace is below.
The code in hash-table.h is a template and it is really hyper-allergic
to instrumentation (a couple of fprintfs caused malloc to have an
internal error!) Last time I checked gbd didn't exactly play nice
with templates either. Note
the moment I'm
punting on creating them hoping I don't create an untenable state which results
in hard to diagnose failures. I was just trying to avoid this.
Thanks,
Gary Oblock
From: Martin Jambor
Sent: Friday, July 3, 2020 1:59 AM
To: Gary Oblock ;
ting as I create new BBs) so I actually shouldn't create them?
Furthermore, I assume I should be setting the "gotos" in the condition
statement to NULL?
Thanks,
Gary Oblock
Ampere Computing
Santa Clara, California
CONFIDENTIALITY NOTICE: This e-mail message, including any attac
Martin,
What about immediate dominators?
Thanks,
Gary
From: Martin Jambor
Sent: Wednesday, July 1, 2020 3:40 PM
To: Gary Oblock ; Richard Biener
Cc: gcc@gcc.gnu.org
Subject: Re: An problematic interaction between a call created by
gimple_build_call and
ly is this. Are there any surprising
cases in IPA where GCC violates its philosophy and actually regenerates the
information?
Thanks again,
Gary
From: Richard Biener
Sent: Wednesday, July 1, 2020 12:27 AM
To: Gary Oblock
Cc: gcc@gcc.gnu.org
Subject: Re:
call *free_call = gimple_build_call( fndecl_free, 1, to_free);
Note, I was able to get something similar to work for "malloc" by
using the fndecl I extracted from an existing malloc call.
Your advice on how to build a fndecl that doesn't have this
problem is appreciated.
Thanks,
Gary O
Richard,
First off I did suspect INDIRECT_REF wasn't supported, thanks for
confirming that.
I tried what you said in the original code before I posted
but I suspect how I went at it is the problem. I'm probably
doing something(s) in a glaringly stupid way.
Can you spot it, because everything I'm
I'm somehow misusing GIMPLE (probably in multiple ways) and I need
some help in straightening out this little mess I've made.
I'm trying to do the following:
In an attempt at structure reorganization (instance interleaving) an
array of structures is being transformed into a structure of arrays.
them weren't updated
so they'll never match. Now if there is another way to see if the
function is in the partition or if there is some other way to compare
the functions in a partition, please let me know.
Thanks,
Gary Oblock
Ampere Computing
PS. The body of the message is attached
If you just do a clone and don't checkout a branch, is this equivalent
the top of the trunk in the old scheme? If not then how do I get the
top of trunk?
Thanks for your patience,
Gary Oblock
turns half my email into gibberish
so please take pity me and post them here again.
Thanks,
Gary Oblock
detectable anywhere
upstream in the compilation to not specify -fmy-opt without -flto-partition=one
then all will be well. So how do I detect it at all and where would I put the
checking?
Gary
From: Richard Biener
Sent: Monday, January 13, 2020 2:30 AM
To: Gary Ob
I'm writing an LTO optimization that requires "-flto-partition=one" How can I
make
sure that this is the case? I've spent hours greping the code and the Internals
Doc is
worth less than nothing for something like this. If you have an answer or even
I good idea of where to look please let me know.
020 2:29 AM
To: Gary Oblock
Cc: Jan Hubicka ; gcc@gcc.gnu.org
Subject: Re: [EXT] Re: Comparing types at LTO time
On Thu, Jan 9, 2020 at 9:36 PM Gary Oblock wrote:
>
> Richard,
>
> Alas, when doing structure reorg I have to be able to know some
> arbitrary use of variable X in so
t.
If you'll note the get_untransformed_body call above (which David Malcolm
suggested to cure a NULL fn) I suspect I'm lacking some other call
which will make all things right.
Thanks,
Gary Oblock
, January 9, 2020 3:51 AM
To: Jan Hubicka
Cc: Gary Oblock ; gcc@gcc.gnu.org
Subject: [EXT] Re: Comparing types at LTO time
External Email
--
On Thu, Jan 9, 2020 at 9:53 AM Jan Hubicka wrote:
>
> > There doesn't seem
There doesn't seem to be a way to compare types at LTO time. The functions
same_type_p and comptypes are front end only if I'm not totally confused
(which is quite possible) and type_hash_eq doesn't seem to apply for
structure types. Please, any advice would be welcome.
Thanks,
Gary Oblock
Thanks David,
I'll give it a try. By the way, I'm trying to force one partition
with "-flto-partition=one" I'm not sure if that makes a difference.
Gary
From: David Malcolm
Sent: Friday, January 3, 2020 3:52 PM
To: Gary Oblock ; gcc@g
t;-O2 -flto -flto-partition=one -fipa-structure-reorg"
$GCC $OPTIONS -c main.c
$GCC $OPTIONS -c aux.c
$GCC $OPTIONS -o exe main.o aux.o
./exe
I'm wondering if this is a fundamental issue, if there's a bug
or perhaps I'm doing something dumb. I any advice is appreciated
here because my only real alternative here is insanely ugly.
Thanks,
Gary Oblock
so an explanation
might get a little ugly
but he's very bright fellow and can cope with it.
Thank,
Gary Oblock
I'm wondering if the code in tree-ssa-structalias.c can be invoked in
a whole program mode? There are some comments in there about
it not playing well with WHOPR and WPA (not that I intend to use
that way.) Ironically, in the literature on points-to analysis this
algorithm
was only originally inten
On 10/2/19 3:15 AM, Richard Biener wrote:
> External Email
>
> --
> On Wed, Oct 2, 2019 at 1:43 AM Gary Oblock wrote:
>> I'm working on structure reorganization optimizations and one of the
>> things
asons as to why that wouldn't work
will probably be equally valuable to me.
Thanks,
Gary Oblock
, I'll be doing this during LTRANS.
Thanks,
Gary Oblock
On 9/14/19 8:39 AM, Martin Liška wrote:
On 9/13/19 3:01 PM, Gary Oblock wrote:
So, back to my questions, any ideas about how to get initialization
information? This
is going to be a very powerful optimization for code with structures of
arrays and
I just need a little help getting around a few
1 - 100 of 108 matches
Mail list logo