p;$1
unexpectedly compiles for some case I couldn't think of.
Ok to install?
reject macros in math decl check
From: Alexandre Oliva
The C++ headers #undef the functions we are testing for, just in case
they're implemented as macros. Do that as well, so as to reject
macros of the form #
On Jan 20, 2020, Richard Biener wrote:
> On Thu, 16 Jan 2020, Alexandre Oliva wrote:
>> Here it is, at last, regstrapped on x86_64-linux-gnu. Ok to install?
> I'm hesitant to approve it now since we're in stage4 and been too
> permissive already. So ...
> OK for
On Jan 21, 2020, Jonathan Wakely wrote:
> On 21/01/20 21:36 -0300, Alexandre Oliva wrote:
>>
>> Padding in mbstate_t objects may get the memcmp to fail.
>> Attempt to avoid the failure with zero initialization.
>>
>>
>> Regstrapped on x86_64-linux-gnu,
, will adjust, test, post and install.
--
Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo
Free Software Evangelist Stallman was right, but he's left :(
GNU Toolchain EngineerFSMatrix: It was he who freed the first of us
FSF & FSFLA board member
On Jan 22, 2020, Andreas Schwab wrote:
> On Dez 25 2019, Alexandre Oliva wrote:
>> +dnl # Different versions and execution modes implement different
>> +dnl # subsets of these functions. Instead of hard-coding, test for C
>> +dnl # declarations in headers. The C primitive
On Jan 23, 2020, Jonathan Wakely wrote:
> On 23/01/20 00:20 -0300, Alexandre Oliva wrote:
>> On Jan 22, 2020, Jonathan Wakely wrote:
>>
>>> Isn't allowing arithmetic on function pointers a GNU extension?
>>
>> Does that matter? This test is only su
On Jan 22, 2020, Jonathan Wakely wrote:
>>> I don't think so, that wouldn't work. I think pos02 could just be
>>> removed from the test.
>> Will do.
> Thanks, OK to commit.
Thanks, here's what I tested and am about to install.
tolerate padding in
ty arguments should also be deferred to 11.
> I think it's fine to make that change now.
Here's the split-out patch I'm installing now. The other fragment is
being combined with the patch pending for GCC 11 stage 1.
[libiberty] output empty args as a pair of quotes
From: Al
On Jan 22, 2020, Richard Biener wrote:
> I think it's fine to make that change now.
FTR, the combined patch, to be installed in GCC 11, is commit
f798a915a2a00ff7921644d0e08cb88e7db581a2, in
refs/users/aoliva/heads/aux-dump-revamp
I'm not reposting the monster patch right now.
_GetGR (uw_context, UNWIND_STACK_REG);
+#endif
+
#ifndef CERT
/* Trigger the appropriate notification routines before the second
phase starts, when the stack is still intact. First install what
--
Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo
Free S
ls_decl)
&& DECL_INITIAL (tls_decl) != error_mark_node))
return;
--
Alexandre Oliva, freedom fighter he/him https://FSFLA.org/blogs/lxo
Free Software Evangelist Stallman was right, but he's left :(
GNU Toolchain EngineerFSMatrix: It was he who
{target}" target_canonical="${target}" \
@@ -100,5 +101,5 @@ for ml in `cat ${itoolsdatadir}/fixinc_list`; do
fi
fi
- cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}
+ cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}/limits.h
done
--
Alexandre O
b756cc838b8df
--- /dev/null
+++ b/gcc/testsuite/gnat.dg/zcur_attr.ads
@@ -0,0 +1,4 @@
+package ZCUR_Attr is
+ function F return Integer;
+ pragma Machine_Attribute (F, "zero_call_used_regs", "all");
+end ZCUR_Attr;
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blo
On Sep 15, 2021, Alexandre Oliva wrote:
> Regstrapped on x86_64-linux-gnu. Patch pre-approved by Olivier Hainque.
Uhh, actually, Olivier had only seen and approved these changes:
> for gcc/ada/ChangeLog
> * gcc-interface/utils.c: Inclu
On Dec 9, 2019, Richard Biener wrote:
> On Tue, 3 Dec 2019, Alexandre Oliva wrote:
>> I'm considering rejecting command lines that specify both an explicit
>> -dumpdir and -save-temps=cwd, and in the absence of an explicit
>> -dumpdir, arranging for -save-temps
ument 1 is a word list naming function to check
+dnl
+dnl ASSUMES arguments are math functions
+dnl
+dnl GLIBCXX_CHECK_MATH_DECLS
+AC_DEFUN([GLIBCXX_CHECK_MATH_DECLS], [
+ m4_foreach_w([glibcxx_func], [$1], [
+ GLIBCXX_CHECK_MATH_DECL(glibcxx_func)
+ ])
+])
--
Alexandre Oliva, freedom fighte
On Nov 7, 2019, Alexandre Oliva wrote:
> compiling a single source idir/ibase.iext:
> -o odir/obase.oext specified: default -dumpdir odir -dumpbase obase.iext
> -o obase.oext specified: default -dumpbase obase.iext
> -o ibase.oext implied: default -dumpbase ibase.iext
On Dec 25, 2019, Alexandre Oliva wrote:
> 3. do not take the executable name into account when it shares the
> basename with an input file; combine executable basename with input name
> otherwise. this makes gcc -o foo[.exe] -g -gsplit-dwarf foo.c output
> foo.dwo rather than foo-fo
Ping? https://gcc.gnu.org/pipermail/gcc-patches/2021-June/573137.html
On Jun 18, 2021, Alexandre Oliva wrote:
> for gcc/ChangeLog
> * ipa-modref.c (modref_lattice::add_escape_point): Merge
> min_flags into flags.
> (modref_lattice::dump): Fix escape_point
eh_return = src_cfun->calls_eh_return;
- cfun->stdarg = src_cfun->stdarg;
+ cfun->stdarg = src_cfun->stdarg && stdarg_p (TREE_TYPE (new_fndecl));
cfun->after_inlining = src_cfun->after_inlining;
cfun->can_throw_non_call_exceptions
= src_cfun->can_thro
== 0);
+ gsi_remove (&i, true);
+ }
}
}
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injus
TR_FOR_FN (cfun));
- gcc_assert (new_bb != bb);
- }
}
new_gsi = gsi_after_labels (new_bb);
gsi_remove (&i, false);
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software
s one is defined in cfgexpand.c. */
+extern rtx expand_debug_expr (tree);
/* Return STRING_CST and set offset, size and decl, if the first
argument corresponds to a string constant. */
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist
new_type);
new_parm = build_decl (UNKNOWN_LOCATION, PARM_DECL, NULL_TREE,
new_type);
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flouris
if (str[idx] != 't'
+ if (str[idx + 1] != 't'
/* Size specified is scalar, so it should be described
by ". " if specified at all. */
&& (arg_specified_p (str[idx +
hen done.
>> * tree-ssa-alias.c (attr_fnspec::verify): Fix index in
>> non-'t'-sized arg check.
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because
a local function, seems to be what enables the substitution of the
mfctop constant initializer. I haven't found a way to cause such a
difference without my pass, even getting a constprop (local) clone for
the function, and preventing its inlining into an exported function.
Hopefully th
On Jul 13, 2021, Alexandre Oliva wrote:
> On Jul 13, 2021, Richard Biener wrote:
>> oops - also worth backporting to affected branches.
> Thanks, I took that as explicit approval and put it in.
> attr fnspec is new in gcc-11, not present in gcc-10, so I'm testing a
> tr
On Jul 14, 2021, Richard Biener via Gcc-patches wrote:
> Can you put the above (and maybe your patch) into a PR so it doesn't
> get lost?
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101454
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Softwa
has* to be an IPA pass, but
not a typical one in that it doesn't queue up IPA transformations to be
applied at a later materialization.
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flour
f (fun && (fun->curr_properties & PROP_gimple_any))
{
/* The function is now in GIMPLE form but the CFG has not been
built yet. Emit the single sequence of GIMPLE statements
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free So
);
else
gcc_unreachable ();
- gsi_insert_before (&dsi, new_stmt, GSI_SAME_STMT);
+ gsi_insert_before (&dsi, new_stmt, GSI_NEW_STMT);
id->debug_stmts.safe_push (new_stmt);
gsi_prev (&ssi);
}
--
Alexandre Oliva, happy hacker
g-final { scan-assembler-not
"DW_TAG_lexical_block\\)\[^#/!@;\\|x\]*x(\[0-9a-f\]*)\[^#/!@;\\|\]*\[#/!@;\\|\]+
+DW_AT_abstract_origin.*\\(DIE \\(0x\\1\\)
DW_TAG_lexical_block\\)\[^#/!@;\\|\]*\[#/!@;\\|\]+ +DW_AT" } } */
int foo (int i)
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Vim, Vi, Voltei pro Emacs -- GNUlius Caesar
T_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \
do { \
if ((LOG) != 0) { \
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist
89676 */
/* { dg-do compile { target ia32 } } */
-/* { dg-options "-O2 -mno-stv" } */
+/* { dg-options "-O2 -mno-stv -fomit-frame-pointer" } */
unsigned long long
foo (unsigned long long i)
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activ
\
- } while (0)
-#undef ASM_OUTPUT_MAX_SKIP_PAD
-#define ASM_OUTPUT_MAX_SKIP_PAD(FILE, LOG, MAX_SKIP) \
- if ((LOG) != 0) \
-{ \
- if ((MAX_SKIP) == 0 || (
mwaitintrin.h"
- ;;
ia64-*-*)
extra_headers=ia64intrin.h
extra_options="${extra_options} g.opt fused-madd.opt"
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Vim, Vi, Voltei pro Emacs -- GNUlius Caesar
On Feb 22, 2021, Richard Biener wrote:
> On Fri, Feb 19, 2021 at 9:08 AM Alexandre Oliva wrote:
>>
>> Here's an improved version of the patch. Regstrapped on
>> x86_64-linux-gnu, with and without a patchlet that moved multi-pieces
>> ahead of setmem,
On May 3, 2021, Richard Biener wrote:
> On Fri, Apr 30, 2021 at 4:42 PM Jeff Law wrote:
>>
>>
>> On 4/28/2021 10:26 PM, Alexandre Oliva wrote:
>> > On Feb 22, 2021, Richard Biener wrote:
>> >
>> >> On Fri, Feb 19, 2021 at 9:08 AM Alexandre
R(n) \
+ (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
+
/* CPU macro definitions, ordered to account for VxWorks 7 not
supporting CPUs older than PENTIUM4 since SR0650. */
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
uite/28_regex/traits/wchar_t/isctype.cc
b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
index d153c58483ae2..e3de5ea9ee911 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
+++ b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
@@ -1,6 +1,7 @@
// { dg-do run { ta
cking it in :-(
> I committed the fix as obvious in the following commit:
> https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5fbe6a8e73b52c6ebc28b9111456226c1cda6472
Thank you!
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist
* } }
//
// 2010-06-23 Stephen M. Webb
diff --git a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
b/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
index d153c58483ae2..e3de5ea9ee911 100644
--- a/libstdc++-v3/testsuite/28_regex/traits/wchar_t/isctype.cc
+++ b/libstdc++-v3
{
+ static bool issued_error;
+ if (!issued_error)
+ {
+ issued_error = true;
+ sorry ("%qs not supported on this target",
+ "-fzero-call-used-regs");
+ }
+}
+
return need_zeroed_hardregs;
}
--
Alexandre Oliva, ha
300 arm v850 rx pru)
Interesting that ppc64le is not on your list. There's PR107453 about
that, and another thread is discussing a fix for it that is somewhat
different from what you propose (presumably because the way the problem
manifests on ppc64le is different), but it also tweaks expand
sound to me, but I also suspect it won't fix
the ppc64le issue. My hunch is that we'll need a combination of both,
possibly with further tweaks to adjust for Jakub's just-added test.
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free So
On Mar 1, 2024, "Richard Earnshaw (lists)" wrote:
> On 01/03/2024 04:38, Alexandre Oliva wrote:
>> Thanks for the review.
> For closure, Jakub has just pushed a patch to the generic code, so I
> don't think we need this now.
ACK. I see the c2x-stdarg-4.c test
ree-dump-times {={v} \*j_[0-9][0-9]*(D)} 2 "optimized" }
} */
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity
Excluding neuro-others for not behaving ""normal"" is *not* inclusive
|| flag_test_coverage
- || profile_arc_flag));
+ || profile_arc_flag)
+ && !seen_error ());
}
} // anon namespace
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and le
On Mar 22, 2024, Jeff Law wrote:
> On 3/9/24 2:11 AM, Alexandre Oliva wrote:
>> ipa_tree_profile asserts that the symtab is in IPA_SSA state, but we
>> don't reach that state and ICE if e.g. ipa-strub passes report errors.
>> Skip this pass if errors were seen.
>>
On Feb 5, 2024, Jakub Jelinek wrote:
> * test_installed: Fill in HOSTCC, HOSTCXX, HOSTCFLAGS and
> HOSTCXXFLAGS.
LGTM, thanks,
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Too
uggests to me that, rather than setting BUILD_INFO to the empty
string, we should set it to e.g. no-info, so that $(MAKEINFO) will not
be run because x$(BUILD_INFO) != xinfo, but so that we still get the
dependencies resolved, e.g. by making no-info depend on info. Or maybe
make it info-check
h.
Holy nightmare, Batman! :-) :-(
Perhaps the way to go is an explicit configure setting, recommended by
the fail early, to disable the env var setting?
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance
will chime in in
support for earlier merging? (hint, hint ;-)
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice but
if_zicsr_zfinx -mabi=lp64" } */
int foo() {}
-/* { dg-error "'-march=rv64if_zfinx': z\\*inx conflicts with floating-point
extensions" "" { target *-*-* } 0 } */
+/* { dg-error "'-march=rv64if_zicsr_zfinx': z\\*inx conflicts with
floating-poin
ize_t vl)
/*
** foo11:
** ...
-** vmv.v.i\tv[0-9]+,\s*0
+** vmv.s.x\tv[0-9]+,\s*zero
** ...
** ret
*/
@@ -161,7 +161,7 @@ void foo11 (void *base, void *out, size_t vl)
/*
** foo12:
** ...
-** vmv.v.i\tv[0-9]+,\s*0
+** vmv.s.x\tv[0-9]+,\s*zero
** ...
** ret
*/
@@ -172,6 +172,20 @@
---
;; Predicated Strided loads/stores
;;
---
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/base/pr110943.c
b/gcc/testsuite/gcc.target/riscv/rvv/base/pr110943.c
n
sembler-times "ctzw" 1 } } */
+/* { dg-final { scan-assembler-not "andi" } } */
diff --git a/gcc/testsuite/gcc.target/riscv/zbbw.c
b/gcc/testsuite/gcc.target/riscv/zbbw.c
index 709743c3b6807..f7b2b63853f40 100644
--- a/gcc/testsuite/gcc.target/riscv/zbbw.c
+++ b/gcc/testsuite/g
This backport for gcc-13 is the first of two required for the
g++.dg/pch/line-map-3.C test to stop hitting a variant of the known
problem mentioned in that testcase: on riscv64-elf and riscv32-elf,
after restoring the PCH, the location of the macros is mentioned as if
they were on line 3 rather tha
me
+and line number where each macro was defined, and then add
+these locations into the new line map. See PR105608. */
+ if (!_cpp_create_definition (r, h, r->line_table->highest_line))
abort ();
_cpp_pop_buffer (r);
e a far more conservative change,
that I think we could make even at this stage. WDYT?
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity
Excluding neuro-others for not behaving ""normal"" is *not* inclusive
On Feb 20, 2024, Jeff Law wrote:
> On 2/19/24 21:26, Alexandre Oliva wrote:
>> This backport for gcc-13 is required for pr90838.c to get the expected
>> count of andi instructions on riscv64-elf
.
> In general, shouldn't backports be focused on correctness issues?
*nod
libgcc but system
libstdc++), and I'm pretty sure hunch that this mixed approach is likely
to break down the road, even if not right now.
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolera
nfigure could go about looking for system libraries in the default
search path, or in RPATH_ENV_VAR, that share the soname with those we're
about to build, identify preexisting libraries that are newer than those
we're about to build, populate a build-tree directory with symlinks to
them,
erve those bits. But whether they should be cleared by stack
scrubbing, as on sparc, or preserved, as on ppc, depends on the ABI
conventions, so we probably can't help yet another knob :-/
I'll take care of that, and update the corresponding documentation.
Thanks,
--
Alexandre Oliva, ha
ea. Whereas the caller-used area needs to be
preserved across a call, the callee-used one could conceivably even be
used as scratch space by the caller.
> Nice, thanks! Welcome back. :-)
Thank you!
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist
ing now,
to restore fully-functioning strub on sparc32.
Please let me know in case you observe any other problems related with
strub. I'd be happy to fix them, but I can only do so once I'm aware of
them.
In case the reversal or the upcoming cleanup has any negative impact,
please mak
be
+doubly-scrubbed by caller and callee.
+@end defmac
+
@defmac TARGET_STRUB_USE_DYNAMIC_ARRAY
If defined to nonzero, @code{__strub_leave} will allocate a dynamic
array covering the stack range that needs scrubbing before clearing it.
--
Alexandre Oliva, happy hacker
e, args);
@@ -1448,7 +1464,7 @@ aarch64_init_simd_builtin_functions (bool
called_from_pragma)
snprintf (namebuf, sizeof (namebuf), "__builtin_aarch64_%s",
d->name);
- tree attrs = aarch64_get_attributes (d->flags, d->mode);
+ tree attrs = aa
/gcc.dg/dfp/pr108068.c
@@ -1,5 +1,4 @@
/* PR tree-optimization/108068 */
-/* { dg-do run } */
/* { dg-options "-O2" } */
int
diff --git a/gcc/testsuite/gcc.dg/dfp/pr97439.c
b/gcc/testsuite/gcc.dg/dfp/pr97439.c
index 7fcf834043cb0..c651ec22e4314 100644
--- a/gcc/testsuite/gcc.dg/df
oid); extern int bar;
- int baz (void) { return foo () + bar; }
+ char *baz (void) {
+ return foo () + (char*) malloc (bar);
+ }
} "-shared -fpic"]
}
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist
On Dec 5, 2023, Alexandre Oliva wrote:
> arm: fix c23 0-named-args caller-side stdarg
Ping?
https://gcc.gnu.org/pipermail/gcc-patches/2023-December/639472.html
> The commit message doesn't name explicitly the fixed testsuite
> failures. Here they are:
> FAIL: gcc.dg/c23-std
ise.
* gcc.dg/dfp/bid-non-canonical-d128-3.c: Likewise.
* gcc.dg/dfp/bid-non-canonical-d128-4.c: Likewise.
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and less prejudice are key for inclus
wrappers?
> Unfortunately that isn't suitable for stage 4 though.
ACK. Is there a partial implementation of that? I might get a chance
to take it to completion, even if it doesn't make gcc 14.
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
t a, struct {int b[a];} c) {} /* { dg-warning "anonymous struct" } */
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity
Exc
On Jan 19, 2024, Alexandre Oliva wrote:
> On Jan 18, 2024, "Kewen.Lin" wrote:
>> Not sure if I missed something in the testing, could you
>> kindly double check if those test cases started to fail from r14-6275 on your
>> env?
> My guess is that they start
; defined LD_PIE_SPEC
save_switch (LD_PIE_SPEC, 0, NULL, /*validated=*/true,
/*known=*/false);
#endif
/* These are passed straight down to collect2 so we have to break
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist G
so
that it can't use the red zone. */
static void ATTRIBUTE_STRUB_CALLABLE
-__attribute__ ((__noinline__, __noipa__))
__strub_dummy_force_no_leaf (void)
{
}
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU
;decl, optimize) == 2
+ && gimple_call_tail_p (ocall)))
? strub_watermark_parm (e->caller->decl)
: NULL_TREE);
bool omit_own_watermark = swmp;
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist
l
+++ b/libgcc/config/sparc/t-sparc
@@ -0,0 +1,4 @@
+# This is needed for __strub_leave to omit the frame pointer, without
+# which it will allocate a register save area on the stack and leave
+# it unscrubbed and most likely unused, because it's a leaf function.
+CFLAGS-strub.c += -fno-PIC -
NTER_OFFSET);
+
+ return force_reg (ptr_mode, ret);
}
/* Expand a call to builtin function __builtin_strub_enter. */
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and less prejudice
chas it
enables a future de-cfun-ification of strub passes to be a little more
mechanical.
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion and diversity
Excluding neuro-others for not behaving ""normal"" is *not* inclusive
e are also regarded as
+modifiable by calls, rather than as allocated for use by the caller.
+This is only theoretical, since leaf functions do not issue calls, but a
+constant offset makes this built-in function more predictable.
@end deftypefn
@node Stack Scrubbing
--
Alexandre Oliva, happy hac
+77,6 @@ __strub_update (void **watermark)
/* Dummy function, called to force the caller to not be a leaf function, so
that it can't use the red zone. */
static void ATTRIBUTE_STRUB_CALLABLE
-__attribute__ ((__noinline__, __noipa__))
__strub_dummy_force_no_leaf (void)
{
}
--
A
ns "-finline-stringops=memcpy -save-temps -g0 -fno-lto" } */
+/* { dg-timeout-factor 2 } */
#include "../memcmp-1.c"
/* Yeah, this memcmp test exercises plenty of memcpy, more than any of the
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/
8 } */
+/* { dg-options "-finline-stringops -Os" } */
+
+typedef __int128 v64u128 __attribute__((vector_size(64)));
+int c;
+v64u128 u;
+void foo() {
+ if (c)
+u = (v64u128){0};
+ else
+u = (v64u128){1};
+}
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
sts ===$/ {tool = $2} /^Running target / {target = $3} { if (tool !=
"") { sub(/:[ ]/, "&"tool": " ); }; if (target != "unix") { sub(/:[ ]/,
"&"target": " ); }; print $0; }' | cut -c1-2000 >$tmp1
+sed 's/^XFAIL/
is
+not an optimization, to avoid relying on library
+implementations.
+
New Languages and Language specific improvements
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More toleran
On Dec 19, 2023, Jason Merrill wrote:
> On 12/11/23 22:00, Jason Merrill wrote:
>> OK for trunk?
> Ping. CCing Alex because this could plausibly be considered build
> machinery, and he's had useful feedback on my sh code before.
LGTM, thanks!
--
Alexandre
- set_apply_result_size (size);
+ saved_apply_result_size = size;
}
return size;
}
--
Alexandre Oliva, happy hackerhttps://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
More tolerance and less prejudice are key for inclusion a
On Dec 11, 2023, Richard Biener wrote:
> On Sat, Dec 9, 2023 at 8:05 AM Alexandre Oliva wrote:
>> PR target/112778
>> * builtins.cc (can_store_by_multiple_pieces): New.
>> (try_store_by_multiple_pieces): Call it.
>> +/* Check that store_by_pieces allows B
On Nov 22, 2023, Jan Hubicka wrote:
> I wonder why you use same body aliases, which are kind of special to C++
> frontend (and come with fixup code working around its quirks you had to
> disable above).
TBH, I don't recall whether I had any reason to have gone down that
path, or I just didn't re
On Nov 30, 2023, Jan Hubicka wrote:
>> + if (VAR_P (replaced))
>> +varpool_node::create_alias (sym_node->decl, replacement);
>> + else
>> +cgraph_node::create_alias (sym_node->decl, replacement);
Unfortunately, this change didn't work. Several of the C++ tests
regressed with i
/c-c++-common/torture/harden-cfr-noret.c
+++ b/gcc/testsuite/c-c++-common/torture/harden-cfr-noret.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-fharden-control-flow-redundancy
-fhardcfr-check-noreturn-calls=always -fdump-tree-hardcfr -ffat-lto-objects" }
*/
+
On Dec 1, 2023, Alexandre Oliva wrote:
> Also tested on arm-eabi, but it's *not* enough (or needed) to fix the
> PR, there's another bug lurking there, with a separate patch coming
> up.
Here it is.
The computation of apply_args_size and apply_result_size is saved i
On Dec 1, 2023, Alexandre Oliva wrote:
> diff --git a/gcc/testsuite/c-c++-common/torture/harden-cfr-noret.c
> b/gcc/testsuite/c-c++-common/torture/harden-cfr-noret.c
> index fdd803109a4ae..8c7cc01c0ce68 100644
> --- a/gcc/testsuite/c-c++-common/torture/harden-cfr-noret.c
> +++
On Nov 9, 2023, Jonathan Wakely wrote:
> On Thu, 9 Nov 2023 at 01:56, Alexandre Oliva wrote:
>> g++.dg/tls/thread_local-order2.C fails when the toolchain is built for
>> a platform that lacks __cxa_thread_atexit_impl, even if the program is
>> built and run using that
callable"), __const__)) c ();
+
int __attribute__ ((__strub__))
#if ! __OPTIMIZE__
__attribute__ ((__const__))
#endif
-f() {
- return 0;
+f () {
+ return c ();
}
int
-g() {
- return f();
+g () {
+ return f ();
}
/* { dg-final { scan-ipa-dump-times "__asm__" 2 "strub&qu
is known to have ever been defined in libc. On it...
Or maybe a weak definition (or weak alias to a definition) in that file
would enable us to test whether the weak definition was preempted, and
use it if so. Or even move the fallback definition into the weak
symbol.
Thanks again,
--
Alexan
On Dec 5, 2023, Alexandre Oliva wrote:
> I intend to install this as part of the monster patch upthread.
I tweaked it a little further, so that exceptions don't mess with the
pattern counts, and extending the same anti-vrp measure to the other
strub-const tests, even though they
101 - 200 of 2011 matches
Mail list logo