gcc/gcc
Richard Guenther 8b7db2596e re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if")
2012-04-16  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/52975
	* tree-if-conv.c (predicate_bbs): Do not simplify inverted
	condition but always mark it with TRUTH_NOT_EXPR.

From-SVN: r186491
2012-04-16 11:03:16 +00:00
..
ada cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
c-family re PR c++/52818 (printf format %lf is erroneously rejected by C++11) 2012-04-15 13:07:30 -04:00
common ChangeLog entry: 2012-03-12 09:59:25 +00:00
config * config/i386/sse.md: Fix whitespace and formatting. 2012-04-14 16:09:11 +02:00
cp re PR c++/47220 ([C++0x] no error on unterminated template argument list for variadic parameter) 2012-04-15 23:18:17 -04:00
doc arm-cores.def: Added core cortex-m0plus. 2012-04-13 07:08:51 +00:00
fortran re PR fortran/52968 ([OOP] Call to type-bound procedure wrongly rejected) 2012-04-16 10:48:11 +02:00
ginclude Remove obsolete IRIX 6.5 support 2012-03-14 16:33:37 +00:00
go compiler: Fix order of evaluation of struct composite literals. 2012-03-30 04:59:02 +00:00
java Fix java bootstrap on 32-bit targets 2012-04-11 16:58:53 +00:00
lto cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
objc objc-act (objc_build_ivar_assignment): Do not call assemble_external. 2012-03-21 22:18:32 +00:00
objcp In gcc/: 2011-10-14 Nicola Pero <nicola.pero@meta-innovation.com> 2011-10-14 10:19:01 +00:00
po * es.po: Update. 2012-04-08 00:02:40 +01:00
testsuite Fix plugin testsuite, remove uses of TODO_dump_func (PR testsuite/52948) 2012-04-16 10:14:40 +00:00
ABOUT-GCC-NLS
BASE-VER BASE-VER: Set to 4.8.0. 2012-03-02 11:09:25 +00:00
COPYING
COPYING.LIB
COPYING3
COPYING3.LIB
ChangeLog re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if") 2012-04-16 11:03:16 +00:00
ChangeLog-1997
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011 Fix ChangeLog record for 171649: 2012-03-05 15:01:48 +00:00
ChangeLog.dataflow
ChangeLog.graphite
ChangeLog.lib
ChangeLog.ptr
ChangeLog.tree-ssa
ChangeLog.tuples
DATESTAMP Daily bump. 2012-04-16 00:18:34 +00:00
DEV-PHASE
FSFChangeLog
FSFChangeLog.10
FSFChangeLog.11
LANGUAGES
Makefile.in Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency. 2012-04-12 15:11:17 +00:00
ONEWS
README.Portability
acinclude.m4 mmap.m4: Use *vms* instead of vms*. 2012-04-03 12:07:28 +00:00
aclocal.m4 mmap.m4: Use *vms* instead of vms*. 2012-04-03 12:07:28 +00:00
addresses.h tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument. 2011-11-08 17:36:45 +00:00
alias.c re PR debug/52001 (Huge compile-time regression with var-tracking) 2012-03-01 16:58:11 +00:00
alias.h
alloc-pool.c
alloc-pool.h
attribs.c Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
auto-inc-dec.c
basic-block.h cgraph.h (cgraph_materialize_all_clones): Remove. 2012-03-29 13:54:16 +00:00
bb-reorder.c cgraph.h (cgraph_materialize_all_clones): Remove. 2012-03-29 13:54:16 +00:00
bb-reorder.h function.c (bb_active_p): Delete. 2011-11-09 11:50:14 +10:30
bitmap.c
bitmap.h
bt-load.c rtl.texi (simple_return): Document. 2011-08-27 17:38:58 +00:00
builtin-attrs.def Mark transaction begin as returns-twice. 2012-01-05 23:48:30 +00:00
builtin-types.def re PR target/52624 (missing __builtin_bswap16) 2012-04-11 11:13:39 +00:00
builtins.c re PR target/52624 (missing __builtin_bswap16) 2012-04-11 11:13:39 +00:00
builtins.def re PR target/52624 (missing __builtin_bswap16) 2012-04-11 11:13:39 +00:00
builtins.h
c-aux-info.c
c-config-lang.in
c-convert.c
c-decl.c c-tree.h (c_default_pointer_mode): New variable. 2012-03-09 11:49:50 +00:00
c-errors.c
c-lang.c
c-lang.h
c-objc-common.c
c-objc-common.h
c-parser.c c-parser.c (c_parser_parameter_declaration): Handle #pragma before a parameter. 2012-03-15 08:47:20 +00:00
c-tree.h c-tree.h (c_default_pointer_mode): New variable. 2012-03-09 11:49:50 +00:00
c-typeck.c re PR c/52549 (ice in pointer_diff) 2012-04-13 09:24:28 +00:00
caller-save.c tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument. 2011-11-08 17:36:45 +00:00
calls.c toplev.c (check_global_declaration_1): Do not call assemble_external. 2012-03-26 16:39:11 +00:00
cfg.c
cfganal.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
cfgbuild.c Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
cfgcleanup.c cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn. 2012-04-14 12:17:41 +00:00
cfgexpand.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
cfghooks.c re PR bootstrap/52808 (LTO bootstrap failed with bootstrap-profiled) 2012-04-03 11:38:04 +00:00
cfghooks.h
cfglayout.c cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn. 2012-04-14 12:17:41 +00:00
cfglayout.h
cfgloop.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
cfgloop.h cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter. 2012-04-12 08:35:01 +00:00
cfgloopanal.c
cfgloopmanip.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
cfgrtl.c cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn. 2012-04-14 12:17:41 +00:00
cgraph.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
cgraph.h cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
cgraphbuild.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
cgraphunit.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
cif-code.def
collect2-aix.c
collect2-aix.h
collect2.c Remove obsolete IRIX 6.5 support 2012-03-14 16:33:37 +00:00
collect2.h
combine-stack-adj.c re PR debug/52727 (internal compiler error at dwarf2cfi.c2:685) 2012-03-30 11:00:37 -07:00
combine.c Partially revert: 2012-04-02 12:04:10 +02:00
common.opt re PR c++/52706 ([C++11] Demangling of templates with std::nullptr_t as non-type parameter) 2012-04-15 13:07:39 -04:00
compare-elim.c compare-elim.c (find_comparisons_in_bb): Eliminate only compares having mode compatible with the mode of previous compare. 2012-03-02 19:54:27 +01:00
conditions.h
config.build xm-vms.h (HOST_LONG_FORMAT, [...]): Define when long pointers are used. 2012-01-04 15:45:29 +00:00
config.gcc Add and use config/i386/gnu-user-common.h 2012-04-13 10:21:06 -07:00
config.host 2012-03-16 Tristan Gingold <gingold@adacore.com> 2012-03-16 09:18:57 +00:00
config.in Remove obsolete Solaris 8 support 2012-03-14 17:08:03 +00:00
configure mmap.m4: Use *vms* instead of vms*. 2012-04-03 12:07:28 +00:00
configure.ac mmap.m4: Use *vms* instead of vms*. 2012-04-03 12:07:28 +00:00
convert.c re PR c/52862 (ICE convert_to_pointer, at convert.c:50) 2012-04-13 09:22:33 +00:00
convert.h
coretypes.h Check in patch/merge from cxx-mem-model Branch 2011-11-06 14:55:48 +00:00
coverage.c coverage.c (get_gcov_type): Use type_for_mode. 2012-03-07 14:31:40 +00:00
coverage.h gcov-io.h (struct gcov_info): Replace trailing array with pointer to array. 2011-12-04 18:27:19 +00:00
cppbuiltin.c Check in patch/merge from cxx-mem-model Branch 2011-11-06 14:55:48 +00:00
cppbuiltin.h
cppdefault.c Translate built-in include paths for sysroot. 2012-01-06 00:14:32 +00:00
cppdefault.h
cppspec.c
cprop.c re PR middle-end/52800 (eglibc build broken with internal compiler error in cfgloop .) 2012-04-02 12:00:30 +00:00
cse.c cgraph.h (cgraph_materialize_all_clones): Remove. 2012-03-29 13:54:16 +00:00
cselib.c re PR debug/52001 (Huge compile-time regression with var-tracking) 2012-03-01 16:58:11 +00:00
cselib.h re PR debug/52001 (Huge compile-time regression with var-tracking) 2012-03-01 16:58:11 +00:00
cstamp-h.in
data-streamer-in.c
data-streamer-out.c
data-streamer.c
data-streamer.h
dbgcnt.c
dbgcnt.def dbgcnt.def (ira_move): New counter. 2012-04-12 12:53:17 +00:00
dbgcnt.h
dbxout.c
dbxout.h
dce.c re PR debug/48866 (gcc hangs when -g is set) 2012-04-13 15:56:21 +00:00
dce.h
ddg.c SMS: Prevent the creation of reg-moves for definitions with MODE_CC 2012-01-02 10:54:00 +00:00
ddg.h SMS: Support instructions with REG_INC_NOTE 2011-09-30 13:25:30 +00:00
debug.c
debug.h
defaults.h tree.h (enum size_type_kind): Add stk_ prefix to constants, convert in lowercase. 2012-03-20 08:47:27 +00:00
df-core.c
df-problems.c re PR debug/48866 (gcc hangs when -g is set) 2012-04-13 15:56:21 +00:00
df-scan.c re PR bootstrap/52397 (comparison failure with Ada enabled) 2012-02-29 09:12:04 +01:00
df.h re PR debug/48866 (gcc hangs when -g is set) 2012-04-13 15:56:21 +00:00
dfp.c
dfp.h
diagnostic-core.h
diagnostic.c re PR c++/24985 (caret diagnostics) 2012-04-11 09:26:48 +00:00
diagnostic.def
diagnostic.h re PR c++/24985 (caret diagnostics) 2012-04-11 09:26:48 +00:00
dojump.c coverage.c (get_gcov_type): Use type_for_mode. 2012-03-07 14:31:40 +00:00
dominance.c
domwalk.c
domwalk.h
double-int.c re PR other/52786 (double-int.c:231:31: error: comparison between signed and unsigned) 2012-03-30 09:20:54 +00:00
double-int.h re PR middle-end/50708 (Infinite loop between rshift_double and lshift_double if count is LONG_MIN) 2012-03-29 08:27:04 +00:00
dse.c cgraph.h (cgraph_materialize_all_clones): Remove. 2012-03-29 13:54:16 +00:00
dwarf2asm.c final.c, output.h (fprint_whex, [...]): New functions serving as fast replacements for fprintf() integer to string... 2011-11-10 23:00:39 -05:00
dwarf2asm.h
dwarf2cfi.c Remove MIPS_DEBUGGING_INFO support 2012-03-14 18:01:06 +00:00
dwarf2out.c re PR c++/24985 (caret diagnostics) 2012-04-11 09:26:48 +00:00
dwarf2out.h
ebitmap.c
ebitmap.h
emit-rtl.c Check for incompatible pointer sign extension 2012-04-11 12:31:45 -07:00
emit-rtl.h
errors.c
errors.h
et-forest.c
et-forest.h
except.c re PR target/52918 (ICE: Invalid bb->loop_father (NULL) in add_bb_to_loop) 2012-04-11 14:02:26 +00:00
except.h tree-pass.h (pass_rtl_eh): Remove. 2012-03-20 09:52:02 +00:00
exec-tool.in
explow.c rtl.texi (const_double): Document as sign-extending. 2012-04-04 20:27:17 +00:00
expmed.c rtl.texi (const_double): Document as sign-extending. 2012-04-04 20:27:17 +00:00
expmed.h
expr.c expr.c (expand_expr_real_1): Pass type, not the expression, to set_mem_attributes for a memory temporary. 2012-04-13 19:12:33 +02:00
expr.h expr.h (move_by_pieces_ninsns): Declare. 2012-01-02 13:56:36 +00:00
final.c final.c (final_scan_insn): Guard the call to begin_epilogue debug hook. 2011-12-13 13:41:12 +00:00
fixed-value.c
fixed-value.h
flag-types.h re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations) 2011-11-23 18:51:17 +00:00
flags.h shift flag_next/gnu_runtime to modern opts system. 2011-11-30 10:42:58 +00:00
fold-const.c re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if") 2012-04-16 09:25:14 +00:00
fp-test.c
function.c Makefile.in (cfgexpand.o): Add $(REGS_H) and $(INTEGRATE_H) dependencies. 2012-03-21 08:02:21 +00:00
function.h function.h (regno_reg_rtx): Adjust comment. 2012-01-31 19:11:00 +00:00
fwprop.c fwprop.c (propagate_rtx): Also set PR_CAN_APPEAR for subregs. 2012-04-10 13:50:43 +00:00
gcc-ar.c gcc-ar: Do not include stdio.h. 2011-10-31 10:04:50 -04:00
gcc-plugin.h
gcc.c Remove obsolete IRIX 6.5 support 2012-03-14 16:33:37 +00:00
gcc.h
gccspec.c shift flag_next/gnu_runtime to modern opts system. 2011-11-30 10:42:58 +00:00
gcov-dump.c gcc.c (process_command): Update copyright notice dates. 2012-01-01 20:09:46 +01:00
gcov-io.c
gcov-io.h gcov-io.h (struct gcov_info): Replace trailing array with pointer to array. 2011-12-04 18:27:19 +00:00
gcov-iov.c
gcov.c gcov.c (STRING_SIZE): Remove. 2012-01-11 18:58:30 +00:00
gcse.c rtl.h (true_dependence, [...]): Remove varies parameter. 2012-01-24 19:03:33 +00:00
gcse.h
gdbinit.in
genattr-common.c
genattr.c
genattrtab.c md.texi: Describe the use of match_tests in attribute tests. 2011-08-31 21:06:59 +00:00
genautomata.c genautomata.c (parse_automata_opt): New static function. 2012-03-05 15:38:06 +00:00
gencheck.c
genchecksum.c
gencodes.c
genconditions.c
genconfig.c
genconstants.c
genemit.c genemit.c (main): Include "target.h" in insn-emit.c. 2012-03-05 14:25:19 -08:00
genenums.c
genextract.c
genflags.c
gengenrtl.c rtl.texi (simple_return): Document. 2011-08-27 17:38:58 +00:00
gengtype-lex.l
gengtype-parse.c
gengtype-state.c gengtype-state.c (write_state): Remove timestamped header line. 2011-08-24 11:14:56 +00:00
gengtype.c gengtype.c (main): Make uintptr_t a known type. 2012-04-10 08:32:23 +00:00
gengtype.h
genhooks.c
genmddeps.c
genmodes.c Let GET_MODE_2XWIDER_MODE find a double-width vector mode. 2011-12-10 12:42:55 -08:00
genmultilib
genopinit.c Delete VEC_EXTRACT_EVEN/ODD_EXPR. 2011-12-23 14:07:16 -08:00
genoutput.c
genpeep.c
genpreds.c
genrecog.c
gensupport.c
gensupport.h
ggc-common.c
ggc-internal.h
ggc-none.c Reduce memory waste due to non-power-of-2 allocs 2011-10-17 12:00:07 +02:00
ggc-page.c 2012-04-02 Tristan Gingold <gingold@adacore.com> 2012-04-02 07:53:58 +00:00
ggc-zone.c Fix building ggc-zone.c 2011-10-20 17:22:17 +02:00
ggc.h Reduce memory waste due to non-power-of-2 allocs 2011-10-17 12:00:07 +02:00
gimple-fold.c re PR middle-end/52939 (ice in gimple_get_virt_method_for_binfo with -O3) 2012-04-13 19:57:21 +02:00
gimple-fold.h
gimple-iterator.c gimple-iterator.c (gsi_remove): Return whether EH edges need to be cleanup. 2012-04-05 09:43:48 +00:00
gimple-low.c re PR middle-end/52888 (Unable to inline function pointer call with inexact signature match) 2012-04-10 13:20:50 +00:00
gimple-pretty-print.c gimple-pretty-print.c (dump_gimple_phi): Avoid excessive newline in -alias dumps. 2012-02-07 12:10:11 +00:00
gimple-pretty-print.h
gimple-streamer-in.c re PR bootstrap/51572 (LTO bootstrap failed with bootstrap-profiled) 2011-12-19 13:37:06 +00:00
gimple-streamer-out.c opts.c (finish_options): Do not fail for -fgnu-tm. 2011-11-22 18:37:16 +00:00
gimple-streamer.h
gimple.c gimple.c (walk_gimple_op): Compute val_only for the LHS of an assigment in the canonical way... 2012-04-05 13:38:47 +00:00
gimple.def Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
gimple.h gimple.c (walk_gimple_op): Compute val_only for the LHS of an assigment in the canonical way... 2012-04-05 13:38:47 +00:00
gimplify.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
glimits.h
godump.c godump.c (struct macro_hash_value): Define. 2011-11-02 05:04:42 +00:00
graph.c
graph.h
graphds.c
graphds.h
graphite-blocking.c
graphite-clast-to-gimple.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
graphite-clast-to-gimple.h
graphite-cloog-compat.h
graphite-cloog-util.c
graphite-cloog-util.h
graphite-dependences.c
graphite-dependences.h
graphite-interchange.c
graphite-poly.c invoke.texi (floop-flatten): Declare obsolete. 2012-03-02 20:32:20 +00:00
graphite-poly.h
graphite-ppl.c
graphite-ppl.h
graphite-scop-detection.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
graphite-scop-detection.h
graphite-sese-to-poly.c cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter. 2012-04-12 08:35:01 +00:00
graphite-sese-to-poly.h
graphite.c
gsstruct.def Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
gstab.h
gsyms.h
gsyslimits.h
gtm-builtins.def re PR lto/51698 ([trans-mem] TM runtime and application with LTO) 2012-01-25 20:32:57 +00:00
haifa-sched.c haifa-sched.c (prune_ready_list): Rework handling of SCHED_GROUP_P insns so that no other insn is queued for a... 2012-04-11 14:40:48 +00:00
hard-reg-set.h re PR target/51872 (Shrink-wrapping with -mminimal-toc causes bootstrap failure) 2012-01-17 17:21:49 +01:00
highlev-plugin-common.h
hooks.c system.h (OUTPUT_ADDR_CONST_EXTRA): Poison. 2011-10-06 23:25:53 +04:00
hooks.h system.h (OUTPUT_ADDR_CONST_EXTRA): Poison. 2011-10-06 23:25:53 +04:00
host-default.c
hosthooks-def.h
hosthooks.h
hw-doloop.c hw-doloop.c (scan_loop): Compute register usage only for non-debug insns. 2011-09-30 12:26:57 +00:00
hw-doloop.h
hwint.c
hwint.h Change random seeds to 64bit and drop re-crcing 2011-09-29 13:14:51 +00:00
ifcvt.c re PR middle-end/52881 (ICE due to null pointer deref in cfgloop.c) 2012-04-11 08:13:37 +00:00
incpath.c gcc.c (add_sysrooted_prefix): Remove trailing dir separator from system root. 2012-01-26 23:34:58 +00:00
incpath.h incpath.c (get_added_cpp_dirs): New function. 2011-11-15 10:25:36 +00:00
init-regs.c
input.c re PR c++/24985 (caret diagnostics) 2012-04-11 09:26:48 +00:00
input.h re PR c++/24985 (caret diagnostics) 2012-04-11 09:26:48 +00:00
insn-addr.h
insn-notes.def re PR tree-optimization/50693 (Loop optimization restricted by GOTOs) 2011-11-05 20:58:37 +01:00
integrate.c Makefile.in (cfgexpand.o): Add $(REGS_H) and $(INTEGRATE_H) dependencies. 2012-03-21 08:02:21 +00:00
integrate.h
internal-fn.c
internal-fn.def
internal-fn.h
intl.c
intl.h
ipa-cp.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-inline-analysis.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-inline-transform.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-inline.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-inline.h ipa-cp.c (ipa_value_from_jfunc): Make global. 2011-11-15 03:46:08 +00:00
ipa-prop.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-prop.h ipa-cp.c (ipa_value_from_jfunc): Make global. 2011-11-15 03:46:08 +00:00
ipa-pure-const.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-ref-inline.h cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-ref.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-ref.h
ipa-reference.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-reference.h
ipa-split.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-utils.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ipa-utils.h
ipa.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
ira-build.c re PR rtl-optimization/40761 (IRA memory hog for insanely nested loops) 2012-01-19 20:46:31 +00:00
ira-color.c ira-color.c (setup_left_conflict_sizes_p): Process all conflicting objects. 2012-03-29 17:23:39 +00:00
ira-conflicts.c re PR rtl-optimization/40761 (IRA memory hog for insanely nested loops) 2012-01-19 20:46:31 +00:00
ira-costs.c dbgcnt.def (ira_move): New counter. 2012-04-12 12:53:17 +00:00
ira-emit.c dbgcnt.def (ira_move): New counter. 2012-04-12 12:53:17 +00:00
ira-int.h dbgcnt.def (ira_move): New counter. 2012-04-12 12:53:17 +00:00
ira-lives.c re PR rtl-optimization/40761 (IRA memory hog for insanely nested loops) 2012-01-19 20:46:31 +00:00
ira.c dbgcnt.def (ira_move): New counter. 2012-04-12 12:53:17 +00:00
ira.h
jump.c re PR rtl-optimization/50496 (ICE in redirect_jump, at jump.c:1497) 2011-11-23 13:22:30 +00:00
langhooks-def.h
langhooks.c langhooks.c (add_builtin_type): New function. 2012-03-05 21:57:13 +00:00
langhooks.h langhooks.c (add_builtin_type): New function. 2012-03-05 21:57:13 +00:00
lcm.c
libfuncs.h
limitx.h
limity.h
lists.c reg-notes.def (DEP_CONTROL): New. 2011-10-21 13:35:44 +00:00
loop-doloop.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
loop-init.c re PR rtl-optimization/52803 (ICE: in ira, at ira.c:3616 with -fno-move-loop-invariants on almost any code) 2012-04-02 11:59:47 +00:00
loop-invariant.c
loop-iv.c
loop-unroll.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
loop-unswitch.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
lower-subreg.c re PR rtl-optimization/52113 ([lower-subreg.c] ICE: in extract_insn, at recog.c:2123) 2012-02-04 13:47:55 +01:00
lto-cgraph.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
lto-compress.c
lto-compress.h
lto-opts.c re PR regression/50999 (g++.dg/lto/20081109 execute -O2 -flto -flto-partition=1to1 -fno-use-linker-plugin) 2011-11-08 13:41:57 +00:00
lto-section-in.c lto-streamer-out.c (write_symbol): Use proper 64-bit host type. 2011-12-13 21:59:39 +00:00
lto-section-out.c
lto-streamer-in.c re PR lto/51497 (The run time for the polyhedron test nf.f90 is ~10% slower with -flto after revision 182107) 2011-12-14 15:31:24 +00:00
lto-streamer-out.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
lto-streamer.c Change random seeds to 64bit and drop re-crcing 2011-09-29 13:14:51 +00:00
lto-streamer.h re PR lto/51573 (ICE (segfault) in lto_varpool_encoder_encode_initializer_p) 2011-12-19 15:57:02 +00:00
lto-symtab.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
lto-wrapper.c re PR lto/51916 (FAIL: gcc.dg/lto/trans-mem-3 c_lto_trans-mem-3_0.o-c_lto_trans-mem-3_1.o link, -flto (internal compiler error)) 2012-01-23 14:07:41 +00:00
machmode.def
machmode.h Let GET_MODE_2XWIDER_MODE find a double-width vector mode. 2011-12-10 12:42:55 -08:00
main.c
matrix-reorg.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
mcf.c
mkconfig.sh Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
mode-classes.def
mode-switching.c
modulo-sched.c re PR rtl-optimization/52095 (ICE compiling gcc.dg/sms-7.c: SEGV in fprintf) 2012-02-04 17:51:31 +01:00
omega.c
omega.h
omp-builtins.def
omp-low.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
opt-functions.awk
opt-gather.awk
opt-include.awk
opt-read.awk
optabs.c re PR target/52624 (missing __builtin_bswap16) 2012-04-11 11:13:39 +00:00
optabs.h re PR middle-end/52353 (-ftrapv -fnon-call-exceptions does not work) 2012-03-05 13:08:55 +00:00
optc-gen.awk opts.c (print_specific_help): Fix off-by-one compare in assertion check. 2011-09-02 21:19:17 +00:00
optc-save-gen.awk
opth-gen.awk Remove MaskNeeded 2012-03-27 08:28:41 -07:00
opts-common.c opts-common.c (generate_canonical_option): Free opt_text it it has been allocated here and not stored anywhere. 2011-11-11 09:15:56 +01:00
opts-diagnostic.h
opts-global.c re PR lto/44965 (lto option code breaks file format with each added option) 2011-11-03 14:46:26 +00:00
opts.c re PR c++/24985 (caret diagnostics) 2012-04-11 09:26:48 +00:00
opts.h re PR lto/44965 (lto option code breaks file format with each added option) 2011-11-03 14:46:26 +00:00
output.h re PR other/52545 (output.h: SECTION_EXCLUDE flag clobbers SECTION_MACH_DEP) 2012-03-12 18:22:01 +00:00
params.c
params.def invoke.texi: Update copyright years. 2012-01-27 18:08:03 +04:00
params.h Check in patch/merge from cxx-mem-model Branch 2011-11-06 14:55:48 +00:00
passes.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
plugin.c [multiple changes] 2011-10-19 13:20:22 +00:00
plugin.def
plugin.h
pointer-set.c
pointer-set.h
postreload-gcse.c rtl.h (true_dependence, [...]): Remove varies parameter. 2012-01-24 19:03:33 +00:00
postreload.c postreload.c (reload_combine): Mark reg_state as invalid at volatile insns if there has been a use already. 2011-11-22 19:52:34 +00:00
predict.c cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter. 2012-04-12 08:35:01 +00:00
predict.def
predict.h
prefix.c
prefix.h
pretty-print.c
pretty-print.h re PR c++/24985 (caret diagnostics) 2012-04-11 09:26:48 +00:00
print-rtl.c re PR tree-optimization/50693 (Loop optimization restricted by GOTOs) 2011-11-05 20:58:37 +01:00
print-tree.c tree.h (TREE_VECTOR_CST_ELTS): Remove. 2012-03-16 09:47:09 +00:00
profile.c re PR middle-end/44777 (ICE: SIGSEGV with -fprofile-use in gcc.c-torture/execute/comp-goto-2.c) 2012-01-05 20:54:16 +01:00
profile.h
read-md.c
read-md.h
read-rtl.c
real.c
real.h
realmpfr.c
realmpfr.h
recog.c re PR rtl-optimization/51821 (64bit > 32bit conversion produces incorrect results with optimizations) 2012-01-15 19:03:46 +01:00
recog.h
ree.c re PR bootstrap/52041 (Bootstrap failure at revision 183650 with --enable-checking=release) 2012-01-31 09:41:46 +01:00
reg-notes.def Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
reg-stack.c re PR debug/52132 (ICE in loc_descriptor) 2012-02-11 09:27:30 +01:00
regcprop.c tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument. 2011-11-08 17:36:45 +00:00
reginfo.c Check for incompatible pointer sign extension 2012-04-11 12:31:45 -07:00
regmove.c regmove.c (fixup_match_2): Only access call_used_regs with hard regs. 2011-12-13 20:22:59 +00:00
regrename.c tm.texi.in (MODE_CODE_BASE_REG_CLASS): Add address space argument. 2011-11-08 17:36:45 +00:00
regrename.h regrename.h: New file. 2011-10-19 17:26:26 +00:00
regs.h regrename.c (struct du_head): Make nregs signed. 2011-09-07 15:57:45 +00:00
regset.h regset.h (fixed_reg_set_regset): Declare. 2011-11-06 22:58:54 +00:00
regstat.c
reload.c re PR rtl-optimization/51856 (ICE in reload_cse_simplify_operands) 2012-01-20 16:29:01 +00:00
reload.h
reload1.c re PR rtl-optimization/52629 (out-of-bounds access in reload1.c) 2012-03-26 08:41:02 +00:00
reorg.c re PR rtl-optimization/52175 (ICE in maybe_record_trace_start after invalid dbr_schedule transformation) 2012-02-11 09:00:42 +00:00
resource.c resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK if there is in epilogue. 2011-12-05 19:32:16 +00:00
resource.h
rtl-error.c
rtl-error.h
rtl.c rtl.c (copy_rtx): Do not handle frame_related, jump or call flags specially. 2011-09-12 23:38:21 +00:00
rtl.def md.texi: Describe the use of match_tests in attribute tests. 2011-08-31 21:06:59 +00:00
rtl.h cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn. 2012-04-14 12:17:41 +00:00
rtlanal.c re PR target/16458 (PowerPC - redundant compare) 2012-04-11 06:51:50 -05:00
rtlhooks-def.h
rtlhooks.c
sbitmap.c
sbitmap.h
sched-deps.c re PR bootstrap/52172 (stage 3 Bootstrap comparison failure on FreeBSD ia64) 2012-02-14 00:31:48 +01:00
sched-ebb.c re PR rtl-optimization/48721 (ICE: verify_flow_info failed: missing barrier after block 6 with -foptimize-sibling-calls -fsched2-use-superblocks) 2011-11-30 19:53:46 +01:00
sched-int.h sched-int.h (bb_note): Move to... 2012-01-09 19:43:10 +00:00
sched-rgn.c reg-notes.def (DEP_CONTROL): New. 2011-10-21 13:35:44 +00:00
sched-vis.c sched-vis.c (print_value): Handle STRICT_LOW_PART. 2011-11-03 21:49:36 +01:00
sdbout.c Remove MIPS_DEBUGGING_INFO support 2012-03-14 18:01:06 +00:00
sdbout.h
sel-sched-dump.c
sel-sched-dump.h
sel-sched-ir.c re PR rtl-optimization/52250 (ICE: in sel_remove_bb, at sel-sched-ir.c:5213 with -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops -fselective-scheduling2 and other flags) 2012-03-06 11:31:43 +04:00
sel-sched-ir.h invoke.texi: Update copyright years. 2012-01-27 18:08:03 +04:00
sel-sched.c re PR rtl-optimization/52203 (ICE: in reset_sched_cycles_in_current_ebb, at sel-sched.c:7136 with -fsel-sched-pipelining -fselective-scheduling2 and other custom flags) 2012-04-13 13:36:42 +04:00
sel-sched.h
sese.c gimple.h (fold_stmt_inplace): Adjust to take a gimple_stmt_iterator instead of a statement. 2011-09-09 11:52:51 +00:00
sese.h
simplify-rtx.c rtl.texi (const_double): Document as sign-extending. 2012-04-04 20:27:17 +00:00
sparseset.c
sparseset.h
sreal.c
sreal.h
ssaexpand.h
stab.def
stack-ptr-mod.c
statistics.c
statistics.h
stmt.c re PR target/16458 (PowerPC - redundant compare) 2012-04-11 06:51:50 -05:00
stor-layout.c stor-layout.c (finish_bitfield_representative): Fallback to conservative maximum size if the padding up to the next field... 2012-03-20 09:31:40 +00:00
store-motion.c rtl.h (true_dependence, [...]): Remove varies parameter. 2012-01-24 19:03:33 +00:00
streamer-hooks.c
streamer-hooks.h re PR lto/51573 (ICE (segfault) in lto_varpool_encoder_encode_initializer_p) 2011-12-19 15:57:02 +00:00
stringpool.c
sync-builtins.def re PR middle-end/51038 (29_atomics/atomic_flag/clear/1.cc test_and_set/explicit.cc implicit.cc) 2011-11-10 20:38:33 +00:00
system.h Remove MIPS_DEBUGGING_INFO support 2012-03-14 18:01:06 +00:00
target-def.h
target-globals.c
target-globals.h
target-hooks-macros.h
target.def Remove obsolete Tru64 UNIX V5.1B support 2012-03-12 15:35:56 +00:00
target.h re PR tree-optimization/50031 (Sphinx3 has a 10% regression going from GCC 4.5 to GCC 4.6 on powerpc) 2012-02-10 16:38:37 +00:00
targhooks.c re PR tree-optimization/50031 (Sphinx3 has a 10% regression going from GCC 4.5 to GCC 4.6 on powerpc) 2012-02-10 16:38:37 +00:00
targhooks.h Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
timevar.c
timevar.def re PR target/50038 (redundant zero extensions) 2011-12-21 11:52:27 +00:00
timevar.h
tlink.c re PR c++/51910 (-frepo linking failure) 2012-02-11 03:50:23 -05:00
toplev.c re PR c++/24985 (caret diagnostics) 2012-04-11 09:26:48 +00:00
toplev.h toplev.h (tree_rest_of_compilation): Remove. 2012-04-10 11:56:05 +00:00
tracer.c re PR bootstrap/52808 (LTO bootstrap failed with bootstrap-profiled) 2012-04-04 12:12:00 +00:00
trans-mem.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
trans-mem.h Merge from transactional-memory branch. 2011-11-08 11:13:41 +00:00
tree-affine.c tree-affine.h (print_aff): Remove. 2012-03-30 08:52:32 +00:00
tree-affine.h tree-affine.h (print_aff): Remove. 2012-03-30 08:52:32 +00:00
tree-browser.c
tree-browser.def
tree-call-cdce.c
tree-cfg.c tree-cfg.c (call_can_make_abnormal_goto): New predicate. 2012-03-31 17:21:01 +00:00
tree-cfgcleanup.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
tree-chrec.c re PR middle-end/52621 (ICE with -O3 -march=opteron in initialize_matrix_A, at tree-data-ref.c:1964) 2012-04-11 14:04:00 +00:00
tree-chrec.h re PR tree-optimization/52943 (likely wrong code bug caused by predictive commoning) 2012-04-12 11:38:47 +00:00
tree-complex.c Convert standard builtin functions from being arrays to using a functional interface 2011-10-11 19:55:09 +00:00
tree-data-ref.c re PR tree-optimization/52943 (likely wrong code bug caused by predictive commoning) 2012-04-12 11:38:47 +00:00
tree-data-ref.h tree-affine.h (print_aff): Remove. 2012-03-30 08:52:32 +00:00
tree-dfa.c tree-flow.h (get_var_ann): Don't declare. 2011-10-06 15:18:12 +00:00
tree-diagnostic.c tree-diagnostic (struct loc_t): Rename into struct loc_map_pair. 2011-11-29 11:40:50 -05:00
tree-diagnostic.h Emit macro expansion related diagnostics 2011-10-17 11:59:27 +02:00
tree-dump.c
tree-dump.h
tree-eh.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree-emutls.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree-flow-inline.h tree-flow.h (get_var_ann): Don't declare. 2011-10-06 15:18:12 +00:00
tree-flow.h Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency. 2012-04-12 15:11:17 +00:00
tree-if-conv.c re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if") 2012-04-16 11:03:16 +00:00
tree-inline.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree-inline.h ipa-cp.c (ipa_value_from_jfunc): Make global. 2011-11-15 03:46:08 +00:00
tree-into-ssa.c tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file. 2012-02-24 10:39:38 +01:00
tree-iterator.c
tree-iterator.h
tree-loop-distribution.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
tree-mudflap.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
tree-mudflap.h
tree-nested.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree-nomudflap.c re PR middle-end/51764 (mudflap does not work with LTO) 2012-01-05 15:08:42 +00:00
tree-nrv.c tree-nrv.c (tree_nrv): Release VDEFs. 2012-04-05 09:45:18 +00:00
tree-object-size.c builtins.def (BUILT_IN_STPNCPY_CHK): New definition. 2011-12-15 18:26:10 +01:00
tree-optimize.c Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency. 2012-04-12 15:11:17 +00:00
tree-outof-ssa.c re PR lto/41159 ([LTO] ICE in insert_value_copy_on_edge, at tree-outof-ssa.c:225) 2011-12-21 09:22:58 +00:00
tree-parloops.c tree-parloops.c (parallelize_loops): Also consult the upper bound for the number of iterations. 2012-04-12 10:13:22 +00:00
tree-pass.h Remove TODO_dump_func completely 2012-04-11 17:46:52 +00:00
tree-phinodes.c tree-phinodes.c (make_phi_node): Mark static. 2012-02-24 10:40:27 +01:00
tree-predcom.c invoke.texi: Update copyright years. 2012-01-27 18:08:03 +04:00
tree-pretty-print.c tree.h (TREE_VECTOR_CST_ELTS): Remove. 2012-03-16 09:47:09 +00:00
tree-pretty-print.h tree-pretty-print.h: Update comment. 2012-04-08 23:38:05 +00:00
tree-profile.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree-scalar-evolution.c re PR tree-optimization/52943 (likely wrong code bug caused by predictive commoning) 2012-04-12 11:38:47 +00:00
tree-scalar-evolution.h
tree-sra.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree-ssa-address.c tree-ssa-address.c (copy_ref_info): Remove copy of TREE_THIS_NOTRAP. 2011-10-11 21:21:43 +00:00
tree-ssa-alias.c re PR middle-end/52493 (tree check fail in ptr_derefs_may_alias_p) 2012-03-06 13:13:14 +00:00
tree-ssa-alias.h tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field. 2011-12-05 14:31:44 +00:00
tree-ssa-ccp.c tree-ssa-ccp.c (insert_clobbers_for_var): Do not assert that there is a builtin_stack_save in a dominating BB. 2012-03-30 00:29:10 +02:00
tree-ssa-coalesce.c re PR debug/51517 (Wrong debug information for pointers with negative strides.) 2011-12-15 12:05:37 +01:00
tree-ssa-copy.c
tree-ssa-copyrename.c
tree-ssa-dce.c tree-ssa-dce.c (propagate_necessity): Handle GIMPLE_TRANSACTION. 2012-02-10 09:44:31 -08:00
tree-ssa-dom.c tree-nrv.c (tree_nrv): Release VDEFs. 2012-04-05 09:45:18 +00:00
tree-ssa-dse.c tree-ssa-dse.c (dse_optimize_stmt): Remember the stmt basic-block before removing it. 2012-04-05 12:43:25 +00:00
tree-ssa-forwprop.c re PR tree-optimization/52975 (Ofast produces not optimized code for vectorized "converted if") 2012-04-16 09:25:14 +00:00
tree-ssa-ifcombine.c
tree-ssa-live.c re PR debug/50317 (missing DW_OP_GNU_implicit_pointer) 2011-12-03 17:39:56 +01:00
tree-ssa-live.h
tree-ssa-loop-ch.c re PR tree-optimization/46886 (wrong code with -ftree-parallelize-loops -fno-tree-ch) 2012-02-08 15:28:01 +00:00
tree-ssa-loop-im.c re PR middle-end/51752 (trans-mem: publication safety violated) 2012-02-28 20:08:39 +00:00
tree-ssa-loop-ivcanon.c
tree-ssa-loop-ivopts.c cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter. 2012-04-12 08:35:01 +00:00
tree-ssa-loop-manip.c cfgloop.c (verify_loop_structure): Verify dominators before using them. 2012-03-05 15:39:39 +00:00
tree-ssa-loop-niter.c cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter. 2012-04-12 08:35:01 +00:00
tree-ssa-loop-prefetch.c tree-parloops.c (parallelize_loops): Also consult the upper bound for the number of iterations. 2012-04-12 10:13:22 +00:00
tree-ssa-loop-unswitch.c
tree-ssa-loop.c loop-init.c (loop_optimizer_init): If loops are preserved perform incremental initialization of required loop features. 2012-03-28 12:14:26 +00:00
tree-ssa-math-opts.c tree-nrv.c (tree_nrv): Release VDEFs. 2012-04-05 09:45:18 +00:00
tree-ssa-operands.c gimple-iterator.c (gsi_remove): Return whether EH edges need to be cleanup. 2012-04-05 09:43:48 +00:00
tree-ssa-operands.h tree-ssa.c (verify_ssa): Verify SSA names in the loop over all SSA names. 2011-12-05 11:05:24 +00:00
tree-ssa-phiopt.c tree-ssa-phiopt.c (single_non_singleton_phi_for_edges): New function. 2012-03-12 10:53:57 -07:00
tree-ssa-phiprop.c
tree-ssa-pre.c gimple-iterator.c (gsi_remove): Return whether EH edges need to be cleanup. 2012-04-05 09:43:48 +00:00
tree-ssa-propagate.c re PR tree-optimization/51683 (__builtin_memcpy etc. with constant first argument optimized away by ccp) 2012-01-01 00:53:57 +01:00
tree-ssa-propagate.h gimple-fold.c (gimplify_and_update_call_from_tree): Set gctx.into_ssa after push_gimplify_context. 2011-09-26 18:19:55 +02:00
tree-ssa-reassoc.c tree-ssa-reassoc.c (attempt_builtin_powi_stats): Change %ld to HOST_WIDE_INT_PRINT_DEC in format strings. 2012-04-12 21:22:53 +00:00
tree-ssa-sccvn.c tree-into-ssa (update_ssa): Avoid trailing whitespace in dump_file. 2012-02-24 10:39:38 +01:00
tree-ssa-sccvn.h re PR middle-end/43864 (Same basic blocks should be merged) 2011-09-27 16:10:42 +00:00
tree-ssa-sink.c invoke.texi (sink-frequency-threshold): Document. 2011-10-26 07:26:50 -06:00
tree-ssa-strlen.c tree-ssa-strlen.c: Include expr.h. 2011-10-27 21:04:43 +02:00
tree-ssa-structalias.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree-ssa-tail-merge.c tree-ssa-tail-merge.c (stmt_local_def): New function, factored out of same_succ_hash, with local_def inlined. 2012-04-14 05:49:15 +00:00
tree-ssa-ter.c
tree-ssa-threadedge.c expr.c (expand_expr_real_2): Move COND_EXPR and VEC_COND_EXPR handling here, from ... 2011-09-01 11:46:08 +00:00
tree-ssa-threadupdate.c re PR tree-optimization/52912 (ICE: verify_ssa failed) 2012-04-11 08:12:33 +00:00
tree-ssa-uncprop.c
tree-ssa-uninit.c
tree-ssa.c Makefile.in (cgraphunit.o): Add $(EXCEPT_H) dependency. 2012-04-12 15:11:17 +00:00
tree-ssanames.c tree-ssanames.c (release_dead_ssa_names): Compact the SSA version namespace as we release the freelist. 2012-04-05 11:30:52 +00:00
tree-stdarg.c re PR tree-optimization/51091 (FAIL: gcc.dg/tree-ssa/stdarg-2.c scan-tree-dump stdarg) 2011-11-11 20:57:23 +01:00
tree-stdarg.h
tree-streamer-in.c tree-streamer-in.c (streamer_alloc_tree): Call ggc_alloc_zone_cleared_tree_node instead of... 2012-03-20 15:14:16 -04:00
tree-streamer-out.c tree.h (TREE_VECTOR_CST_ELTS): Remove. 2012-03-16 09:47:09 +00:00
tree-streamer.c tree.h (enum size_type_kind): Add stk_ prefix to constants, convert in lowercase. 2012-03-20 08:47:27 +00:00
tree-streamer.h Split out LTO's writing of top level asm nodes in preparation of extending what... 2011-09-30 14:56:01 +00:00
tree-switch-conversion.c
tree-tailcall.c re PR middle-end/52285 (libgcrypt _gcry_burn_stack slowdown) 2012-02-16 23:20:27 +01:00
tree-vect-data-refs.c tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to grouped_stores. 2012-04-10 16:09:03 +00:00
tree-vect-generic.c Update Copyright year. 2012-03-28 16:45:21 +02:00
tree-vect-loop-manip.c re PR tree-optimization/52678 (internal compiler error: in vect_update_ivs_after_vectorizer, at tree-vect-loop-manip.c:1842) 2012-03-23 11:34:32 +00:00
tree-vect-loop.c tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to grouped_stores. 2012-04-10 16:09:03 +00:00
tree-vect-patterns.c re PR tree-optimization/52870 (ICE during SLP pattern matching) 2012-04-10 10:56:11 +00:00
tree-vect-slp.c tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to grouped_stores. 2012-04-10 16:09:03 +00:00
tree-vect-stmts.c tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to grouped_stores. 2012-04-10 16:09:03 +00:00
tree-vectorizer.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree-vectorizer.h tree-vectorizer.h (_loop_vec_info.strided_stores): Rename to grouped_stores. 2012-04-10 16:09:03 +00:00
tree-vrp.c cfgloop.h (estimated_loop_iterations_int): Ditch 'conservative' parameter. 2012-04-12 08:35:01 +00:00
tree.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
tree.def tree.def (REALPART_EXPR, [...]): Move. 2012-03-19 15:35:55 +00:00
tree.h re PR target/52624 (missing __builtin_bswap16) 2012-04-11 11:13:39 +00:00
treestruct.def
tsystem.h
typeclass.h
value-prof.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
value-prof.h
var-tracking.c re PR debug/51570 (FAIL: gcc.dg/guality/pr45003-[23].c) 2012-04-13 15:55:52 +00:00
varasm.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
varpool.c cgraph.h: Update copyrights; 2012-04-14 10:24:59 +00:00
vec.c re PR c++/14179 (out of memory while parsing array with many initializers) 2012-01-16 11:40:26 -05:00
vec.h vec.h (VEC_BASE): If base is at offset 0 in the structure, use &(P)->base even if P is NULL. 2011-11-10 16:40:34 +01:00
vecir.h
vecprim.h
version.c
version.h
vmsdbg.h
vmsdbgout.c vmsdbgout.c (vmsdbgout_write_source_line): New function. 2011-12-13 13:30:18 +00:00
web.c
xcoff.h
xcoffout.c
xcoffout.h

