aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2018-04-30* lto-partition.c (lto_balanced_map): Fix sanity check.Jan Hubicka2-1/+5
From-SVN: r259759
2018-04-30Microblaze Target: PIC data text relative Andrew Sadek24-56/+319
2018-04-30 Andrew Sadek <andrew.sadek.se@gmail.com> gcc/ChangeLog: * config/microblaze/microblaze.opt: add new option -mpic-data-text-rel. * config/microblaze/microblaze-protos.h (microblaze_constant_address_p): Add declaration. * gcc/config/microblaze/microblaze.h (microblaze_constant_address_p): CONSTANT_ADDRESS_P definition to microblaze_constant_address_p. * config/microblaze/microblaze.c (TARGET_PIC_DATA_TEXT_REL): New addressing mode for data-text relative position indepenedent code. (microblaze_classify_unspec): add 'UNSPEC_TEXT' case -> 'ADDRESS_SYMBOLIC_TXT_REL'. (microblaze_classify_address): Add handling for UNSPEC + CONST_INT. (microblaze_legitimate_pic_operand): Exclude function calls from pic operands in case of TARGET_PIC_DATA_TEXT_REL option. (microblaze_legitimize_address): Generate 'UNSPEC_TEXT' for all possible addresses cases. (microblaze_address_insns): Add 'ADDRESS_SYMBOLIC_TXT_REL' case. (print_operand): Add 'ADDRESS_SYMBOLIC_TXT_REL' case. (print_operand_address): Add 'ADDRESS_SYMBOLIC_TXT_REL' case + handling for 'address + offset'. (microblaze_expand_prologue): Add new function prologue call for 'r20' assignation. (microblaze_asm_generate_pic_addr_dif_vec): Override new target hook 'TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC' to disable address diff vector table in case of TARGET_PIC_DATA_TEXT_REL. (expand_pic_symbol_ref): Add handling for 'UNSPEC_TEXT'. * gcc/config/microblaze/microblaze.md (TARGET_PIC_DATA_TEXT_REL): Add new macros 'UNSPEC_TEXT', 'UNSPEC_SET_TEXT' + add rule for setting r20 in function prologue + exclude function calls from 'UNSPEC_PLT' in case of data text relative mode. * doc/tm.texi.in (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add new target hook for generating address diff vector tables in case of flag_pic. * doc/tm.texi : Regenerate. * stmt.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Append new condition 'targetm.asm_out.generate_pic_addr_diff_vec' to flag_pic in case of addr diff vector generation. * target.def (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add target hook definition. * targhooks.h, gcc/targhooks.c (TARGET_ASM_GENERATE_PIC_ADDR_DIFF_VEC): Add default function for generate_pic_addr_diff_vec -> flag_pic. * doc/invoke.texi (Add new pic option): Add new microblaze pic option for data text relative. testsuite/ChangeLog: * gcc.target/microblaze/others/data_var1.c: Include PIC case of r20 base register. * gcc.target/microblaze/others/data_var2.c: Ditto. * gcc.target/microblaze/others/picdtr.c: Add new test case for -mpic-is-data-text-relative. * gcc.target/microblaze/others/sdata_var1.c: Add * gcc.target/microblaze/others/sdata_var2.c: Ditto. * gcc.target/microblaze/others/sdata_var3.c: Ditto. * gcc.target/microblaze/others/sdata_var4.c: Ditto. * gcc.target/microblaze/others/sdata_var5.c: Ditto. * gcc.target/microblaze/others/sdata_var6.c: Ditto. * gcc.target/microblaze/others/string_cst1_gpopt.c: Ditto. * gcc.target/microblaze/others/string_cst2_gpopt.c: Ditto. From-SVN: r259758
2018-04-30tree-chrec.h (evolution_function_is_constant_p): Remove redundant check.Richard Biener3-9/+10
2018-04-30 Richard Biener <rguenther@suse.de> * tree-chrec.h (evolution_function_is_constant_p): Remove redundant check. * tree-cfg.c (tree_node_can_be_shared): Re-order checks. From-SVN: r259756
2018-04-30re PR bootstrap/85571 (non-bootstrap-debug miscompare with trunk)Richard Biener2-0/+7
2018-04-30 Richard Biener <rguenther@suse.de> PR bootstrap/85571 * Makefile.tpl (STAGE3_CFLAGS): Use -fchecking=1. (STAGE3_TFLAGS): Likewise. (STAGEtrain_CFLAGS): Filter out -fchecking=1. (STAGEtrain_TFLAGS): Likewise. * Makefile.in: Regenerate. * dwarf2out.c (gen_producer_string): Ignore -fchecking[=]. From-SVN: r259755
2018-04-30re PR tree-optimization/28364 (poor optimization choices when iterating over ↵Richard Biener13-20/+276
a std::string (probably not c++-specific)) 2018-04-30 Richard Biener <rguenther@suse.de> PR tree-optimization/28364 PR tree-optimization/85275 * tree-ssa-loop-ch.c (ch_base::copy_headers): Stop after copying first exit test. * gcc.dg/tree-ssa/copy-headers-5.c: New testcase. * gcc.dg/tree-ssa/predcom-8.c: Likewise. * gcc.dg/tree-ssa/cunroll-13.c: Rewrite to gimple testcase. * gcc.dg/tree-ssa/ivopt_mult_1.c: XFAIL. * gcc.dg/tree-ssa/ivopt_mult_1g.c: Add gimple variant that still passes. * gcc.dg/tree-ssa/ivopt_mult_2.c: XFAIL. * gcc.dg/tree-ssa/ivopt_mult_2g.c: Add gimple variant that still passes. * gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust. * gcc.dg/tree-ssa/20030710-1.c: Likewise. * gcc.dg/tree-ssa/20030711-1.c: Likewise. From-SVN: r259754
2018-04-30Daily bump.GCC Administrator1-1/+1
From-SVN: r259753
2018-04-29lto-partition.c: Include sreal.hJan Hubicka2-49/+91
* lto-partition.c: Include sreal.h (add_symbol_to_partition_1): Use size instead of self_size for size estimate. (account_reference_p): New. (lto_balanced_map): Use 64bit arithmetics for size calculatoins; cleanup; fix accounting errors in boundary size; add debug output; combine cost as cost/size instead of cost/internal; reduce the partitioning error to +- 1/8 of the parttion size. From-SVN: r259749
2018-04-29Daily bump.GCC Administrator1-1/+1
From-SVN: r259747
2018-04-28DWARF: Add .debug_addr table header for dwarf_version >= 5.Mark Wielaard2-1/+31
GNU DebugFission didn't add table headers for the .debug_addr tables, but DWARF5 does. The table header makes it possible for a DWARF consumer to parse the address tables without having to index all .debug_info CUs first. We can keep using the .debug_addr section label as is, because the DW_AT_[GNU_]addr_base attribute points at the actual address index, which starts right after the table header. So the label is generated at the correct location whether the header is added first or not. Add DW_AT_addr_base instead of DW_AT_GNU_addr_base to the skeleton CU DIE for DWARF5. gcc/ChangeLog * dwarf2out.c (dwarf2out_finish): Add .debug_addr table header for dwarf_version >= 5. (dwarf_AT): Handle DW_AT_addr_base. (add_top_level_skeleton_die_attrs): Use dwarf_AT for DW_AT_addr_base. From-SVN: r259743
2018-04-28re PR target/84431 (Suboptimal code for masked shifts (x86/x86-64))Uros Bizjak4-0/+174
PR target/84431 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): New pattern. (*ashl<dwi>3_doubleword_mask_1): Ditto. (*<shift_insn><dwi>3_doubleword_mask): Ditto. (*<shift_insn><dwi>3_doubleword_mask_1): Ditto. testsuite/ChangeLog: PR target/84431 * gcc.target/i386/pr84431.c: New test. From-SVN: r259739
2018-04-28tree-cfg.c (verify_gimple_phi): Take a gphi * argument.Richard Biener2-8/+12
2018-04-28 Richard Biener <rguenther@suse.de> * tree-cfg.c (verify_gimple_phi): Take a gphi * argument. (verify_gimple_in_cfg): Rename visited_stmts to visited_throwing_stmts to reflect use. Only add interesting stmts. From-SVN: r259738
2018-04-28Daily bump.GCC Administrator1-1/+1
From-SVN: r259737
2018-04-27re PR ipa/85549 (Infinite loop in ilmbase package)Martin Jambor4-1/+42
PR ipa/85549 * ipa-cp.c (find_aggregate_values_for_callers_subset): Make sure the jump function allows for passing through aggregate values. * g++.dg/ipa/pr85549.C: New test. From-SVN: r259730
2018-04-27re PR c++/85553 (cannot list-initialize a variable of type std::nullptr_t)Jakub Jelinek5-2/+21
PR c++/85553 * init.c (build_zero_init_1): For zero initialization of NULLPTR_TYPE_P type use build_int_cst directly. * g++.dg/cpp0x/Wzero-as-null-pointer-constant-3.C: Add dg-bogus directive. * g++.dg/cpp0x/constexpr-85553.C: New test. From-SVN: r259728
2018-04-27input.h: convert some macros to inline functionsDavid Malcolm2-10/+31
gcc/ChangeLog: * input.h (in_system_header_at): Convert from macro to inline function. (from_macro_expansion_at): Likewise. (from_macro_definition_at): Likewise. From-SVN: r259727
2018-04-27* config.gcc: Mark tile* targets as deprecated/obsolete.Jeff Law2-0/+5
From-SVN: r259724
2018-04-27Don't offer suggestions for compiler-generated variables (PR c++/85515)David Malcolm6-3/+71
gcc/cp/ChangeLog: PR c++/85515 * name-lookup.c (consider_binding_level): Skip compiler-generated variables. * search.c (lookup_field_fuzzy_info::fuzzy_lookup_field): Flatten nested if statements into a series of rejection tests. Reject lambda-ignored entities as suggestions. gcc/testsuite/ChangeLog: PR c++/85515 * g++.dg/pr85515-1.C: New test. * g++.dg/pr85515-2.C: New test. From-SVN: r259720
2018-04-27re PR go/85429 (Several gotools tests FAIL with Solaris as)Ian Lance Taylor1-1/+1
PR go/85429 cmd/go: add Solaris assembler syntax for gccgo buildid file The Solaris assembler uses a different syntax for section directives. This is https://golang.org/cl/109140 ported over to gccgo. Reviewed-on: https://go-review.googlesource.com/109141 From-SVN: r259719
2018-04-27* g++.dg/cpp1z/noexcept-type20.C: Elaborate.Jason Merrill1-6/+5
From-SVN: r259718
2018-04-27cvt.c (cp_fold_convert): Use convert_ptrmem.Jason Merrill3-8/+18
* cvt.c (cp_fold_convert): Use convert_ptrmem. * typeck.c (convert_ptrmem): Add a NOP even if no adjustment. From-SVN: r259717
2018-04-27re PR c++/84691 (internal compiler error: in poplevel_class, at ↵Paolo Carlini4-3/+27
cp/name-lookup.c:4430) /cp 2018-04-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84691 * decl.c (grokdeclarator): Clear friendp upon definition in local class definition error. /testsuite 2018-04-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84691 * g++.dg/cpp0x/friend3.C: New. From-SVN: r259716
2018-04-27PR c++/85545 - ICE with noexcept PMF conversion.Jason Merrill3-10/+35
* cvt.c (cp_fold_convert): Pass PMF CONSTRUCTORs to build_ptrmemfunc. * typeck.c (build_ptrmemfunc): Don't build a NOP_EXPR for zero adjustment. (build_ptrmemfunc_access_expr): Special-case CONSTRUCTORs. From-SVN: r259712
2018-04-27Fix aarch64 ILP32 ICE with vaarg gimplified codeRichard Biener2-8/+7
2018-04-27 Richard Biener <rguenther@suse.de> * config/aarch64/aarch64.c: Simplify ap.__stack advance and fix for ILP32. From-SVN: r259711
2018-04-27[C++ PATCH] cleanup 2Nathan Sidwell2-18/+14
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01231.html * typeck.c (convert_ptrmem): Move local var decls to initialization. From-SVN: r259710
2018-04-27tree-cfg.c (verify_expr): Make dead code hit gcc_unreachable.Richard Biener2-69/+25
2018-04-27 Richard Biener <rguenther@suse.de> * tree-cfg.c (verify_expr): Make dead code hit gcc_unreachable. From-SVN: r259705
2018-04-27[C++ PATCH] some cleanupsNathan Sidwell4-11/+20
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01227.html * cp-tree.h (TEMPLATE_INFO): Fix comments. (TI_PENDING_TEMPLATE_FLAG): Check TEMPLATE_INFO. (NON_DEFAULT_TEMPLATE_ARG_COUNT): Wrap line. (dump, print_other_binding_stacks): Remove declarations. * name-lookup.c (print_other_binding_stack): Make static. * pt.c (build_template_decl): Make static. From-SVN: r259704
2018-04-27i386.md (*movti_internal): Substitute Ye constraint with Yd constraint.Uros Bizjak3-27/+33
* config/i386/i386.md (*movti_internal): Substitute Ye constraint with Yd constraint. Set "preferred_for_speed" attribute from TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC for alternatives with Yd constraint. (*movdi_internal): Ditto. (movti_interunit splitters): Remove TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC from insn condition. (movdi_interunit splitters): Ditto. * config/i386/constraints.md (Ye): Remove. (Yd): Do not depend on TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC. From-SVN: r259701
2018-04-27[arm] PR target/82518: Return false in ARRAY_MODE_SUPPORTED_P for ↵Kyrylo Tkachov2-1/+7
BYTES_BIG_ENDIAN followup PR target/82518 * lib/target-supports.exp (check_effective_target_vect_load_lanes): Use check_effective_target_arm_little_endian. From-SVN: r259700
2018-04-27[AArch64] PR target/85512: Tighten SIMD right shift immediate constraints pt2Kyrylo Tkachov2-2/+8
PR target/85512 * config/aarch64/constraints.md (Usg): Limit to 31. (Usj): Limit to 63. From-SVN: r259699
2018-04-27re PR ada/85540 (gcc/ada/init.c:1282: suspicious expression ?)Eric Botcazou2-1/+6
PR ada/85540 * init.c (__gnat_handle_vms_condition): Add missing parentheses. From-SVN: r259698
2018-04-27re PR tree-optimization/85529 (wrong code at -O2 and -O3 on x86_64-linux-gnu)Jakub Jelinek6-6/+161
PR tree-optimization/85529 * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Add FIRST_BB argument. Don't call get_nonzero_bits if opcode is ERROR_MARK_NODE, rhs2 def stmt's bb is dominated by first_bb and it isn't an obvious zero extension or masking of the MSB bit. (optimize_range_tests): Add FIRST_BB argument, pass it through to optimize_range_tests_var_bound. (maybe_optimize_range_tests, reassociate_bb): Adjust optimize_range_tests callers. * gcc.c-torture/execute/pr85529-1.c: New test. * gcc.c-torture/execute/pr85529-2.c: New test. * gcc.dg/pr85529.c: New test. From-SVN: r259696
2018-04-27Daily bump.GCC Administrator1-1/+1
From-SVN: r259695
2018-04-26MIPS/GCC/testsuite: Fix data-sym-pool.c for n64 codeMaciej W. Rozycki2-1/+6
With the soft-float n64 ABI and the data-sym-pool.c test case code like below is produced: .file 1 "data-sym-pool.c" .section .mdebug.abi64 .previous .nan legacy .module softfloat .module oddspreg .abicalls .option pic0 .text .align 2 .globl frob .set mips16 .set nomicromips .ent frob .type frob, @function frob: .frame $17,16,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 .mask 0x00020000,-8 .fmask 0x00000000,0 daddiu $sp,-16 sd $17,8($sp) move $17,$sp ld $2,.L3 move $sp,$17 ld $17,8($sp) daddiu $sp,16 jr $31 .type __pool_frob_3, @object __pool_frob_3: .align 3 .L3: .dword 305419896 .type __pend_frob_3, @function __pend_frob_3: .insn .end frob .size frob, .-frob .ident "GCC: (GNU) 8.0.1 20180410 (experimental)" (we have no support for hard-float n64 MIPS16 code generation), which means that the test case will fail, as the regular expression pattern expects `lw' and `.word' rather than `ld' and `.dword' respectively to appear in assembly code generation. Correct the pattern in an obvious way then making it accept both intructions and pseudo-ops. gcc/testsuite/ * gcc.target/mips/data-sym-pool.c (dg-options): Match `ld' and `.dword' in addition to `lw' and `.word'. From-SVN: r259691
2018-04-26MIPS/GCC/testsuite: Fix data-sym-pool.c for SVR4 model at -O0Maciej W. Rozycki2-2/+10
With GCC configurations using the SVR4 rather than the PLT dynamic executable model and the o32 ABI with the data-sym-pool.c test case code like below is produced: .file 1 "data-sym-pool.c" .section .mdebug.abi32 .previous .nan legacy .module fp=xx .module nooddspreg .abicalls .text .align 2 .globl frob .set mips16 .set nomicromips .ent frob .type frob, @function frob: .frame $17,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0 .mask 0x00020000,-4 .fmask 0x00000000,0 save 8,$17 move $17,$sp lw $2,$L4 move $sp,$17 restore 8,$17 jr $31 .type __pool_frob_3, @object __pool_frob_3: .align 2 $L3: .word __gnu_local_gp $L4: .word 305419896 .type __pend_frob_3, @function __pend_frob_3: .insn .end frob .size frob, .-frob .ident "GCC: (GNU) 8.0.1 20180410 (experimental)" causing a failure due to the unexpected `__gnu_local_gp' entry in the constant pool, even though there is nothing wrong with it as far as the annotation being examined is concerned. Given that the SVR4 vs PLT code model consideration is irrelevant for this test case rather than rewriting the regular expression to match this variant of code just enforce the PLT model by using the `-mplt' option. It is safe to use this option unconditionally as it is silently ignored with configurations that do not support this model, e.g. bare metal ELF. gcc/testsuite/ * gcc.target/mips/data-sym-pool.c (dg-options): Add `-mplt'. From-SVN: r259690
2018-04-26PR c++/85545 - ICE with noexcept PMF conversion.Jason Merrill3-1/+22
* cvt.c (cp_fold_convert): Handle PMF CONSTRUCTORs directly. From-SVN: r259689
2018-04-26cgraph.h (symbol_table): Just declare debug method here.Richard Biener3-4/+13
* cgraph.h (symbol_table): Just declare debug method here. * symtab.c (symbol_table::debug): Define. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r259685
2018-04-26* loop-invariant.c (may_assign_reg_p): Return false for frame pointer.Eric Botcazou4-0/+46
From-SVN: r259683
2018-04-26i386.md ("isa" attribute): Add x64_sse2.Uros Bizjak5-62/+171
* config/i386/i386.md ("isa" attribute): Add x64_sse2. ("enabled" attribute): Handle "isa" attribute. (*movdi_internal): Substitute Yi and Yj constraint with x and Ym and Yn constraint with y constraint. Update "isa" attribute and set "preferred_for_speed" attribute from TARGET_INTER_UNIT_MOVES_{FROM,TO}_VEC for updated alternatives. (*movsi_internal): Ditto. (*movdf_internal): Ditto. (*movsf_internal): Ditto. (*zero_extendsidi2): Ditto. * config/i386/sse.md (vec_set<mode>_0): Ditto. (sse2_loadld): Ditto. (*vec_extract<ssevecmodelower>_0): Ditto. (*vec_extractv4si_0_zext_sse4): Ditto. (vec_concatv2di): Ditto. (*vec_dup<mode>): Ditto. * config/i386/mmx.md (*mov<mode>_internal): Ditto. * config/i386/constraints.md (Yi): Remove. (Yj): Remove. (Ym): Remove. (Yn): Remove. From-SVN: r259682
2018-04-26dumpfile cleanupNathan Sidwell2-31/+35
https://gcc.gnu.org/ml/gcc-patches/2018-04/msg01173.html * dumpfile.c (dump_open): New. (dump_open_alternate_stream, dump_start, dump_begin): Call it. (dump_finish): Detect stdio/stderr by value not name. From-SVN: r259681
2018-04-26Document that -Wreturn-type is enabled by default for C++Jonathan Wakely2-1/+5
* doc/invoke.texi (-Wreturn-type): Document default status for C++. From-SVN: r259679
2018-04-26[nvptx] Verify bar.sync positionTom de Vries2-2/+141
2018-04-26 Tom de Vries <tom@codesourcery.com> PR target/84952 * config/nvptx/nvptx.c (verify_neutering_jumps) (verify_neutering_labels): New function (nvptx_single): Use verify_neutering_jumps and verify_neutering_labels. From-SVN: r259677
2018-04-26[nvptx] Fix branch-around-nothingTom de Vries2-17/+30
2018-04-26 Tom de Vries <tom@codesourcery.com> PR target/84025 * config/nvptx/nvptx.c (needs_neutering_p): New function. (nvptx_single): Use needs_neutering_p to skip over insns that do not need neutering. From-SVN: r259676
2018-04-26[lto] Fixup loops before lto write-outRichard Biener2-0/+11
2018-04-26 Richard Biener <rguenther@suse.de> Tom de Vries <tom@codesourcery.com> PR lto/85422 * lto-streamer-out.c (output_function): Fixup loops if required to match discovery done in the reader. * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r259675
2018-04-26re PR libstdc++/85116 (std::min_element does not optimize well with inlined ↵Richard Biener7-10/+104
predicate) 2018-04-26 Richard Biener <rguenther@suse.de> PR tree-optimization/85116 * tree-ssa-loop-ch.c (do_while_loop_p): A do-while loop should have a loop exit from the single latch predecessor. Remove case of header with just condition. (ch_base::copy_headers): Exclude infinite loops from any processing. (pass_ch::execute): Record exits. * gcc.dg/tree-ssa/copy-headers-2.c: New testcase. * gcc.dg/tree-ssa/copy-headers-3.c: Likewise. * gcc.dg/tree-ssa/copy-headers-4.c: Likewise. * gcc.dg/tree-ssa/loadpre6.c: Adjust. From-SVN: r259672
2018-04-26tree-vect-data-refs.c (vect_get_data_access_cost): Get prologue cost vector ↵Richard Biener2-7/+20
and pass it to vect_get_load_cost. 2018-04-26 Richard Biener <rguenther@suse.de> * tree-vect-data-refs.c (vect_get_data_access_cost): Get prologue cost vector and pass it to vect_get_load_cost. (vect_get_peeling_costs_all_drs): Likewise. (vect_peeling_hash_get_lowest_cost): Likewise. (vect_enhance_data_refs_alignment): Likewise. From-SVN: r259668
2018-04-26re PR middle-end/85450 (ICE: invalid types in nop conversion during GIMPLE ↵Richard Biener3-5/+34
pass: ompexp) 2018-04-26 Richard Biener <rguenther@suse.de> PR middle-end/85450 * tree-cfg.c (verify_gimple_assign_unary): Restore proper checking of integer<->pointer conversions. * omp-expand.c (expand_omp_for_static_nochunk): Avoid sign-/zero-extending pointer types. (expand_omp_for_static_chunk): Likewise. From-SVN: r259667
2018-04-26mips.c (mips_asan_shadow_offset): New function.Hans-Peter Nilsson3-1/+21
* config/mips/mips.c (mips_asan_shadow_offset): New function. (TARGET_ASAN_SHADOW_OFFSET): Define. * config/mips/mips.h (FRAME_GROWS_DOWNWARD): Augment to also be true for -fsanitize=address. Co-Authored-By: Jean Lee <xiaoyur347@gmail.com> From-SVN: r259666
2018-04-26Daily bump.GCC Administrator1-1/+1
From-SVN: r259662
2018-04-25DWARF sort longer dirs before shorter ones in directory table.Mark Wielaard2-4/+12
When gcc dwarf2out generates the .debug_line table itself (for example when generating one for a split DWARF .dwo) it uses natural sorting for the directory table. Shorter directory paths come before longer directory paths with the same prefix. This causes the files in the line table to pick the shorter dir. Creating slightly ineffecient line tables because the longer directory paths will never be used. Fix this by changing file_info_cmp () to pick longer directory prefixes before shorter ones. We still sort files (the compilation unit) without any directory path before all entries with a directory path, so they will still use dir entry 0 (the working directory). A hello.c program would get the following dir and line table before: Directory table: /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/8.0.1/include /usr/include /usr/include/bits File name table: Entry Dir Time Size Name 1 0 0 0 hello.c 2 1 0 0 stddef.h 3 2 0 0 bits/types.h 4 2 0 0 libio.h 5 2 0 0 stdio.h 6 2 0 0 bits/sys_errlist.h Note that the last directory table entry is never used. After this patch it looks as follows: Directory table: /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/8.0.1/include /usr/include/bits /usr/include File name table: Entry Dir Time Size Name 1 0 0 0 hello.c 2 1 0 0 stddef.h 3 2 0 0 types.h 4 3 0 0 libio.h 5 3 0 0 stdio.h 6 2 0 0 sys_errlist.h Which is similar to what gas would output. gcc/ChangeLog: * dwarf2out.c (file_info_cmp): Sort longer dir prefixes before shorter ones. From-SVN: r259655
2018-04-25i386.md (*x86_mov<mode>cc_0_m1): Use type "alu1" rather than "alu"...Jakub Jelinek2-11/+7
* config/i386/i386.md (*x86_mov<mode>cc_0_m1): Use type "alu1" rather than "alu", remove explicit "memory" and "imm_disp" attributes. (*x86_mov<mode>cc_0_m1_se, *x86_mov<mode>cc_0_m1_neg): Likewise. From-SVN: r259650