On 10/26/2016 04:46 PM, Georg-Johann Lay wrote:
+if { [istarget avr-*-*] } {
+ # If the value of a label does not fit into 16 bits, the linker
+ # will generate a stub (containing a direct jump) and we end up
+ # with the address of the stub instead of the address of the
On 10/26/2016 04:10 PM, David Malcolm wrote:
The following patch moves various global state in print-rtl.c into
a new "rtx_writer" class, giving us a place to stash additional state
relating to dumping (and the possibility of putting extra
setup/cleanup in ctor/dtor).
I didn't bother renaming
On 10/26/2016 03:05 PM, Segher Boessenkool wrote:
2) We do not necessarily have all notes yet, if the port lets dwarf2cfi
create notes by itself. Most (or even all?) ports do.
Hmm. Are you recording the insns in prologue_contains etc.? You could
add dependencies for a prologue insn following
On 10/26/2016 01:19 PM, Segher Boessenkool wrote:
Separate shrink-wrapping creates this not-all-that-smart code because
the profile is quite messed up, and spread_components isn't super smart
to begin with. I'll have a patch for that soon, but even with it (and
also without separate
On 10/25/2016 06:57 PM, Segher Boessenkool wrote:
This patch makes scheduling not reorder any RTX_FRAME_RELATED_P insns
(relative to each other), to fix PR78029. I originally was a bit worried
that this would degrade code quality, but it seems to even improve it:
more other insns are scheduled
On 10/21/2016 10:27 PM, David Malcolm wrote:
Thanks. I attemped to use those fields of recog_data, but it doesn't
seem to be exactly what's needed here.
Yeah, I may have been confused. I'm not sure that just looking at
SCRATCHes is the right thing either, but I think you're on the right
On 10/21/2016 10:59 PM, Mike Stump wrote:
On Oct 21, 2016, at 12:47 PM, Martin Sebor wrote:
The latest patch works as expected for me, both with an operand
and with stdin. But since I'm not empowered to approve it one
of the others reviewers will need to give it their
On 10/21/2016 02:04 PM, Jiong Wang wrote:
+ /* Locate the end of existing REG_NOTES in NEW_RTX. */
+ rtx *ptail = _NOTES (new_rtx);
+ while (*ptail != NULL_RTX)
+ptail = (*ptail, 1);
I was thinking along the lines of something like this (untested,
emit-rtl.c part omitted). Eric can
On 10/20/2016 08:30 PM, Jakub Jelinek wrote:
This patch changes these two manually maintained arrays into normal
vec.h vectors.
Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?
Looks good. For safety, could you make a before/after comparison on one
large sourcefile to make
On 10/21/2016 12:46 PM, Senthil Kumar Selvaraj wrote:
How does this look?
Looks good, thanks.
Bernd
On 10/21/2016 09:43 AM, Eric Botcazou wrote:
I disagree: there are currently n ways of copying NOTEs in the RTL middle-end,
with different properties each time. We need only one primitive in rtlanal.c.
I feel the fact that they have different properties means we shouldn't
try to unify them:
On 10/21/2016 02:36 AM, David Malcolm wrote:
+ /* Test dumping of hard regs. This is inherently target-specific due
+ to the name. */
+#ifdef I386_OPTS_H
+ ASSERT_RTL_DUMP_EQ ("(reg:SI ax)", gen_raw_REG (SImode, 0));
+#endif
Generally putting in target dependencies like this isn't
On 10/20/2016 04:51 PM, David Malcolm wrote:
(0|scratch:DI)
with the insn as a whole looking like:
(cinsn (set (mem/v:BLK (0|scratch:DI) [0 A8])
(unspec:BLK [
(mem/v:BLK (reuse_rtx 0) [0 A8])
]
On 10/20/2016 05:28 PM, Jiong Wang wrote:
This patch makes EXPR_LIST/INST_LIST/INT_LIST insertion bi-directional,
the new
node can be inserted to either the start or the end of the given list.
I can't help but feel that this is somewhat more complicated than it
needs to be.
One thing to
On 10/20/2016 03:55 PM, David Malcolm wrote:
Currently the jump insn in question looks like this:
(cjump_insn (set (pc)
(label_ref 20))
(nil))
With explicit INSN_UIDs it would look like this:
(cjump_insn 13 (set (pc)
On 10/20/2016 04:20 PM, David Malcolm wrote:
What kind of comparison would it do?
Use read-rtl to read the "after" representation and compare it on the
fly to what we actually have after running the pass under test.
Bernd
On 10/20/2016 11:22 AM, Bernd Schmidt wrote:
On 10/20/2016 01:49 AM, David Malcolm wrote:
(b) for all codes for which rtx_equal_p requires pointer equality, add
some kind of extra ID to the dump, allowing the loader to reconstruct
the graph. This could be the pointer itself:
(scratch:DI
On 10/20/2016 01:49 AM, David Malcolm wrote:
(b) for all codes for which rtx_equal_p requires pointer equality, add
some kind of extra ID to the dump, allowing the loader to reconstruct
the graph. This could be the pointer itself:
(scratch:DI [0x719ee150])
(scratch:DI
On 10/19/2016 07:19 PM, David Malcolm wrote:
I already dropped LABEL_NUSES in compact mode in r241120; I think it's
possible to regenerate that information.
But how would we go about recreating the JUMP_LABEL data? As far as I
can tell, it can be set up by reorg.c:make_return_insns
via
On 10/18/2016 10:30 PM, David Malcolm wrote:
I'm not in love with the names I chose in this patch. It does seem odd
having an "rtx_reader" class that can't actually read hierarchical rtx.
How about "md_reader" as the base class (with responsibility for the
things in read-md.o), and
On 10/19/2016 04:35 PM, David Malcolm wrote:
In r241120 I dropped all dumping of the JUMP_LABEL when adding the
"compact" mode.
I'm now running into an issue with this as I update the __RTL in cc1
tests to use the new format, since various passes require the
JUMP_INSNs to have JUMP_LABEL data.
On 10/18/2016 06:58 PM, Alexander Monakov wrote:
The currently published OpenMP version of LULESH simply doesn't use openmp-simd
anywhere. This should make it obvious that it won't be anywhere near any
reasonable CUDA implementation, and also bound to be below host performance.
Besides, it's
On 10/18/2016 03:54 PM, Trevor Saunders wrote:
I do really prefer reading code where variables are declared at first
use
In general, so do I, but in this case it's one variable out of a whole
bunch, which makes the entire thing look a little inconsistent.
Bernd
On 10/18/2016 02:15 PM, Senthil Kumar Selvaraj wrote:
Will do both the changes and re-run the reg tests. Ok for trunk if the
tests pass for x86_64-pc-linux and avr?
Probably but let's see the patch first.
Bernd
On 10/17/2016 09:46 PM, tbsaunde+...@tbsaunde.org wrote:
From: Trevor Saunders
gcc/ChangeLog:
2016-10-17 Trevor Saunders
* ccmp.c (expand_ccmp_expr_1): Adjust.
(expand_ccmp_expr): Likewise.
(expand_ccmp_next):
On 10/17/2016 09:46 PM, tbsaunde+...@tbsaunde.org wrote:
From: Trevor Saunders
gcc/ChangeLog:
2016-10-17 Trevor Saunders
* cfgrtl.c (delete_insn_chain): Change argument type to rtx_insn *
and adjust for that.
*
On 10/17/2016 09:46 PM, tbsaunde+...@tbsaunde.org wrote:
From: Trevor Saunders
gcc/ChangeLog:
2016-10-17 Trevor Saunders
* emit-rtl.c (prev_nonnote_insn_bb): Change argument type to
rtx_insn *.
* rtl.h
On 10/17/2016 09:46 PM, tbsaunde+...@tbsaunde.org wrote:
2016-10-17 Trevor Saunders
* config/rl78/rl78.c (gen-and_emit_move): Change argument type
to rtx_insn *.
(transcode_memory_rtx): Likewise.
(move_to_acc): Likewise.
On 10/17/2016 09:46 PM, tbsaunde+...@tbsaunde.org wrote:
{
- rtx r0, r16, eqv, tga, tp, insn, dest, seq;
+ rtx r0, r16, eqv, tga, tp, dest, seq;
+ rtx_insn *insn;
switch (tls_symbolic_operand_type (x))
{
@@ -1025,66 +1026,70 @@ alpha_legitimize_address_1 (rtx
On 10/17/2016 07:06 PM, Alexander Monakov wrote:
I've just pushed two commits to the branch to fix this issue. Before those, the
last commit left the branch in a state where an incremental build seemed ok
(because libgcc/libgomp weren't rebuilt with the new cc1), but a from-scratch
build was
On 10/13/2016 08:57 AM, Senthil Kumar Selvaraj wrote:
2016-10-13 Senthil Kumar Selvaraj
* reload.c (find_valid_class_1): Allow regclass if atleast one
regno in class is ok. Compute and use rclass size based on
actually available
On 10/17/2016 09:46 PM, tbsaunde+...@tbsaunde.org wrote:
* cfgcleanup.c (merge_blocks_move_successor_nojumps): Adjust.
(outgoing_edges_match): Likewise.
(try_crossjump_to_edge): Likewise.
* cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
On 10/17/2016 09:46 PM, tbsaunde+...@tbsaunde.org wrote:
+static inline void
+set_label_ref_label (rtx ref, rtx_insn *label)
+{
+ XCEXP (ref, 0, LABEL_REF) = label;
+}
I guess I have to ask for a brief function comment for this. Otherwise OK.
Bernd
On 10/14/2016 06:39 PM, Alexander Monakov wrote:
I'm resending the patch series with backend prerequisites for OpenMP
offloading to the NVIDIA PTX ISA. The patches are rebased on trunk.
What's the status of the branch? Is it expected to work? I'm trying to
compile the OpenMP version of these
On 10/14/2016 08:16 PM, David Malcolm wrote:
In this version of the patch, I've moved the global variables to
be fields of class rtx_reader, moving their setup to the constructor.
The patch adds matching cleanups to the destructor, along with a
cleanup of m_base_dir.
Doing so requires updating
On 10/14/2016 10:12 PM, David Malcolm wrote:
gcc/ChangeLog:
* print-rtl-function.c (print_edge): Omit "(flags)" when none are
set.
(print_rtx_function): Update example in comment for...
* print-rtl.c (print_rtx_operand_code_r): In compact mode, print
On 10/14/2016 09:25 PM, David Malcolm wrote:
The behavior probably should be that it runs the remainder of the RTL
passes from some specified point, and generates valid assembler (so
that we can have dg-do DejaGnu tests).
Actually I had imagined that tests would specify before and after RTL
On 10/12/2016 09:27 PM, Denys Vlasenko wrote:
Yes, something like "if max_skip >= func_size, temporarily lower
max_skip to func_size-1" (because otherwise we can create padding
bigger-or-equal to the entire function in size, which is stupid
- it's better to just put the function in that space).
On 10/14/2016 01:33 PM, Markus Trippelsdorf wrote:
Thanks. ChangeLog entries for the testsuite are not mandatory.
They are actually.
Bernd
On 10/14/2016 11:33 AM, Richard Biener wrote:
Ok, so at least for the GIMPLE FE side I thought it's useful to allow
a correctness verification with something simpler than pattern matching
on the pass output. By means of doing runtime verification of an expected
result (this necessarily
On 10/14/2016 10:01 AM, Thomas Schwinge wrote:
After the "Add Early VRP" GCC trunk commit r240291 (Kugan CC for your
information), I've been observing all kinds of OpenACC offloading
failures. I now figured out what's going on.
The "evrp" pass uses basic_block's BB_VISITED flag. It first
On 10/13/2016 12:27 PM, Bernd Schmidt wrote:
On 10/13/2016 12:20 PM, Jakub Jelinek wrote:
both relied on TREE_PUBLIC be actually false for LABEL_DECLs, because
otherwise they have code later on that can't handle LABE_DECLs (plus
callers
also not expecting LABEL_DECLs might not bind locally
On 10/13/2016 08:09 PM, Marek Polacek wrote:
I thought I had already done this, but apparently not. I added these because
of -Wimplicit-fallthrough, but they're no longer needed, so remove it to not
suppress any possible useful warnings.
Bootstrapped/regtested on x86_64-linux, ppc64-linux
On 10/13/2016 07:18 PM, Prathamesh Kulkarni wrote:
On 13 October 2016 at 16:56, Bernd Schmidt <bschm...@redhat.com> wrote:
On 10/06/2016 07:43 AM, Prathamesh Kulkarni wrote:
Pinging patch: https://gcc.gnu.org/ml/gcc-patches/2016-09/msg01038.html
If I understand correctly this is a
On 10/13/2016 05:52 PM, David Malcolm wrote:
Alternatively, it seems that we might want an additional flag for
this.
Probably - I imagine most testcases won't care (it's obviously easier to
read without locations) but some will. The writing side is maybe less
interesting than the reading
On 10/13/2016 04:08 PM, David Malcolm wrote:
I thought it might be useful to brainstorm [1] some ideas on this,
so here are various possible ways it could be printed for this use-case:
* Offset by LAST_VIRTUAL_REGISTER + 1 (as in the patch), and printed
just as a number, giving:
(reg:SI 3)
On 10/13/2016 03:49 PM, Richard Biener wrote:
Does it really run a single pass only? Thus you can't do a { dg-do run } test
with __RTL?
I think that's really not the intended use-case. To my mind this is for
unit-testing: ensuring that a given rtl pass performs the expected
transformation
On 10/06/2016 07:43 AM, Prathamesh Kulkarni wrote:
Pinging patch: https://gcc.gnu.org/ml/gcc-patches/2016-09/msg01038.html
If I understand correctly this is a latent issue where nonexistant
libfunc names are stored (but not currently used). If that's correct,
then OK.
Bernd
On 09/30/2016 10:02 PM, Andreas Schwab wrote:
On Feb 11 2016, Kelvin Nilsen wrote:
* opts-global.c (handle_common_deferred_options): Introduce and
initialize two global variables to remember command-line options
specifying a stack-limiting
On 10/13/2016 12:20 PM, Jakub Jelinek wrote:
both relied on TREE_PUBLIC be actually false for LABEL_DECLs, because
otherwise they have code later on that can't handle LABE_DECLs (plus callers
also not expecting LABEL_DECLs might not bind locally or might not bind to
the current def.
Ok,
On 10/12/2016 11:04 PM, David Malcolm wrote:
This patch implements:
* the renumbering of non-virtual pseudos, using
LAST_VIRTUAL_REGISTER + 1 as a base.
* omitting the edge "(flags)" directive if there aren't any
Bootstrap & regrtest in progress.
OK for trunk if they pass?
I tend to think
On 10/12/2016 10:37 PM, David Malcolm wrote:
It didn't pass, due to this change:
(print_rtx_operand_code_i): When printing source locations, wrap
xloc.file in quotes. [...snip...]
[...]
The following is a revised version of the patch which updates this test case.
Also ok. This
On 10/13/2016 01:25 AM, Jakub Jelinek wrote:
Seems 2 functions in varasm.c just use TREE_PUBLIC on LABEL_DECLs together
with other kinds of decls, but as TREE_PUBLIC on LABEL_DECLs means now
something different, it breaks badly.
Which functions are these?
PR c/77946
* tree.h
On 10/12/2016 07:48 PM, David Malcolm wrote:
This patch implements a "compact" mode for print_rtx_function,
implementing most of the ideas above.
Example of output can be seen here:
https://dmalcolm.fedorapeople.org/gcc/2016-10-12/test-switch-compact.rtl
which can be contrasted with the
On 10/12/2016 04:09 PM, Pedro Alves wrote:
Thanks. Here's a follow up patch that I was just testing.
Need this if building with "g++ -std=gnu++11", with gcc < 4.7.
Lovely. That's ok too if the other one goes in.
Bernd
On 10/12/2016 01:04 PM, Markus Trippelsdorf wrote:
I'm more concerned about the first impression that people will get from
this warning. If the fist couple of samples they will look at are
clearly bogus (as with the example comments above) they will very
quickly disable the warning.
And if a
On 10/10/2016 09:32 PM, Pedro Alves wrote:
From: Pedro Alves
Date: 2016-10-10 19:25:47 +0100
Move OVERRIDE/FINAL from gcc/coretypes.h to include/ansidecl.h
So that GDB and other projects that share the top level can use them.
Seems reasonable. OK unless someone objects by
On 10/12/2016 02:43 PM, Richard Biener wrote:
I'd say what applies to PA should apply equally well to the pdp11 and
the alpha port ...
But usually the question is just whether the port has a maintainer
and/or whether it is
a maintainance burden to keep it (say, last user of obsolete feature X).
On 10/12/2016 02:12 PM, John David Anglin wrote:
On 2016-10-12, at 4:02 AM, Jakub Jelinek wrote:
Since this is PA-RISC, which is essentially dead (neither HPE nor Debian
ship it anymore), I stand by my suggestion to bump the fundamental alignment
Or just drop support for a dead arch?
On 10/12/2016 02:10 PM, Marek Polacek wrote:
While implementing a warning I noticed this in gcov-io.c:
187 else if (mode == 0)
188 {
189 struct stat st;
190
191 if (fstat (fd, ) < 0)
192 {
193 fclose (gcov_var.file);
194 gcov_var.file = 0;
On 10/12/2016 01:59 PM, Georg-Johann Lay wrote:
This is a no-op change that just adds comments how the various RTX flags
will appear in RTL dumps.
Ok.
Bernd
On 10/12/2016 01:15 PM, David Malcolm wrote:
+/* Determine if INSN is of a kind that can have a basic block. */
+
+static bool
+can_have_basic_block_p (const rtx_insn *insn)
+{
+ return GET_RTX_FORMAT (GET_CODE (insn))[2] == 'B';
+}
Oof. I suppose they're all at least that long, but still -
On 10/12/2016 12:36 PM, Markus Trippelsdorf wrote:
Here are some examples:
/* Don't break */
/* drop through */ //very popular
/* fall though */
/* pass through... */
/* break intentionally omitted */
/* fallthough */
/* Don't break, this is a failed frame! */
/* leave break out
On 10/12/2016 12:26 PM, Jakub Jelinek wrote:
What do you mean at most? level 0 is the warning disabled, that is the
default except for -Wextra.
I think level 0 has to be on the table for -Wextra as well, depending on
the signal-to-noise ratio of level 1.
Collapsing 3-5 levels is a bad
On 10/12/2016 12:08 PM, Markus Trippelsdorf wrote:
Actually looking more closely it appears that all of the 136 additional
warnings for level 2 are bogus, too. Here is an example:
switch (class) {
case ATA_DEV_SEMB:
class = ATA_DEV_ATA;/* some hard drives
On 10/12/2016 11:31 AM, Markus Trippelsdorf wrote:
On 2016.10.12 at 00:34 +0200, Bernd Schmidt wrote:
It's a discussion we should have, but I agree it should be done
incrementally. I would argue for =1 as the default.
Here are some numbers for an allmodconfig Linux kernel on pcc64le
On 10/12/2016 01:12 AM, Jakub Jelinek wrote:
What I perhaps should try is removing the Common keyword from the
Wimplicit-fallthrough and Wimplicit-fallthrough= entries, e.g. similarly
to how Wnonnull-compare is defined just as Var(...) Warning in common.opt
(so that it can be used in the
On 10/12/2016 12:34 AM, Bernd Schmidt wrote:
* c.opt (Wextra): Add as C/C++/ObjC/ObjC++ option.
(Wimplicit-fallthrough=): Enable for these languages by -Wextra.
This bit looks like it does a bit more magic than is immediately
obvious. Could you elaborate how this works?
Ok, so
On 10/11/2016 11:52 PM, Jakub Jelinek wrote:
The following patch introduces difference warning levels for
-Wimplicit-fallthrough warning, so projects can choose if they want to
honor only attributes (-Wimplicit-fallthrough=5), or what kind of comments.
=4 is very picky and accepts only very
On 10/11/2016 04:23 PM, Denys Vlasenko wrote:
This is better than current behavior, but this is not what I want.
15-byte function does not need to be aligned to 16 bytes on a machine
with 128-byte L1I cachelines. It needs to be aligned to 128 bytes
if there are less than 15 bytes remaining; if
On 10/05/2016 06:15 PM, David Malcolm wrote:
- rtx_reader_ptr->get_top_level_filename ());
+ base_rtx_reader_ptr->get_top_level_filename ());
I wonder if the number of changes could be minimized by retaining the
name rtx_reader for the base class, and using something more
On 10/11/2016 05:34 PM, David Malcolm wrote:
+static void print_rtx_operand (const_rtx in_rtx, int idx);
+static void print_rtx_operand_code_0 (const_rtx in_rtx, int idx);
+static void print_rtx_operand_code_e (const_rtx in_rtx, int idx);
+static void print_rtx_operand_codes_E_and_V (const_rtx
Denys has submitted some patches to add more capabilities to the
-falign-* options, but these still have some issues, and the original
ideas seems to have been to allow for large alignments without
over-aligning small functions. The following patch implements that idea
by taking into account
On 10/11/2016 12:56 PM, Jakub Jelinek wrote:
On Tue, Oct 11, 2016 at 11:47:21AM +0100, Kyrill Tkachov wrote:
check_GNU_style.sh complains a lot about dg-* directives in the testsuite and
in particular about line lengths.
There's nothing we can do about the directives and sometimes they're
On 10/10/2016 12:51 PM, Andreas Schwab wrote:
On ia64 the doloop pattern can only work with DImode, so it should
reject any other mode. Bootstrapped and regtested on ia64-suse-linux.
Andreas.
PR target/77738
* config/ia64/ia64.md ("doloop_end"): Reject if mode of loop
On 10/07/2016 04:08 PM, Kyrill Tkachov wrote:
* simplify-rtx.c (simplify_immed_subreg): Zero-initialize tmp array
before merging in bytes to pass down to real_from_target.
Ok.
Bernd
On 10/07/2016 03:26 PM, David Malcolm wrote:
We could simply print the INSN_UID for CODE_LABELs; something like this
(see the "(code_label 16" below):
I think that should work.
You appear to have trimmed the idea of enclosing the insns with
(basic-block) directives without commenting on it.
On 07/21/2016 08:39 PM, Jeff Law wrote:
On 07/15/2016 07:04 AM, Bernd Schmidt wrote:
c/
PR c++/69733
* c-decl.c (smallest_type_quals_location): New static function.
(grokdeclarator): Try to find the correct location for an ignored
qualifier.
cp/
PR c++/69733
* decl.c
eLog
===
--- gcc/ChangeLog (revision 240861)
+++ gcc/ChangeLog (working copy)
@@ -1,3 +1,9 @@
+2016-10-07 Bernd Schmidt <bschm...@redhat.com>
+
+ PR tree-optimization/77880
+ * expr.c (by_pieces_ninsns): Use unsigned HOST_WIDE_INT where
+ necessary.
+
2016-10
On 10/07/2016 01:07 PM, Richard Biener wrote:
On Fri, 7 Oct 2016, Bernd Schmidt wrote:
Here, if necessary I'd prefer we create a to_clear bitmap and perform an
and_compl operation after the loop.
But that's way more expensive -- you allocate memory and perform an
additional loop over
On 10/07/2016 01:19 PM, Richard Biener wrote:
On Fri, 7 Oct 2016, Richard Biener wrote:
I think the main issue is that it is not documented what is safe to do
(and what are the results) when you modify a bitmap while you are
iterating over it.
Does the following look ok?
Sure.
Bernd
On 10/07/2016 09:20 AM, Richard Biener wrote:
Index: gcc/sched-deps.c
===
--- gcc/sched-deps.c(revision 240829)
+++ gcc/sched-deps.c(working copy)
@@ -3992,8 +3992,14 @@ remove_from_deps (struct deps_desc *deps
removed =
On 10/06/2016 09:53 PM, David Malcolm wrote:
A benefit of keeping the INSN_UIDs is that if you've spent half an hour
single-stepping through RTL modification and know that INSN_UID 1045 is
the one that gets corrupted, you can have that insn have UID 1045 in
the testcase. Otherwise the UIDs get
Let me just make a first pass over this for minor/obvious issues.
+we have little control of the input to that specific pass. We
"control over" maybe?
+The testsuite is below @file{gcc/testsuite/rtl.dg}.
Not sure this needs to be in the manual (I have similar doubts about the
entire
On 10/05/2016 06:15 PM, David Malcolm wrote:
+;; MEM[(struct isl_obj *)] = _obj_map_vtable;
+(insn 1045 0 1046 2 (set (reg:SI 480)
+(high:SI (symbol_ref:SI ("isl_obj_map_vtable")
+[flags 0xc0]
+)))
+ y.c:12702 -1
+ (nil))
+(insn 1046 1045
On 09/30/2016 07:54 PM, Denys Vlasenko wrote:
+struct target_flag_state {
+ /* Each falign-foo can generate up to two levels of alignment:
+ -falign-foo=N,M[,N2,M2] */
+ struct align_flags x_align_loops[2];
+ struct align_flags x_align_jumps[2];
+ struct align_flags x_align_labels[2];
+
On 10/05/2016 06:51 PM, Marek Polacek wrote:
On Wed, Oct 05, 2016 at 05:29:49PM +0200, Jakub Jelinek wrote:
Hi!
When writing test for this PR, I've noticed ICE if the header is compiled
without -fsanitize=undefined, but source is compiled with it.
We had various issues like this in the past,
On 10/05/2016 06:15 PM, David Malcolm wrote:
selftest: s-selftest
s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
- $(GCC_FOR_TARGET) -xc -S -c /dev/null -fself-test
+ $(GCC_FOR_TARGET) -xc -S -c /dev/null -fself-test=$(srcdir)
$(STAMP) $@
I suspect the Makefile
On 10/05/2016 06:15 PM, David Malcolm wrote:
* errors.c: Use consistent pattern for bconfig.h vs config.h
includes.
(progname): Wrap with #ifdef GENERATOR_FILE.
(error): Likewise. Add "error: " to message.
(fatal): Likewise.
(internal_error):
On 10/05/2016 06:14 PM, David Malcolm wrote:
The selftests for the RTL frontend require supporting multiple
reader instances being alive one after another in-process, so
this lack of cleanup would become a leak.
+ /* Initialize global data. */
+ obstack_init (_obstack);
+ ptr_locs =
On 10/05/2016 06:15 PM, David Malcolm wrote:
+void require_char (char expected)
> +void require_word_ws (const char *expected)
Function name goes on a new line. Otherwise ok.
Bernd
On 10/05/2016 06:15 PM, David Malcolm wrote:
- regno_reg_rtx = ggc_vec_alloc (crtl->emit.regno_pointer_align_length);
+ regno_reg_rtx =
+ggc_cleared_vec_alloc (crtl->emit.regno_pointer_align_length);
Oops, also: formatting, operators go first on a newline.
Bernd
On 10/05/2016 06:15 PM, David Malcolm wrote:
- /* Make sure regno_pointer_align, and regno_reg_rtx are large
- enough to have an element for this pseudo reg number. */
+ int cur_size = crtl->emit.regno_pointer_align_length;
+ if (reg_rtx_no == cur_size)
+
On 10/05/2016 06:14 PM, David Malcolm wrote:
Move this part of "expand"'s initialization of crtl into its own
method so that it can used by the RTL frontend when postprocessing
RTL dumps.
gcc/ChangeLog:
* cfgexpand.c (pass_expand::execute): Move stack initializations
to
On 10/05/2016 04:14 PM, David Malcolm wrote:
Thanks. I'm not able to formally approve these changes, but FWIW these
patches look good to me (assuming usual testing).
LGTM too, so OK.
Bernd
On 10/05/2016 04:06 PM, Kyrill Tkachov wrote:
The fix in this patch makes the logic in native_encode_real match the
logic in native_interpret_real,
I just copied the logic across.
Looks reasonable to me. Ok.
Bernd
On 10/04/2016 10:25 PM, Martin Sebor wrote:
Sounds good. Attached is an updated patch reflecting these changes.
Restested by building the powerpc64-linux and tic6x-uclinux cross
toolchains. (Sharing the Glibc and uClibc implementation of the
target hook and defining it in targhooks.c also
On 10/04/2016 04:34 PM, Martin Sebor wrote:
I copied the conditional from config/linux.h but I admit I don't
fully understand when the macro is defined.
AFAICT it's done in config.gcc, for a limited set of targets.
Should I still remove it from targhooks.c?
That is compiled for all
On 09/30/2016 05:41 AM, David Malcolm wrote:
This patch adds rudimentary column-number tracking to read-md.c, to
give more precise locations for messages for problems in .md files
(and in the RTL frontend I'm working on):
../../src/gcc/config/i386/i386.md:1204:22: error: unknown rtx code
On 10/03/2016 12:02 AM, Martin Sebor wrote:
I couldn't find a good uclibc-only file where to put the new
definition of the hook so I conditionally added it to
targethooks.c.
diff --git a/gcc/targhooks.c b/gcc/targhooks.c
index d75650f..77b4a18 100644
--- a/gcc/targhooks.c
+++
201 - 300 of 2124 matches
Mail list logo