README.Portability

Copyright (C) 2000, 2003 Free Software Foundation, Inc.

This file is intended to contain a few notes about writing C code
within GCC so that it compiles without error on the full range of
compilers GCC needs to be able to compile on.

The problem is that many ISO-standard constructs are not accepted by
either old or buggy compilers, and we keep getting bitten by them.
This knowledge until know has been sparsely spread around, so I
thought I'd collect it in one useful place.  Please add and correct
any problems as you come across them.

I'm going to start from a base of the ISO C90 standard, since that is
probably what most people code to naturally.  Obviously using
constructs introduced after that is not a good idea.

For the complete coding style conventions used in GCC, please read
http://gcc.gnu.org/codingconventions.html


String literals
---------------

Irix6 "cc -n32" and OSF4 "cc" have problems with constant string
initializers with parens around it, e.g.

const char string[] = ("A string");

This is unfortunate since this is what the GNU gettext macro N_
produces.  You need to find a different way to code it.

Some compilers like MSVC++ have fairly low limits on the maximum
length of a string literal; 509 is the lowest we've come across.  You
may need to break up a long printf statement into many smaller ones.


Empty macro arguments
---------------------

ISO C (6.8.3 in the 1990 standard) specifies the following:

If (before argument substitution) any argument consists of no
preprocessing tokens, the behavior is undefined.

