Bugfix for PR118591
This bug occurs only with '-Os' option.
The function 'inherit_reload_reg ()' have a wrong condition:
static bool
inherit_reload_reg (bool def_p, int original_regno,
enum reg_
сб, 22 мар. 2025 г. в 18:42, Georg-Johann Lay :
>
> The condition to exclude some object files for AVRrc reduced core
> did not work properly since it was too strict.
>
> LibF7 didn't exclude its objects at all.
>
> This patch uses $(findstring avrtiny,$(MULTIDIR)) in the condition.
>
> No new regr
Georg-Johann Lay writes:
> There are occasions where knowledge about nonzero bits makes some
> optimizations possible. For example,
>
>Rd |= Rn << Off
>
> can be implemented as
>
>SBRC Rn, 0
>ORI Rd, 1 << Off
>
> when Rn in { 0, 1 }, i.e. nonzero_bits (Rn) == 1. This patch adds som
Georg-Johann Lay writes:
> For code in .initN and .finiN there are no calls, hence let the
> compiler add "used" attribute.
>
> Ok for trunk?
Ok.
Denis
>
> Johann
>
> --
>
> AVR: Add attribute "used" for code in .initN and .initN sections.
>
> Code in .initN and .initN sections is never called
вт, 25 февр. 2025 г. в 20:23, Jakub Jelinek :
>
> Hi!
>
> As can be seen in gcc/po/gcc.pot:
> #: config/avr/avr.cc:2754
> #, c-format
> msgid "bad I/O address 0x"
> msgstr ""
>
> exgettext couldn't retrieve the whole format string in this case,
> because it uses a macro in the middle. output_opera
Georg-Johann Lay writes:
> This patch executes avr_builtin_supported_p at a later time and in
> avr_resolve_overloaded_builtin. This allows for better diagnostics
> and avoids lto1 hiccups when a built-in decl is NULL_TREE.
>
> Ok for trunk?
>
Ok.
Denis
Georg-Johann Lay writes:
> When REG_UNUSED notes indicate that some result bytes are not
> used by the following code, then there's no need to asm out them.
> The patch uses such notes for the asm out of AND, IOR, XOR, PLUS, MINUS.
>
> Passes without regressions. Ok for trunk?
Ok.
Please apply.
Georg-Johann Lay writes:
> This patch fixes an ICE on trunk, so I don't plan to backport.
>
> Ok for trunk?
Ok.
Denis
Georg-Johann Lay writes:
> Some AVR devices support a Compact Vector Table.
>
> The support is provided by means of a startup code file
> crt-cvt.o from AVR-LibC that can be linked instead
> of the traditional crt.o.
>
> This patch adds a new command line option -mcvt that links
> that CVT startu
Georg-Johann Lay writes:
> This patch implements a more robust parsing of the
> AVR_MCU lines in genmultlib.awk.
>
> The generated t-multilib-avr is the same.
>
> Ok for trunk?
Ok.
Please apply.
Denis.
Georg-Johann Lay writes:
> Ping for https://gcc.gnu.org/pipermail/gcc-patches/2025-January/673336.html
>
> Am 11.01.25 um 14:09 schrieb Georg-Johann Lay:
>> The patch below is for trunk.
>> Andrew Pinski says he has a patch to fix it, bit that won't
>> materialize
>> before v16.
>> AVR: PR118012
ср, 22 янв. 2025 г. в 23:53, Georg-Johann Lay :
>
> As it turns out, logical 32-bit shifts with an offset of 25..30 can
> be performed in 7 instructions or less. This beats the 7 instruc-
> tions required for the default code of a shift loop.
> Plus, with zero overhead, these cases can be 3-operan
Georg-Johann Lay writes:
> u16 << 5 and u16 << 6 can be tweaked by using MUL instructions.
> Benefit is a better speed ratio with -Os and smaller size with -O2.
>
> No new regressions.
>
> Ok for trunk?
Ok. Please apply.
Denis.
Richard Sandiford writes:
> Denis Chertykov writes:
>> PR rtl-optimization/117868
>> gcc/
>> * lra-spills.cc (assign_stack_slot_num_and_sort_pseudos): Reuse slots
>> only without allocated memory or only with equal or smaller registers
>>
Vladimir Makarov writes:
> On 1/18/25 1:19 AM, Denis Chertykov wrote:
>> Vladimir Makarov writes:
>>
>>>
>>> I'd prefer something like the patch in the attachment.
>>>
>>> It is simpler and even removing more LRA code than adding one.
&
Vladimir Makarov writes:
> On 1/11/25 1:15 PM, Denis Chertykov wrote:
>> The fix for PR117868.
>>
>> In brief:
>> this is an LRA bug derived from reuse spilling slots after frame
>> pointer spilling.
>> The slot was created for QImode (1 byte) and it was r
Georg-Johann Lay writes:
> Most of the avr built-in functions can be attributed "const".
>
> Ok for trunk?
>
Ok.
Denis.
> Johann
>
> --
>
> AVR: Add "const" attribute to avr built-in functions if possible.
>
> gcc/
> * config/avr/avr-c.cc (DEF_BUILTIN): Add ATTRS argument to macro
>
чт, 16 янв. 2025 г. в 21:19, Georg-Johann Lay :
>
> This patch uses the INT_N interface to define __int24.
>
> Ok for trunk?
Ok.
Please apply.
Denis.
вс, 12 янв. 2025 г. в 15:38, Georg-Johann Lay :
>
> Am 11.01.25 um 19:15 schrieb Denis Chertykov:
> > The fix for PR117868.
> > [...]
> >
> > PR rtl-optimization/117868
> > gcc/
> > * lra-spills.cc (assign_stack_slot_num_and_sort_pseudos): R
сб, 11 янв. 2025 г. в 22:15, Denis Chertykov :
> after LRA:
> --
> insn 543 r14 {r66} = [sfp+7]# reload insn
> insn 269 r14 {r66} ^= r2 {r67}
> insn 544 [sfp+24] = r14 {r66} # reload insn -- bug is here !
>
> insn 545 r14 {r69} = [sf
The fix for PR117868.
In brief:
this is an LRA bug derived from reuse spilling slots after frame pointer
spilling.
The slot was created for QImode (1 byte) and it was reused after spilling of the
frame pointer for TImode register (16 bytes long) and it overlaps other slots.
Wrong things happene
чт, 19 дек. 2024 г. в 21:56, Georg-Johann Lay :
>
> The "io", "io_low", and "address" attributes require to asm output
> the definition of respective symbols in a manner that was not supported
> until the introduction of the new target hook TARGET_ASM_VARIABLE.
>
> The previous implementation of th
ср, 11 дек. 2024 г. в 16:56, Georg-Johann Lay :
>
> This patch adds __flashx as a new named address space that allocates
> objects in .progmemx.data. The handling is mostly the same or similar
> to that of 24-bit space __memx, except that the output routines are
> simpler and more efficient. Load
сб, 7 дек. 2024 г. в 17:39, Georg-Johann Lay :
>
> ...the patch
>
> Am 07.12.24 um 14:36 schrieb Georg-Johann Lay:
> > This patch implements an alarm should we ever run out of
> > section flags bits.
> >
> > Ok for trunk?
Ok.
Denis
пт, 6 дек. 2024 г. в 19:32, Vladimir Makarov :
>
> The proposed patch can be a fix and you can commit it. The only request is
> not to close PR for now.
>
> LRA rematerialization sub-pass rematerializes insn containing only pseudos
> assigned to hard regs and should not change live-range of spil
The fix for PR116778:
Brief:
The bug appears in LRA after rematerialization pass while creating live ranges.
File lra.cc:
*
/* Now we know what pseudos should be spilled. Try to
rematerialize them first. */
if (lra
чт, 5 дек. 2024 г. в 14:23, Georg-Johann Lay :
>
> This is an addendum to the -msplit-ldst patch.
>
> When -msplit-ldst is on, it may be possible to propagate __zero_reg__
> to the sources of the new stores. For example, without this patch,
>
> unsigned long lx;
>
> void store_lsr17 (void)
> {
>
ср, 4 дек. 2024 г. в 13:39, Georg-Johann Lay :
>
> This patch reworks patterns that add / subtract an (inverted) MSB.
> It handles more cases by using mode iterators.
>
> Ok for trunk?
>
Please apply.
Denis
чт, 5 дек. 2024 г. в 00:07, Georg-Johann Lay :
>
> In nonlocal_goto sets, change hard_frame_pointer_rtx only after
> emit_stack_restore() restored SP. This is needed because SP
> my be stored in some frame location.
>
> The only change to test results is that gcc.c-torture/execute/pr64242.c
> is p
ср, 4 дек. 2024 г. в 20:16, Georg-Johann Lay :
>
> This patch splits multi-byte loads and stores into single-byte
> ones provided:
>
> - New option -msplit-ldst is on (e.g. -O2 and higher), and
> - The memory is non-volatile, and
> - The address space is generic, and
> - The split addresses are
вт, 3 дек. 2024 г. в 17:32, Georg-Johann Lay :
>
> Some diagnostics are issues late, e.g. in avr_print_operand().
> This patch uses the insn's location as a proxy for the operand
> location. Without the patch, the location is usually input_location,
> which points to the closing } of the function
пн, 2 дек. 2024 г. в 15:29, Georg-Johann Lay :
>
> Logic 8-bit shifts with an offset of 6 can be improved by
> supporting them as 3-operand operations.
>
> Ok for trunk?
>
Ok. Please apply.
Denis.
пт, 29 нояб. 2024 г. в 21:07, Georg-Johann Lay :
>
> This patch splits 2-byte and 3-byte shifts after reload into
> a 3-operand byte shift and a residual 2-operand shift.
>
> The "2op" shift insn alternatives are not needed and removed because
> all shift insn already have a "r,0,n" alternative tha
пт, 29 нояб. 2024 г. в 21:33, Georg-Johann Lay :
>
> This patch fixes a build warning for libgcc/unwind-sjlj.c
> which used word_mode for _Unwind_Word but should use Pmode.
>
> Ok for trunk?
Ok.
Please apply.
Denis.
>
> Johann
>
> --
>
> AVR: target/117681 - Set UNWIND_WORD_MODE to Pmode.
>
> Th
чт, 21 нояб. 2024 г. в 20:39, Georg-Johann Lay :
>
> This is a no-op refactoring that uses a prefix of avropt_
> (formerly: avr_) for variables defined qua Var() directives
> in avr.opt. This makes it easier to spot values that come directly
> from avr.opt in the rest of the backend.
>
> Ok for tr
пт, 22 нояб. 2024 г. в 17:12, Georg-Johann Lay :
>
> This patch is similar to https://gcc.gnu.org/r15-5569 (tweak ashift:SI)
> but for
> ashiftrt and lshiftrt codes. It splits constant shift offsets > 16
> into a 3-operand byte shift and a 2-operand residual bit shift.
> Moreover, some of the
чт, 21 нояб. 2024 г. в 18:08, Georg-Johann Lay :
>
> This patch improves the 4-byte ASHIFT insns.
> 1) It adds a "r,r,C15" alternative for improved long << 15.
> 2) It adds 3-operand alternatives (depending on options) and
> splits them after peephole2 / before avr-fuse-move into
> a 3-oper
вт, 19 нояб. 2024 г. в 21:22, Georg-Johann Lay :
>
> This patch calculates more accurate shift costs, but makes
> the costs for larger offsets no more expensive than the costs
> for an unrolled shift.
>
> Ok for trunk?
Ok. Please apply.
Denis.
вт, 19 нояб. 2024 г. в 15:32, Georg-Johann Lay :
>
> This patch adds 3-operand alternatives to the shift insns for
> offsets that are one less than the bit-size of the mode.
> For example, ashrhi3 can support "r,r,C15" without overhead.
> Apart from that, the asm out functions for the shifts now us
вт, 19 нояб. 2024 г. в 17:21, Georg-Johann Lay :
>
> Now that the C default is C23, we can use bool in avr.h
> (which is still used in libgcc via tm.h).
> bool is a keyword in C23, so no stdbool.h is required in libgcc.
>
> No regressions. Ok for trunk?
Ok.
Please apply.
Denis.
вс, 17 нояб. 2024 г. в 21:23, Georg-Johann Lay :
>
> Am 17.11.24 um 17:01 schrieb Denis Chertykov:
> > вс, 17 нояб. 2024 г. в 18:42, Georg-Johann Lay :
> >>
> >> This introduces a new post reload pass that tracks known values held
> >> in registers a
вс, 17 нояб. 2024 г. в 18:42, Georg-Johann Lay :
>
> This introduces a new post reload pass that tracks known values held
> in registers and performs optimizations based on that knowledge.
>
> It runs between the two instances of the RTL peephole pass.
[...]
> (Memento, AbsInt, AbsInsByte,
сб, 16 нояб. 2024 г. в 18:01, Georg-Johann Lay :
>
> Some passes like CSE kick-up when they see a (clobber (match_dup)) in an
> insn pattern, like it is the case for avr.md's *tablejump.
>
> This patch uses a new "scratch_operand" instead. As the clobbered
> entity is known, the casesi expander n
чт, 14 нояб. 2024 г. в 23:10, Vladimir Makarov :
>
>
> On 11/13/24 14:10, Denis Chertykov wrote:
> > The fix for PR117191
> >
> > Wrong code appears after dse2 pass because it removes necessary insns.
> > (ie insn 554 - store to frame spill slot)
> > This ha
The fix for PR117191
Wrong code appears after dse2 pass because it removes necessary insns.
(ie insn 554 - store to frame spill slot)
This happened because LRA pass doesn't cleanup the code exactly like reload
does.
The reload1.c has a special pass for such cleanup.
The reload removes CLOBBER in
сб, 9 нояб. 2024 г. в 15:51, Georg-Johann Lay :
>
> This patch avoids an internal compiler error when a %i gets an operand
> that's not valid for %i. It uses output_operand_lossage that outputs
> an ordinary error.
>
> Ok to apply?
Ok, please apply.
Denis.
>
> Johann
>
> --
>
> AVR: target/11750
ср, 6 нояб. 2024 г. в 12:58, Georg-Johann Lay :
>
> For operations like X o= CST, regalloc may spill l-reg X to a d-reg:
> D = X
> D o= CST
> X = D
> where it is better to instead
> D = CST
> X o= D
> This patch adds an according RTL peephole.
>
> Ok for trunk?
Please apply
вт, 22 окт. 2024 г. в 14:19, Georg-Johann Lay :
>
> This patch is a 2nd take on fixing PR116953:
>
> The output function for avr_out_sbxx_branch() runs
> jump_over_one_insn_p() which calls extract for the next insn, which
> clobbers recog_data. The previous fix makes local copy of the input
> oper
чт, 17 окт. 2024 г. в 00:32, Vladimir Makarov :
>
>
> On 10/10/24 14:32, Denis Chertykov wrote:
> >
> > The patch is very simple.
> > On x86_64, it bootstraps+regtests fine.
> > Ok for trunk?
> >
> Sorry for the delay with the answer. I missed your patch
Just a reminder with CCing maintainer (Vladimir Makarov).
Denis.
The detailed explanation from PR116550:
Test file: udivmoddi.c
problem insn: 484
Before LRA pass we have:
(insn 484 483 485 72 (parallel [
(set (reg/v:SI 143 [ __q1 ])
(plus:SI (reg/v:SI 143 [ __q1 ])
(const_int -2 [0xfffe])))
чт, 3 окт. 2024 г. в 12:19, Georg-Johann Lay :
>
> avr_out_sbxx_branch calls jump_over_one_insn_p which may clobber
> recog_data.operand as is calls extract on the next insn.
>
> A fix is to make a copy of avr_out_sbxx_branch`s incoming operands.
>
> Ok to apply?
Ok.
Please apply.
Denis.
>
> Joh
пн, 16 сент. 2024 г. в 19:45, Georg-Johann Lay :
>
> AVR-LibC has been moved to GitHub a while ago. This patch
> adjusts web links to the documentation and to the project
> page.
>
> Ok for trunk?
Please apply.
Denis.
>
> Johann
>
> --
>
> AVR: Update weblinks to AVR-LibC.
>
> AVR-LibC has move
вс, 15 сент. 2024 г. в 19:32, Georg-Johann Lay :
>
> Unsigned comparisons may skip comparing the lower bytes when
> the according bytes of the constant are all zeros. For example,
>
> uint16 >= 0x1200
>
> is true iff
>
> hi8 (uint16) >= hi8 (0x1200)
>
> and similar for uint16 < 0x1200.
сб, 14 сент. 2024 г. в 14:29, Georg-Johann Lay :
>
> This patch tidies up enum and struct tags that are
> not required in C++. It also uses rtx_code for
> RTX codes instead of RTX_CODE. RTX_CODE is now only
> used in #ifdef's in avr-protos.h.
>
> Ok for trunk?
Ok.
Please apply.
Denis.
>
> Joha
сб, 14 сент. 2024 г. в 13:00, Georg-Johann Lay :
>
> This uses new rtx code copysign instead of an unspec.
> It also allows const_double as 2nd operand because gcc
> does not optimize code like
>
> __builtin_copysignf (x, -1.0f);
>
> Ok for trunk?
Ok. Please apply.
Denis.
>
> Johann
>
> --
>
>
пт, 13 сент. 2024 г. в 20:41, Georg-Johann Lay :
>
> The transparent call insns like "*parityhi2.libgcc" output a single
> [R]CALL instruction that can be skipped by the skip instructions.
> Such insns have attribute "type" of "xcall" and can therefore
> be easily recognized.
>
> Ok for trunk?
Ple
пт, 13 сент. 2024 г. в 15:08, Georg-Johann Lay :
>
> This is a no-op change that uses the recently added avr_byte()
> function instead of simplify_gen_subreg (QImode, ...
>
> Ok for trunk?
Ok.
Please, apply.
Denis
>
> Johann
>
> --
>
> AVR: Use avr_byte instead of simplify_gen_subreg (QImod
чт, 12 сент. 2024 г. в 17:32, Georg-Johann Lay :
>
> This patch reworks avr_out_compare:
>
> Use new convenient helper functions that may be useful in
> other output functions, too.
>
> Generalized some special cases that only work for EQ and NE
> comparisons. For example, with the patch
>
> ;; R2
пн, 2 сент. 2024 г. в 12:10, Georg-Johann Lay :
>
> Am 02.09.24 um 09:18 schrieb Jan Dubiec:
> > On 02.09.2024 08:49, Georg-Johann Lay wrote:
> >> Atmel is no more the AVR manufacturer. This patch removes the
> >> manufacturer from the file headers.
> >>
> >> Ok for trunk?
> > In this context, mic
пт, 30 авг. 2024 г. в 16:09, Georg-Johann Lay :
>
> There are cases, where opportunities to use POST_INC addressing
> only occur very late in the compilation process. Take for example
> the following function from AVR-LibC's qsort:
>
> void swapfunc (char *a, char *b, int n)
> {
> do
> {
чт, 29 авг. 2024 г. в 12:42, Georg-Johann Lay :
>
> Ping #2 for the patch to make better use of SREG, and some
> code clean-ups for trunk. No new regressions.
>
> #0 https://gcc.gnu.org/pipermail/gcc-patches/2024-August/659422.html
> #1 https://gcc.gnu.org/pipermail/gcc-patches/2024-August/660743.
чт, 29 авг. 2024 г. в 12:22, Georg-Johann Lay :
> This patch adds a new C++ module avr-passes.cc for the avr-specific
> passes.
>
> There are currently 5 avr-specific passes, and since avr.cc has
> gotten fat, this patch moves the respective classes and support
> functions to avr-passes.cc.
>
> Co
вс, 25 авг. 2024 г. в 20:15, Denis Chertykov :
>
>
>
> вс, 25 авг. 2024 г. в 17:55, Jeff Law :
>>
>>
>>
>> On 8/23/24 6:20 AM, Richard Biener wrote:
>> > On Fri, Aug 23, 2024 at 2:16 PM Georg-Johann Lay wrote:
>> >>
>> >> T
вс, 25 авг. 2024 г. в 17:55, Jeff Law :
>
>
> On 8/23/24 6:20 AM, Richard Biener wrote:
> > On Fri, Aug 23, 2024 at 2:16 PM Georg-Johann Lay wrote:
> >>
> >> This patch overhauls the avr-ifelse mini-pass that optimizes
> >> two cbranch insns to one comparison and two branches.
> >>
> >> More opti
This is a new one.
http://www.microchip.com/design-centers/8-bit/microchip-avr-mcus
2018-03-10 20:15 GMT+04:00 Gerald Pfeifer :
> It appears this link at atmel.com has been taken down without
> what appears a replacement, so I applied the patch below.
>
> Denis, if you have a new reference, happy
Committed.
2018-01-09 Georg-Johann Lay
PR target/84209
* config/avr/avr.h (GENERAL_REGNO_P, GENERAL_REG_P): New macros.
* config/avr/avr.md: Only post-reload split REG-REG moves if
either register is REGERAL_REG_P.
--- config/avr/avr.h (revision 257384)
+++ config/av
2018-01-08 20:19 GMT+04:00 Georg-Johann Lay :
> This PR skips saving of any registers in main.
>
> Attribute OS_main can do this as well, however we can just drop
> any saves / restores in all optimized compilation -- not even
> the test suite needs these saves.
>
> The feature can still be switche
2017-08-21 16:35 GMT+04:00 Georg-Johann Lay :
> "address" attribute only must be specified with VARs,
> yet the compiler dived into attribute analysis for
> non-VARs, resulting in ICE.
>
> This patch also adds OPT_Wattributes as warning filter.
>
> Ok to apply?
Approved.
Please apply.
>
> Johann
2017-07-27 16:50 GMT+04:00 Georg-Johann Lay :
> On 27.07.2017 14:29, Georg-Johann Lay wrote:
>>
>> For some targets, the best place to put read-only lookup tables as
>> generated by -ftree-switch-conversion is not the generic address space
>> but some target specific address space.
>>
>> This is th
Approved.
2017-07-20 18:28 GMT+04:00 Georg-Johann Lay :
> Hi, this is a re-layout of mentioned section in extend.texi.
>
> Purpose is to have a unified layout where the explanation has
> a farther indentation than the item (function) to be explained.
>
> Ok for trunk?
>
> Johann
>
> gcc/
>
2017-07-14 18:16 GMT+04:00 Georg-Johann Lay :
> Hi, this patch restores some of the divmod handling.
>
> It addresses two issues:
>
> 1) rtx_costs might be called with code = LSHIFTRT for a mul_highpart. This
> is the case when outer_code = TRUNCATE. This patch uses a new function to
> compute the
2017-07-12 12:45 GMT+04:00 Georg-Johann Lay :
> Hi, if the C++ front-end decides that something will need constructing,
> it will silently put the stuff into .rodata so that according
> pgm_read_xxx will read garbage from .progmem.
>
> As proposed by Jason, this patch diagnoses such situations.
>
>
I'm sorry for so long delay.
Please apply the patch.
2017-07-05 14:19 GMT+04:00 Georg-Johann Lay :
> Ping #3
>
> http://gcc.gnu.org/ml/gcc-patches/2017-06/msg01029.html
>
> As avr maintainers are off-line, would a global maintainer have
> a look at this?
>
> Thanks,
>
> Johann
>
>
>
>
> On 27.06.
2017-07-07 18:31 GMT+04:00 Georg-Johann Lay :
> Hi,
>
> this patch addresses a very old issue, the non-optimal
> generation of ISR prologues and epilogues.
>
> As GAS now provides the __gcc_isr pseudo instruction to
> overcome some problems, see
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=2
2017-06-12 11:40 GMT+04:00 Georg-Johann Lay :
> On 12.06.2017 08:30, Pitchumani Sivanupandi wrote:
>>
>> On Friday 09 June 2017 03:59 PM, Georg-Johann Lay wrote:
>>>
>>> Hi,
>>>
>>> This patch adds support for devices that can access flash memory
>>> by LD* instructions, hence there is no need to p
2017-05-22 15:37 GMT+04:00 Georg-Johann Lay :
> This patch simplifies genmultilib.awk so that it generates
> MULTILIB_REQUIRED instead of the complement, MULTILIB_EXCEPTIONS.
>
> The current awk script dates back to the days when we mapped
> all the > 200 devices to the mmcu core and also parts of
2017-04-19 14:43 GMT+04:00 Georg-Johann Lay :
> This PR is about an incorrect warning for variables in progmem
> without initializer. If the variable is just an alias like in
> and with -fmerge-all-constants
>
> const __flash char string1[] = "same string";
> const __flash char string2[] = "same s
2017-03-12 15:32 GMT+04:00 Gerald Pfeifer :
> On Sun, 12 Mar 2017, Gerald Pfeifer wrote:
>> Also, I'm offering help around one particular aspect I noticed:
>>
>> References to dependencies on really, really old versions of
>> binutils (talking 10+ years here) which I think we can remove.
>> Let me
2017-02-06 14:03 GMT+04:00 Georg-Johann Lay :
> This patch adds an alternative to addhi3_zero_extend for the case
> where output operand and the 8-bit addend happen to reside
> the the same register. Without the patch this might lead
> to additional reloads to satisfy the constraints like
>
>
> ui
2017-02-06 14:06 GMT+04:00 Georg-Johann Lay :
> https://gcc.gnu.org/ml/gcc-patches/2017-01/msg00926.html
>
> On 13.01.2017 12:53, Georg-Johann Lay wrote:
>>
>> This is 3rd way to fix PR78883 by rejecting malicious expressions
>> from the start.
>>
>> Ok for trunk?
>>
>> Johann
>>
>> gcc/
>> PR
2017-01-13 17:28 GMT+04:00 Georg-Johann Lay :
> This adds a penalty of 4 to the post-reload branch costs.
>
> Purpose is reduce the number of out-of-line blocks like in
>
> unsigned long variant5 (unsigned in)
> {
> unsigned long out = 0;
> if (in & (1 << 0)) out |= 0xful << (4*0);
> if
2017-01-02 19:22 GMT+04:00 Georg-Johann Lay :
> On 02.01.2017 15:54, Dominik Vogt wrote:
>>
>> On Mon, Jan 02, 2017 at 03:47:43PM +0100, Georg-Johann Lay wrote:
>>>
>>> This fixes PR78883 which is a problem in reload revealed by a
>>> change to combine.c. The fix is as proposed by Segher: implemen
2016-12-13 13:36 GMT+04:00 Georg-Johann Lay :
> Ping #1
>
> As I explained below, the solution taken be arm (pruning output)
> does not work here.
Approved.
Please apply your patch.
>
> Johann
>
> On 02.12.2016 11:21, Georg-Johann Lay wrote:
>>
>> On 01.12.2016 17:40, Mike Stump wrote:
>>>
>>> On
2016-12-01 12:26 GMT+03:00 Georg-Johann Lay :
> The introduction of the flash_size field in avr_mcu_t rendered the n_flash
> field redundant. This patch computes the value of n_flash as needed from
> flash_size and cleans up n_flash.
>
> Ok for trunk?
>
> Johann
>
> gcc/
> * config/avr/avr
2016-12-01 17:28 GMT+03:00 Georg-Johann Lay :
> This adds to the documentation a hint how to set up a linker description
> file that avoids progmem altogether any without the usual overhead of
> locating read-only data in RAM. The proposed linker description file is
> completely transparent to the
2016-11-30 18:09 GMT+03:00 Georg-Johann Lay :
> On 30.11.2016 07:27, Pitchumani Sivanupandi wrote:
>>
>> On Tuesday 29 November 2016 10:06 PM, Denis Chertykov wrote:
>>>
>>> 2016-11-28 10:17 GMT+03:00 Pitchumani Sivanupandi
>>> :
>>>>
>&
2016-11-28 10:17 GMT+03:00 Pitchumani Sivanupandi
:
> On Saturday 26 November 2016 12:11 AM, Denis Chertykov wrote:
>>
>> I'm sorry for delay.
>>
>> I have a problem with the patch:
>> (Stripping trailing CRs from patch; use --binary to disable.)
>> pat
2016-11-25 18:34 GMT+03:00 Georg-Johann Lay :
> Mentioned PR is about composing 16-bit values out of 8-bit values which due
> to integer promotions likes to work on 16-bit values.
>
> The patch adds 3 combiner patterns to catch such situations and then split
> after reload. Some more splitting is
inary to disable.)
patching file specs.h
Hunk #1 succeeded at 58 (offset 1 line).
Hunk #2 succeeded at 66 (offset 1 line).
2016-11-22 23:27 GMT+03:00 Georg-Johann Lay :
> Denis Chertykov schrieb:
>>
>> Do you have any objections, George ?
>
>
> No, the last delta rev3 fro
Do you have any objections, George ?
2016-11-22 8:05 GMT+03:00 Pitchumani Sivanupandi
:
> Ping!
>
> On Monday 14 November 2016 07:03 PM, Pitchumani Sivanupandi wrote:
>>
>> Ping!
>>
>> On Thursday 10 November 2016 01:53 PM, Pitchumani Sivanupandi wrote:
>>>
>>> On Wednesday 09 November 2016 08:05
2016-11-22 15:41 GMT+03:00 Georg-Johann Lay :
> This patch is a minor improvement of prologue length. It now allows frame
> sizes of up to 11 to be allocated by RCALL + PUSH 0 sequences but limits the
> number of RCALLs to 3.
>
> The PR has some discussion on size vs. speed consideration w.r. to u
2016-11-18 16:31 GMT+03:00 Georg-Johann Lay :
> Currently, Binutils still comes with an AVR_TINY linker description file
> which puts .rodata into RAM so that LDS is applicable for reading such
> objects.
>
> However, as these devices come with a linearised address model, linker
> descriptions whic
2016-11-09 19:55 GMT+03:00 Sandra Loosemore :
> On 11/07/2016 05:54 AM, Georg-Johann Lay wrote:
>>
>> @@ -15261,6 +15262,13 @@ GCC supports the following AVR devices a
>>
>> @include avr-mmcu.texi
>>
>> +@item -mabsdata
>> +@opindex mabsdata
>> +
>> +Assume that all data in static stocage can be a
2016-10-24 13:33 GMT+03:00 Georg-Johann Lay :
> This fixes issues with casesi that originate from taking hard coded
> subreg:HI of the SImode switch value:
>
> * The subreg is cutting away the upper bytes which is wrong code if the
> switch actually operates on a value > 16 bits.
>
> * The hard-cod
2016-10-12 14:32 GMT+03:00 Georg-Johann Lay :
> This patch introduces a new variable attribute "absdata".
>
> Reduced Tiny cores have only a limited range of addresses 0x40..0xbf which
> can be handled by LDS / STS directly. The attribute allows the user to
> assert that it is legitimate to use ab
2016-10-10 16:36 GMT+03:00 Georg-Johann Lay :
> This is a code clean-up using the new -passes.def feature in order
> to register avr target passes and to get -fdump-xxx etc. to work for such
> passes.
>
> Ok for trunk?
>
> Johann
>
> * config/avr/avr-passes.def: New file.
> * config
2016-10-07 17:06 GMT+03:00 Georg-Johann Lay :
> Mentioning some AVR target specific improvements.
>
> Ok?
>
Ok.
Approved.
Please commit.
2016-09-26 15:30 GMT+03:00 Senthil Kumar Selvaraj
:
> Ping!
>
> Regards
> Senthil
> Senthil Kumar Selvaraj writes:
>
>> Hi,
>>
>> Is it ok to backport PR 65210 to gcc-5-branch? The patch is already in
>> 6.x and trunk.
>>
>> Regards
>> Senthil
>>
>> gcc/ChangeLog
>>
>>
2016-09-22 7:52 GMT+03:00 Senthil Kumar Selvaraj
:
> Hi,
>
> This patch fixes cost computation in avr_address_cost - instead of the
> hardcoded 61, it uses the already existing MAX_LD_OFFSET(mode) macro.
>
> This showed up when investigating a code size regression in the ivopts
> pass. That
1 - 100 of 406 matches
Mail list logo