Re: [patch i386]: Combine memory and indirect jump

2014-06-20 Thread Kai Tietz
I tested variant to use additional the split pass for memory combining for indirect jumps. By this we don't need to add a second peephole2 pass. Other advantage of this version is that even for -O1 we do combining. ChangeLog 2014-06-20 Kai Tietz kti...@redhat.com PR target/39284

Re: [patch i386]: Combine memory and indirect jump

2014-06-20 Thread Kai Tietz
2014-06-20 19:23 GMT+02:00 Richard Henderson r...@redhat.com: On 06/20/2014 08:56 AM, Kai Tietz wrote: +(define_split + [(set (match_operand:W 0 register_operand) +(match_operand:W 1 memory_operand)) + (set (pc) (match_dup 0))] + !TARGET_X32 peep2_reg_dead_p (2, operands[0

Re: [patch i386]: Combine memory and indirect jump

2014-06-20 Thread Kai Tietz
So revert to use a second peephole2 pass before final split before sched2 pass. Ok for apply ChangeLog 2014-06-20 Kai Tietz kti...@redhat.com PR target/39284 * passes.def (peephole2): Add second peephole2 pass before split before sched2 pass. * config/i386/i386.md (peehole2

Re: [patch i386]: Combine memory and indirect jump

2014-06-20 Thread Kai Tietz
2014-06-20 19:55 GMT+02:00 Richard Henderson r...@redhat.com: On 06/20/2014 10:52 AM, Kai Tietz wrote: 2014-06-20 Kai Tietz kti...@redhat.com PR target/39284 * passes.def (peephole2): Add second peephole2 pass before split before sched2 pass. * config/i386/i386.md

Re: [patch i386]: Combine memory and indirect jump

2014-06-20 Thread Kai Tietz
2014-06-20 20:14 GMT+02:00 Jeff Law l...@redhat.com: On 06/20/14 12:07, Kai Tietz wrote: 2014-06-20 19:55 GMT+02:00 Richard Henderson r...@redhat.com: On 06/20/2014 10:52 AM, Kai Tietz wrote: 2014-06-20 Kai Tietz kti...@redhat.com PR target/39284 * passes.def (peephole2): Add

[patch libgcc]: Fix PR libgcc/61585 Subscript-out-of-range in unwind-seh.c

2014-06-23 Thread Kai Tietz
Hi, this fixes a potential out-of-bound access in unwind-seh's GetGr/SetGr function. ChangeLog 2014-06-23 Kai Tietz kti...@redhat.com PR libgcc/61585 * unwind-seh.c (_Unwind_GetGR): Check for proper index range. (_Unwind_SetGR): Likewise. I will apply this patch after

bootstrap failure for cygwin, mingw targets due recent changes to hash_table

2014-06-24 Thread Kai Tietz
Hi Trevor, your recent commits have broken bootstrap for cygwin/mingw i386 targets with: ../../gcc/gcc/config/i386/winnt.c: In Funktion »unsigned int i386_pe_section_type_flags(tree, const char*, int)«: ../../gcc/gcc/config/i386/winnt.c:503:61: Fehler: keine passende Funktion für Aufruf von

Re: [patch passes.def]: Fix regression on ARM PR/61608

2014-06-25 Thread Kai Tietz
2014-06-25 17:50 GMT+02:00 Richard Henderson r...@redhat.com: On 06/25/2014 08:28 AM, Jeff Law wrote: Ask an ARM maintainer if the new code is actually better than the old code. It isn't. It appears that with the peep2 pass moved that we actually if-convert the fall-thru path of the

Re: [patch passes.def]: Fix regression on ARM PR/61608

2014-06-25 Thread Kai Tietz
2014-06-25 19:15 GMT+02:00 Jeff Law l...@redhat.com: On 06/25/14 10:02, Kai Tietz wrote: 2014-06-25 17:50 GMT+02:00 Richard Henderson r...@redhat.com: On 06/25/2014 08:28 AM, Jeff Law wrote: Ask an ARM maintainer if the new code is actually better than the old code. It isn't

Re: [patch passes.def]: Fix regression on ARM PR/61608

2014-06-25 Thread Kai Tietz
2014-06-25 20:12 GMT+02:00 Richard Henderson r...@redhat.com: On 06/25/2014 06:35 AM, Kai Tietz wrote: Hello, so there seems to be a fallout caused by moving peephole2 pass. See PR/61608. So we need indeed 2 peephole2 passes. We don't need a second peephole pass. Please try this. I think

Re: [PATCH] remove broken and redundant diagnostic in i386_pe_section_type_flags

2014-06-27 Thread Kai Tietz
Hi Trev, 2014-06-27 1:55 GMT+02:00 tsaund...@mozilla.com: From: Trevor Saunders tsaund...@mozilla.com Hi, While fixing up the hash_table patch's bustedness here I noticed the code doesn't make any sense. What it inserts into the hash table will never match what we try and look up in it.

Re: [cygming] make sure libgcc logic is consistent

2014-07-24 Thread Kai Tietz
Hello DJ, sorry for late reply. Patch is ok. Please apply. Thanks, Kai - Original Message - This patch changes the logic in crtbegin that looks for libgcc.dll such that the test is only done once, guaranteeing consistent results between the register and deregister cases.

Re: [patch sdbout]: Fix ICE on -debug testsuite test const2.C for coff

2014-11-11 Thread Kai Tietz
Ping

[patch c++]: Cleanup locally only/unused functions in typeck.c

2014-11-12 Thread Kai Tietz
Hello, I noticed that in typeck.c's API some functions are used just locally, and one has no users at all. So this patch cleans that up. ChangeLog 2014-11-12 Kai Tietz kti...@redhat.com * cp-tree.h (cp_build_function_call): Remove prototype. (cp_build_addr_expr_strict): Likewise

Re: [Ping] Port of VTV for Cygwin and MinGW

2014-11-12 Thread Kai Tietz
014-11-12 17:22 GMT+01:00 Patrick Wollgast patrick.wollg...@rub.de: Ping for the question below. On 30.10.2014 15:29, Patrick Wollgast wrote: Since I haven't heard back for quite a while, I wanted to ask what the current stat of the patch is. Is the patch from the last mail approved (

Re: [Ping] Port of VTV for Cygwin and MinGW

2014-11-12 Thread Kai Tietz
2014-11-12 18:45 GMT+01:00 Patrick Wollgast patrick.wollg...@rub.de: I don't think you have addressed all of the comments I made in the comment, do you? Regards, Kai I added the three checks, if TARGET_PECOFF is defined, and fixed the whitespace issues. For the questions regarding

Re: [C++ Patch] Add maybe_constant_folded_value

2014-11-13 Thread Kai Tietz
2014-11-13 17:10 GMT+01:00 Jason Merrill ja...@redhat.com: On 11/13/2014 05:47 AM, Paolo Carlini wrote: shall we do something like the below? Something similar, yes. Though it would also be nice to avoid the redundant checking in the two functions: we only want to do constexpr folding if

Patch: Some potential warnings for C++ bootstrap

2014-11-14 Thread Kai Tietz
Hello, this patch fixes some potential warnings for C++ bootstrap. I noticed them while working on the delayed folding for C++-FE on boostrap. ChangeLog 2014-11-14 Kai Tietz kti...@redhat.com * dwarf2out.c(output_loc_operands): Make sure that comparison is done on same sign

Re: Patch: Some potential warnings for C++ bootstrap

2014-11-14 Thread Kai Tietz
2014-11-14 21:45 GMT+01:00 Jason Merrill ja...@redhat.com: On 11/14/2014 03:41 PM, Kai Tietz wrote: - gcc_assert (val1-v.val_unsigned == DWARF2_ADDR_SIZE); + gcc_assert (val1-v.val_unsigned + == (unsigned HOST_WIDE_INT) DWARF2_ADDR_SIZE); These changes should

[patch c++]: Fix PR/53904

2014-11-20 Thread Kai Tietz
Hello, this issue fixes a type-overflow issue caused by trying to cast a UHWI via tree_to_shwi. As soon as value gets larger then SHWI_MAX, we get an error for it. So we need to cast it via tree_to_uhwi, and then casting it to the signed variant. ChangeLog 2014-11-20 Kai Tietz kti

Re: [patch c++]: Fix PR/53904

2014-11-26 Thread Kai Tietz
Ok. Adjusted patch attached. Nevertheless we should use here unsigned HWI instead of possible truncation to signed int. I admit that it is unlikely to have more then 2^31 elements, but well Ok for apply with adjusted ChangeLog? Regards, Kai Index: constexpr.c

Re: [patch c++]: Fix PR/53904

2014-11-27 Thread Kai Tietz
Sorry, missed to add needed hunk to disable pedantic warnings for this testcase. Committed it as obvious fix at rev 218130. Kai

[patch testsuite gcc.dg]: Turn of ms-extensions for mingw target

2014-11-28 Thread Kai Tietz
Hi, this patch turns off ms-extensions for mingw-targets to match diagnostics checked in testcases. Ok for apply? Kai ChangeLog 2014-11-28 Kai Tietz kti...@redhat.com * gcc.dg/anon-struct-1.c: * gcc.dg/anon-struct-11.c: * gcc.dg/anon-struct-2.c: * gcc.dg/c11-anon-struct-2.c

[patch testsuite g++]: Fixes for mingw-targets

2014-11-28 Thread Kai Tietz
Hi, this patch fixes for mingw-targets some LP assumptions, adjusts for some testcases that ms-extensions is turned off for diagnostics, and turns on pedantic for some testcase to match expected diagnostics. Ok for apply? Kai ChangeLog 2014-11-28 Kai Tietz kti...@redhat.com * g++.dg

Re: [Ping] Port of VTV for Cygwin and MinGW

2014-09-27 Thread Kai Tietz
Hi Patrick, the mingw/cygwin part your patch looks fine to me. Nevertheless I have one question regarding to you. Do you have FSF papers for gcc already? As I asked an overseer and he didn't found you on the list. Regards, Kai

Re: [Ping] Port of VTV for Cygwin and MinGW

2014-10-09 Thread Kai Tietz
2014-10-09 15:52 GMT+02:00 Patrick Wollgast patrick.wollg...@rub.de: On 27.09.2014 12:50, Kai Tietz wrote: Hi Patrick, the mingw/cygwin part your patch looks fine to me. Nevertheless I have one question regarding to you. Do you have FSF papers for gcc already? As I asked an overseer

[patch libstdc++]: Fix PR/59807

2014-10-14 Thread Kai Tietz
toolchains, too. Therefore I adjusted the default mingw32-case, too. ChangeLog 2014-10-14 Kai Tietz kti...@redhat.com PR libstdc++/59807 * config/os/mingw32/os_defines.h (_GTHREAD_USE_MUTEX_INIT_FUNC): Define to avoid leak. * config/os/mingw32-w64/os_defines.h: Likewise. I am

Re: [PATCH 1/2] Windows libibery: Don't quote args unnecessarily

2014-04-19 Thread Kai Tietz
Hello Ray, Patches to libiberty need to be cross-posted to binutils, gdb, and gcc ML. I did so for you now. - Original Message - We only quote arguments that contain spaces, \n \t \v or characters to prevent wasting 2 characters per argument of the CreateProcess() 32,768 limit.

Re: [PATCH 2/2] Windows libcpp: Make path-exists semantics more Posix-like

2014-04-19 Thread Kai Tietz
Hello Ray, - Original Message - Windows does a short-circuit lookup of paths containing ../ which means that: exists/doesnotexist/../file is considered to exist, while on Posix it is considered not to. The Posix semantics are relied upon when building glibc so any paths

Re: RFA: x86 backend: Add default-manifest to Cygwin/MinGW links

2014-04-23 Thread Kai Tietz
Hello Nick, 2014-04-23 10:53 GMT+02:00 Nick Clifton ni...@redhat.com: Hi Guys, Please could I have permission to apply the patch below ? Ideally for both mainline and the 4.9 branch. The patch adds a file called default-manifest.o to the end of a final link command line for the

Re: RFA: x86 backend: Add default-manifest to Cygwin/MinGW links

2014-04-23 Thread Kai Tietz
2014-04-23 11:06 GMT+02:00 Nicholas Clifton ni...@redhat.com: Hi Kai, The default manifest file contains a resource section (.rsrc) holding information necessary for the binary to be run under Windows 8. It is placed last on the linker command line so that a user provided

Re: [PATCH 2/2] Windows libcpp: Make path-exists semantics more Posix-like

2014-04-25 Thread Kai Tietz
2014-04-25 18:53 GMT+02:00 Pedro Alves pal...@redhat.com: On 04/19/2014 09:41 PM, Kai Tietz wrote: Isn't this function something better placed in libiberty? Also this name looks a bit confusing. Wouldn't be a an function calling for _WIN32 case also stat, and just overrides the st_mode

Re: [PATCH 2/2] Windows libcpp: Make path-exists semantics more Posix-like

2014-04-25 Thread Kai Tietz
2014-04-25 21:24 GMT+02:00 Pedro Alves pal...@redhat.com: On 04/25/2014 08:05 PM, Kai Tietz wrote: 2014-04-25 18:53 GMT+02:00 Pedro Alves pal...@redhat.com: On 04/19/2014 09:41 PM, Kai Tietz wrote: Isn't this function something better placed in libiberty? Also this name looks a bit

Re: [PATCH] Work around for current Cygwin-32 Build problems

2014-04-30 Thread Kai Tietz
2014-04-30 14:01 GMT+02:00 Bernd Edlinger bernd.edlin...@hotmail.de: Hi, due to a defect in the currently available binutils-2.24 and earlier, it is not possible to boot-strap GCC 4.9.0 and trunk with certain widely used configurations for Cygwin-32 environment. See PR 60830 for details.

[patch libgcc]: Fix PR c++/57440

2014-05-07 Thread Kai Tietz
Hi, this patch adds for Windows targets the define _GTHREAD_USE_MUTEX_INIT_FUNC, which is necessary as pthread-emulation for those targets are just handling pthread_mutext_init, othread_mutex_destroy proper. ChangeLog libgcc 2014-05-07 Kai Tietz kti...@redhat.com PR c++/57440

Re: [patch libgcc]: Fix PR c++/57440

2014-05-07 Thread Kai Tietz
2014-05-07 21:41 GMT+02:00 Jonathan Wakely jwakely@gmail.com: On 7 May 2014 20:06, Kai Tietz wrote: PR c++/57440 N.B. that should be libstdc++/57440 in the ChangeLog Oh, yes of course. Thanks. Kai

Re: [PATCH] Windows libiberty: Don't quote args unnecessarily (v2)

2014-05-08 Thread Kai Tietz
2014-05-07 8:55 GMT+02:00 Ray Donnelly mingw.andr...@gmail.com: We only quote arguments that contain spaces, \t or characters to prevent wasting 2 characters per argument of the CreateProcess() 32,768 limit. libiberty/ * pex-win32.c (argv_to_cmdline): Don't quote args

Re: [PATCH] Windows libibery: Don't quote args unnecessarily

2014-05-08 Thread Kai Tietz
Ah, that was my mail-client. Patch is ok IMO. I add Ian CC for a second look at it. Cheers, Kai

Re: [PATCH] Enable Java on Cygwin-64

2014-05-12 Thread Kai Tietz
Hi, I have the following comment. boehm-gc/ChangeLog: 2014-05-11 Bernd Edlinger bernd.edlin...@hotmail.de Fix current cygwin-64 build problems. * include/gc_config_macros.h (GC_PTHREADS): Use __CYGWIN__ instead of __CYGWIN32__ here. * win32_threads.c (GC_push_all_stacks): Push all X86_64

[patch i386]: Sibcall tail-call improvement and partial fix PR/60104

2014-05-22 Thread Kai Tietz
2014-05-22 Kai Tietz kti...@redhat.com PR target/60104 * config/i386/i386-protos.h (x86_sibcall_memory_p): New prototype. * config/i386/i386.md (!SIBLING_CALL_P): Add alternative check for x86_sibcall_memory_p. * config/i386/i386.c (x86_sibcall_memory_p

[patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-22 Thread Kai Tietz
on tail-call case. All other registers might be callee-saved, or used for argument-passing. The only case where we would use the accumulator on call is the variadic-case for x86_64 ABI. Just that this function never is a candidate for sibling-tail-calls. ChangeLog 2014-05-22 Kai Tietz kti

Re: [patch i386]: Sibcall tail-call improvement and partial fix PR/60104

2014-05-23 Thread Kai Tietz
Hello, yes the underlying issue is the same as for PR/46219. Nevertheless the patch doesn't solve this mentioned PR as I used for know a pretty conservative checking of allowed memories. By extending x86_sibcall_memory_p_1 function about allowing register-arguments too for memory, this

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-26 Thread Kai Tietz
Hi, adjusted patch to make it more bullet-proved and tested it. 2014-05-26 Kai Tietz kti...@redhat.com * config/i386/i386.c (ix86_expand_call): Enforce for sibcalls on memory the use of accumulator-register. (ix86_function_ok_for_sibcall): Reject for x86_64 ABI sibling

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-26 Thread Kai Tietz
- Original Message - On Mon, May 26, 2014 at 02:20:36PM -0400, Kai Tietz wrote: --- i386.c (revision 210936) +++ i386.c (working copy) @@ -5298,6 +5298,12 @@ ix86_function_ok_for_sibcall (tree decl, tree exp) decl_or_type = type; } + /* We need to reject

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-26 Thread Kai Tietz
- Original Message - On Mon, May 26, 2014 at 03:22:50PM -0400, Kai Tietz wrote: In any case, I still can't understand how limiting the choices of the register allocator can improve code rather than making it worse. If the accumulator is available there, why doesn't the RA choose

Re: [patch i386]: Sibcall tail-call improvement and partial fix PR/60104

2014-05-27 Thread Kai Tietz
- Original Message - On 05/23/14 02:58, Kai Tietz wrote: Hello, yes the underlying issue is the same as for PR/46219. Nevertheless the patch doesn't solve this mentioned PR as I used for know a pretty conservative checking of allowed memories. By extending

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-27 Thread Kai Tietz
Ok, so just the part ok the patch remains to prevent varardic-functions being a sibling-tail-call remains. Kai

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-28 Thread Kai Tietz
-sibcalls. ChangeLog gcc 2014-05-28 Kai Tietz kti...@redhat.com * config/i386/i386.c (x86_output_mi_thunk): Add memory case for sibling-tail-calls. * config/i386/i386.md (sibcall_insn_operand): Add memory-constrain to its use. * config/i386/predicates.md

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-28 Thread Kai Tietz
- Original Message - On 05/28/14 11:22, Richard Henderson wrote: On 05/28/2014 01:43 AM, Kai Tietz wrote: + if (GET_CODE (op) == CONST) +op = XEXP (op, 0); + return (GET_CODE (op) == SYMBOL_REF || CONSTANT_P (op)); Surely all this boils down to just CONSTANT_P (op

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-28 Thread Kai Tietz
- Original Message - On Wed, May 28, 2014 at 03:54:58PM -0600, Jeff Law wrote: Why not get rid of all the above 4 lines and just keep: return CONSTANT_P (op); ? CONST matches CONSTANT_P, and what is inside of CONST should be fine, and (plus (symbol_ref) (const_int)) not

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-30 Thread Kai Tietz
So, completed bootstrap and regression-test for x86_64-unknown-linux-gnu (multilib) by using following predicate for sibcall-patch. (define_predicate sibcall_memory_operand (match_operand 0 memory_operand) { return CONSTANT_P (op); }) Worked fine, no regressions. Is sibcall-patch ok with

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-30 Thread Kai Tietz
- Original Message - On 05/30/2014 01:08 AM, Kai Tietz wrote: (define_predicate sibcall_memory_operand (match_operand 0 memory_operand) { return CONSTANT_P (op); }) Surely that always returns false? Surely XEXP (op, 0) so that you look at the address, not the memory

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-31 Thread Kai Tietz
Hmm, this might cause by allowing CONST-memory-addresses. This was doubtful from the beginning. It would be helpful to see here for the case a final rtl-dump. Could you try if following patch (it is incomplete as it disregards plus-expression) solves your bootstrap issue? Regards, Kai Index:

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-31 Thread Kai Tietz
That patch won't help here. My tests showing here a different problem. For -O2 or above this issue happens. For -O2 the following code will be generated. movl28(%esp), %eax testl %eax, %eax je L16 movl%ebp, 64(%esp) addl$44, %esp

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-31 Thread Kai Tietz
Hello, recent fallout about sibcall was caused by using 'm' constraint for sibcalls. By this wrongly combines happened on reload-pass. ChangeLog 2014-05-31 Kai Tietz kti...@redhat.com * constrains.md (define_constrain): New 'B' constraint. * i386.md (sibcall_insn_operand): Use B

Re: [patch i386]: Expand sibling-tail-calls via accumulator register

2014-05-31 Thread Kai Tietz
In testcase a NULL escaped ... ChangeLog testsuite 2014-05-31 Kai Tietz kti...@redhat.com * gcc.target/i386/sibcall-6.c: New test. Index: gcc.target/i386/sibcall-6.c === --- gcc.target/i386/sibcall-6.c(Revision 0

[patch i386]: Fix sibcall failures caused by allowing constant memories

2014-05-31 Thread Kai Tietz
Hello, I resend patch within new thread. Recent fallout about sibcall was caused by using 'm' constraint for sibcalls. By this wrongly combines happened on reload-pass. That patch introduces new constraint 'B' for sibcall_memory_operand. ChangeLog 2014-05-31 Kai Tietz kti...@redhat.com

Re: [patch i386]: Fix sibcall failures caused by allowing constant memories

2014-06-01 Thread Kai Tietz
2014-06-01 9:28 GMT+02:00 Uros Bizjak ubiz...@gmail.com: Please make this a two-letter constraint (perhaps Bs). We are already short in single-letter constraints. Sure, I did. I committed patch at revision 22. Kai

[patch i386]: Prevent to assume for 64-bit ms-abi that DX_REG is used as function-value

2014-06-03 Thread Kai Tietz
Hello, this patch fixes a nit detected in ix86_function_value_regno_p. For x64 ms-abi we don't have DX_REG-register as valid function-value register. ChangeLog 2014-06-03 Kai Tietz kti...@redhat.com * config/i386/i386.c (ix86_function_value_regno_p): Disallow DX_REG for 64

[patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-03 Thread Kai Tietz
directly before outputing it. If it is preferred we can modify here instead ix86_output_call_insn to allow forcing to output sibcall on demand. ChangeLog 2014-06-03 Kai Tietz kti...@redhat.com PR target/46219 * config/i386/i386.md (UNSPEC_PEEPSIB): New unspec

Re: [patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-03 Thread Kai Tietz
- Original Message - On 06/03/2014 12:56 PM, Kai Tietz wrote: +(define_insn *sibcall_intern + [(call (unspec [(mem:QI (match_operand:W 0 memory_operand))] UNSPEC_PEEPSIB) +(match_operand 1))] + + * SIBLING_CALL_P (insn) = 1; return ix86_output_call_insn (insn

[patch recog.c]: Copy sibcall-flags for calls also in peep2_attempt

2014-06-03 Thread Kai Tietz
Hi, this patch adds copying of SIBLING_CALL_P flag to new call-instruction. This behavior is by this patch consistent to the try_split function in emit-rtl.c. This patch is a prerequisite for my updated sibling-tail-call optimization patch. ChangeLog 2014-06-03 Kai Tietz kti...@redhat.com

Re: [patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-04 Thread Kai Tietz
So after SIBLING_CALL_P flags gets now preserved in peep2_attempt, the patch simplifies. Regression tested for x86_64-unknown-linux-gnu, and i686-pc-cygwin. Ok for apply (with ChangeLog plus testcase adjustment as done by initial patch)? Index: config/i386/i386.md

Re: [patch i386]: Fix PR/46219 Generate indirect jump instruction

2014-06-05 Thread Kai Tietz
Thanks for all your hints. Here is the updated patch ChangeLog testsuite 2014-06-05 Kai Tietz kti...@redhat.com PR target/46219 * gcc.target/i386/sibcall-4.c: Remove xfail. ChangeLog 2014-06-05 Kai Tietz kti...@redhat.com Richard Henderson r...@redhat.com PR target

[patch i386]: Combine memory and indirect jump

2014-06-11 Thread Kai Tietz
Hello, this patch adds simple combining of indirect-jumps on memory-address. This patch is pretty similar to sibcall-combing. ChangeLog 2014-06-11 Kai Tietz kti...@redhat.com * config/i386/i386.md (peehole2): To combine indirect jump with memory. 2014-06-11 Kai Tietz kti

Re: [patch i386]: Combine memory and indirect jump

2014-06-11 Thread Kai Tietz
2014-06-11 11:57 GMT+02:00 Steven Bosscher stevenb@gmail.com: On Wed, Jun 11, 2014 at 10:32 AM, Kai Tietz wrote: this patch adds simple combining of indirect-jumps on memory-address. This patch is pretty similar to sibcall-combing. ChangeLog 2014-06-11 Kai Tietz ktietz

Re: [patch i386]: Combine memory and indirect jump

2014-06-12 Thread Kai Tietz
Hello, I updated i386.md part of the patch. Initial patch included handling of blockage, which is obviously superflous. Additionally I merged 32-bit and 64-bit peephole2 versions by using mode-specifier W. ChangeLog 2014-06-12 Kai Tietz kti...@redhat.com * config/i386/i386.md (peehole2

Re: [patch i386]: Combine memory and indirect jump

2014-06-12 Thread Kai Tietz
2014-06-12 20:52 GMT+02:00 Segher Boessenkool seg...@kernel.crashing.org: On Thu, Jun 12, 2014 at 06:21:32PM +0200, Kai Tietz wrote: with addition of adding a second peephole2 pass after sched2 pass, I was able to get some improvement for PR target/39284. I think by this addition we can close

Re: [patch i386]: Combine memory and indirect jump

2014-06-13 Thread Kai Tietz
2014-06-12 23:46 GMT+02:00 David Wohlferd d...@limegreensocks.com: On 6/12/2014 9:21 AM, Kai Tietz wrote: with addition of adding a second peephole2 pass after sched2 pass, I was able to get some improvement for PR target/39284. I think by this addition we can close bug as fixed

Re: [patch i386]: Combine memory and indirect jump

2014-06-13 Thread Kai Tietz
2014-06-13 17:58 GMT+02:00 Jeff Law l...@redhat.com: On 06/13/14 09:56, Richard Henderson wrote: On 06/13/2014 08:36 AM, Jeff Law wrote: So you may have answered this already, but why can't this be a combiner pattern? Until pass_duplicate_computed_gotos, we (intentionally) have a single

[patch libatomic]: Add basic support for mingw targets

2014-06-16 Thread Kai Tietz
for native and posix-threading model mingw (32-bit and 64-bit). ChangeLog 2014-06-16 Kai Tietz kti...@redhat.com * Makefile.am (libatomic_la_LDFLAGS): Add lt_host_flags. * configure.ac (ACX_LT_HOST_FLAGS): New. (target_thread_file): New. * configure.tgt (mingw): Add mingw support

Re: [patch libatomic]: Add basic support for mingw targets

2014-06-17 Thread Kai Tietz
2014-06-17 21:16 GMT+02:00 Jeff Law l...@redhat.com: On 06/16/14 07:20, Kai Tietz wrote: Hello, this patch adds basic support for libatomic for mingw targets using win32 and for mingw targets using posix threading model. The win32 implemenation might need for initialization of mutexes

Re: [patch i386]: Combine memory and indirect jump

2014-06-17 Thread Kai Tietz
2014-06-17 21:26 GMT+02:00 Jeff Law l...@redhat.com: On 06/13/14 10:59, Kai Tietz wrote: 2014-06-13 17:58 GMT+02:00 Jeff Law l...@redhat.com: On 06/13/14 09:56, Richard Henderson wrote: On 06/13/2014 08:36 AM, Jeff Law wrote: So you may have answered this already, but why can't

Re: [PATCH, i386]: Fix recently added sibcall insns and peephole2 patterns

2014-06-18 Thread Kai Tietz
2014-06-18 12:24 GMT+02:00 Uros Bizjak ubiz...@gmail.com: Hello! Attached patch fixes recently added sibcall insns and their corresponding peephole2 patterns: - There is no need for new memory_nox32_operand. A generic memory_operand can be used, since new insns and peephole2 patterns

Re: [PATCH, i386]: Fix recently added sibcall insns and peephole2 patterns

2014-06-18 Thread Kai Tietz
2014-06-18 15:11 GMT+02:00 Dominique Dhumieres domi...@lps.ens.fr: The following change in predicates.md seems to be a bit premature. There is still the point about Darwin's PIC issue for unspec-gotpcrel. The change is indeed incompatible with the patch in pr61387 comment 9. And without it

[patch cygwin64]: Fix building *-*-cygwin* target cross-compilers

2014-01-27 Thread Kai Tietz
Hi, I will apply following patch soon, if there aren't any objection. gcc/ChangeLog: 2014-01-27 Kai Tietz kti...@redhat.com * config/i386/cygwin-stdint.h (INT64_TYPE): Make dependent on target architecture instead of host. (UINT64_TYPE, INT_LEAST64_TYPE, INT_FAST16_TYPE, INT_FAST32_TYPE

[patch c++]: Fix pr/58835 [4.7/4.8/4.9 Regression] ICE with __PRETTY_FUNCTION__ in broken function

2014-02-11 Thread Kai Tietz
Hi, the following patch adds missing handling of error_mark_node result of fname_decl within finish_fname. ChangeLog 2014-02-11 Kai Tietz kti...@redhat.com PR c++/58835 * semantics.c (finish_fname): Handle error_mark_node. Regression tested for x86_64-unknown-linux-gnu, i686

Re: [patch c++]: Fix pr/58835 [4.7/4.8/4.9 Regression] ICE with __PRETTY_FUNCTION__ in broken function

2014-02-13 Thread Kai Tietz
Ping - Original Message - Hi, the following patch adds missing handling of error_mark_node result of fname_decl within finish_fname. ChangeLog 2014-02-11 Kai Tietz kti...@redhat.com PR c++/58835 * semantics.c (finish_fname): Handle error_mark_node

[patch i386]: Fix PR/60193

2014-02-14 Thread Kai Tietz
Hi, ChangeLog 2014-02-14 Kai Tietz kti...@redhat.com PR target/60193 * config/i386/i386.c (ix86_expand_prologue): Use rax register as displacement for restoring %r10, %eax. Regression-tested for x86_64-unknown-linux-gnu, and x86_64-w64-mingw32, and i686-w64-mingw32. Ok for apply

Re: [patch i386]: Fix PR/60193

2014-02-14 Thread Kai Tietz
2014-02-14 13:55 GMT+01:00 Uros Bizjak ubiz...@gmail.com: Hello! 2014-02-14 Kai Tietz kti...@redhat.com PR target/60193 * config/i386/i386.c (ix86_expand_prologue): Use rax register as displacement for restoring %r10, %eax. Regression-tested for x86_64-unknown-linux-gnu

Re: [patch i386]: Fix PR/60193

2014-02-14 Thread Kai Tietz
So, here is the asked more complex variant regarding displacement-value-range of amd64-instruction and taking care that we use constant-offsets instead of register-based displacement addressing if possible. ChangeLog 2014-02-14 Kai Tietz kti...@redhat.com PR target/60193 * config/i386

Re: [patch i386]: Fix PR/60193

2014-02-14 Thread Kai Tietz
2014-02-14 15:40 GMT+01:00 Uros Bizjak ubiz...@gmail.com: On Fri, Feb 14, 2014 at 2:48 PM, Kai Tietz ktiet...@googlemail.com wrote: 2014-02-14 13:55 GMT+01:00 Uros Bizjak ubiz...@gmail.com: Hello! 2014-02-14 Kai Tietz kti...@redhat.com PR target/60193 * config/i386/i386.c

Re: [patch i386]: Fix PR/60193

2014-02-14 Thread Kai Tietz
Hi, Adjusted my original testcase so that eax isn't redeclared and shadows. Additional moved initialization of eax_live up. ChangeLog 2014-02-14 Kai Tietz kti...@redhat.com PR target/60193 * config/i386/i386.c (ix86_expand_prologue): Use rax register as displacement for restoring

Re: [patch i386]: Fix PR/60193

2014-02-14 Thread Kai Tietz
2014-02-14 16:20 GMT+01:00 Richard Henderson r...@redhat.com: On 02/14/2014 06:41 AM, Kai Tietz wrote: + else +{ + t = plus_constant (Pmode, eax, UNITS_PER_WORD); + emit_move_insn (eax, t); + t = gen_rtx_PLUS (Pmode, stack_pointer_rtx, eax

Re: [PATCH] Fixing SEH exceptions for languages != C++

2014-02-18 Thread Kai Tietz
2014-02-17 12:22 GMT+01:00 Jonathan Schleifer j...@webkeks.org: Am 16.02.2014 um 16:47 schrieb Mike Stump mikest...@comcast.net: On Feb 15, 2014, at 9:27 AM, Jonathan Schleifer j...@webkeks.org wrote: The following patch fixes a bug in SEH exception handling that made it crash with ObjC

Re: [PATCH] Fixing SEH exceptions for languages != C++

2014-02-18 Thread Kai Tietz
2014-02-18 17:43 GMT+01:00 Jonathan Schleifer j...@webkeks.org: Am 18.02.2014 um 17:41 schrieb Kai Tietz ktiet...@googlemail.com: Hi Mike, the patch is reasonable, and my testings haven't shown any regressions. So from that POV patch would be ok. Nevertheless it would be good to have a bug

Re: [patch c++]: Fix pr/58835 [4.7/4.8/4.9 Regression] ICE with __PRETTY_FUNCTION__ in broken function

2014-02-19 Thread Kai Tietz
Ping? 2014-02-11 15:11 GMT+01:00 Kai Tietz ktiet...@googlemail.com: Hi, the following patch adds missing handling of error_mark_node result of fname_decl within finish_fname. ChangeLog 2014-02-11 Kai Tietz kti...@redhat.com PR c++/58835 * semantics.c (finish_fname

[patch c++]: Fix PR/58873 [4.7/4.8/4.9 Regression] [c++11] ICE with __underlying_type for broken enum

2014-02-20 Thread Kai Tietz
Hi, Issue here is that the argument type gets NULL for function-call of cp_parser_functional_cast. This invalid type is the result of cp_parser_simple_type_specifier call. 2014-02-20 Kai Tietz kti...@redhat.com PR c++/58873 * parser.c (cp_parser_functional_cast): Treat NULL_TREE

Re: [PATCH] Fixing SEH exceptions for languages != C++

2014-02-26 Thread Kai Tietz
Hello Jonathan, 2014-02-20 20:19 GMT+01:00 Jonathan Schleifer j...@webkeks.org: There is also definitely a use-after-free if you call _Unwind_DeleteException in your personality before returning _URC_INSTALL_CONTEXT (which you should, if you don't want to leak and your landing pad doesn't

[patch testsuite]: Correct testcase for LLP64 targets

2014-03-17 Thread Kai Tietz
Hi, this patch corrects a regression seen in gcc.c-torture/compile/20010327-1.c for LLP64 targets. ChangeLog 2013-03-17 Kai Tietz kti...@redhat.com * gcc.c-torture/compile/20010327-1.c: Adjust testcase for LLP64 targets. Ok for apply? Regards, Kai Index: gcc.c-torture/compile

Re: [patch testsuite]: Correct testcase for LLP64 targets

2014-03-17 Thread Kai Tietz
2014-03-17 10:53 GMT+01:00 Jakub Jelinek ja...@redhat.com: On Mon, Mar 17, 2014 at 10:50:35AM +0100, Rainer Orth wrote: Hi Kai, Index: gcc.c-torture/compile/20010327-1.c === --- gcc.c-torture/compile/20010327-1.c(Revision

Re: [patch testsuite]: Correct testcase for LLP64 targets

2014-03-17 Thread Kai Tietz
Sorry, I repost last patch with small correction in dg-do directive. The ! in there needs additional framing, and I missed the target keyword. Regards, Kai Index: 20010327-1.c === --- 20010327-1.c(Revision 208594) +++

[patch testsuite]: Fix some mingw testcases in gcc.dg

2014-03-17 Thread Kai Tietz
Hello, this patch fixes some regressions introduced by default-option -fms-extensions for mingw-targets. ChangeLog 2014-03-17 Kai Tietz kti...@redhat.com * anon-struct-1.c: Add -fno-ms-extensions option for mingw targets. * anon-struct-11.c: Likewise. * anon-struct-2.c: Likewise

Re: [patch testsuite]: Fix some mingw testcases in gcc.dg

2014-03-17 Thread Kai Tietz
this may be obvious to you, it's often not so to reviewers. I did. The regressions in testsuite are introduced by turning on the state of -fms-extensions. That all, and not more to tell. ChangeLog 2014-03-17 Kai Tietz kti...@redhat.com * anon-struct-1.c: Add -fno-ms-extensions option

[patch sdbout]: Fix PR rtl-optimization/56356

2014-03-18 Thread Kai Tietz
Hi, this patch fixes an ICE regarding COFF-debugging information. Problem is that the parms isn't necessarily an incoming argument, and not necessarily already set. By checking this - as done already in dbxout - we can avoid to process on invalid parm-declarations. ChangeLog 2014-03-18 Kai

[patch testsuite]: g++.dg/abi

2014-03-18 Thread Kai Tietz
-std=c++1y scan-assembler .weak(_definition)?[ \t]_?_ZN2N11D1C3fn1ENS0_1BE FAIL: g++.dg/abi/anon2.C -std=c++1y scan-assembler .weak(_definition)?[ \t]_?_ZN2N11D1C3fn2ES1_ ... ChangeLog 2014-03-18 Kai Tietz kti...@redhat.com * g++.dg/abi/anon2.C: Skip for mingw targets. * g++.dg

Re: [patch sdbout]: Fix PR rtl-optimization/56356

2014-03-18 Thread Kai Tietz
Patch got approved in bug-report for trunk. Applied at revision 208663 to trunk. Kai

Re: [patch testsuite]: g++.dg/abi

2014-03-19 Thread Kai Tietz
2014-03-19 17:23 GMT+01:00 Mike Stump mikest...@comcast.net: On Mar 18, 2014, at 6:16 AM, Kai Tietz ktiet...@googlemail.com wrote: this patch skips anon2.C and anon3.C test for mingw target. Issue here is that weak under pe-coff is different to ELF-targets and therefore test doesn't apply

Re: [patch testsuite]: g++.dg/abi

2014-03-19 Thread Kai Tietz
2014-03-19 18:37 GMT+01:00 Joseph S. Myers jos...@codesourcery.com: On Wed, 19 Mar 2014, Kai Tietz wrote: The concept of weak - as present in ELF - isn't known in COFF in general. There is some weak, but it works only for static library and in a limitted way. Therefore we can't (and don't

Re: [patch testsuite]: g++.dg/abi

2014-03-19 Thread Kai Tietz
2014-03-19 17:54 GMT+01:00 Mike Stump mikest...@comcast.net: On Mar 19, 2014, at 9:49 AM, Rainer Orth r...@cebitec.uni-bielefeld.de wrote: The concept of weak - as present in ELF - isn't known in COFF in general. There is some weak, but it works only for static library and in a limitted

  1   2   3   4   5   6   7   8   >