This was relaxed by ISO C99, but some older compilers emit an error,
so code like

#define foo(x, y) x y
foo (bar, )

needs to be coded in some other way.


Avoid unnecessary test before free
----------------------------------

Since SunOS 4 stopped being a reasonable portability target,
(which happened around 2007) there has been no need to guard
against "free (NULL)".  Thus, any guard like the following
constitutes a redundant test:

  if (P)
    free (P);

It is better to avoid the test.[*]
Instead, simply free P, regardless of whether it is NULL.

[*] However, if your profiling exposes a test like this in a
performance-critical loop, say where P is nearly always NULL, and
the cost of calling free on a NULL pointer would be prohibitively
high, consider using __builtin_expect, e.g., like this:

  if (__builtin_expect (ptr != NULL, 0))
    free (ptr);



Trigraphs
---------

You weren't going to use them anyway, but some otherwise ISO C
compliant compilers do not accept trigraphs.


Suffixes on Integer Constants
-----------------------------

You should never use a 'l' suffix on integer constants ('L' is fine),
since it can easily be confused with the number '1'.


			Common Coding Pitfalls
			======================

errno
-----

errno might be declared as a macro.


Implicit int
------------

In C, the 'int' keyword can often be omitted from type declarations.
For instance, you can write

  unsigned variable;

as shorthand for

  unsigned int variable;

There are several places where this can cause trouble.  First, suppose
'variable' is a long; then you might think

  (unsigned) variable

would convert it to unsigned long.  It does not.  It converts to
unsigned int.  This mostly causes problems on 64-bit platforms, where
long and int are not the same size.

Second, if you write a function definition with no return type at
all:

  operate (int a, int b)
  {
    ...
  }

that function is expected to return int, *not* void.  GCC will warn
about this.

Implicit function declarations always have return type int.  So if you
correct the above definition to

  void
  operate (int a, int b)
  ...

but operate() is called above its definition, you will get an error
about a "type mismatch with previous implicit declaration".  The cure
is to prototype all functions at the top of the file, or in an
appropriate header.

Char vs unsigned char vs int
----------------------------

In C, unqualified 'char' may be either signed or unsigned; it is the
implementation's choice.  When you are processing 7-bit ASCII, it does
not matter.  But when your program must handle arbitrary binary data,
or fully 8-bit character sets, you have a problem.  The most obvious
issue is if you have a look-up table indexed by characters.

For instance, the character '\341' in ISO Latin 1 is SMALL LETTER A
WITH ACUTE ACCENT.  In the proper locale, isalpha('\341') will be
true.  But if you read '\341' from a file and store it in a plain
char, isalpha(c) may look up character 225, or it may look up
character -31.  And the ctype table has no entry at offset -31, so
your program will crash.  (If you're lucky.)

It is wise to use unsigned char everywhere you possibly can.  This
avoids all these problems.  Unfortunately, the routines in <string.h>
take plain char arguments, so you have to remember to cast them back
and forth - or avoid the use of strxxx() functions, which is probably
a good idea anyway.

Another common mistake is to use either char or unsigned char to
receive the result of getc() or related stdio functions.  They may
return EOF, which is outside the range of values representable by
char.  If you use char, some legal character value may be confused
with EOF, such as '\377' (SMALL LETTER Y WITH UMLAUT, in Latin-1).
The correct choice is int.

A more subtle version of the same mistake might look like this:

  unsigned char pushback[NPUSHBACK];
  int pbidx;
  #define unget(c) (assert(pbidx < NPUSHBACK), pushback[pbidx++] = (c))
  #define get(c) (pbidx ? pushback[--pbidx] : getchar())
  ...
  unget(EOF);

which will mysteriously turn a pushed-back EOF into a SMALL LETTER Y
WITH UMLAUT.


Other common pitfalls
---------------------

o Expecting 'plain' char to be either sign or unsigned extending.

o Shifting an item by a negative amount or by greater than or equal to
  the number of bits in a type (expecting shifts by 32 to be sensible
  has caused quite a number of bugs at least in the early days).

o Expecting ints shifted right to be sign extended.

o Modifying the same value twice within one sequence point.

o Host vs. target floating point representation, including emitting NaNs
  and Infinities in a form that the assembler handles.

o qsort being an unstable sort function (unstable in the sense that
  multiple items that sort the same may be sorted in different orders
  by different qsort functions).

o Passing incorrect types to fprintf and friends.

o Adding a function declaration for a module declared in another file to
  a .c file instead of to a .h file.