rs6000_debug_address_cost() needs to call TARGET_ADDRESS_COST with the new arguments.
Committed. - David * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Add TLS section. * config/rs6000/rs6000.c (rs6000_debug_address_cost): Add new arguments to TARGET_ADDRESS_COST call. Index: rs6000.c =================================================================== --- rs6000.c (revision 191020) +++ rs6000.c (working copy) @@ -25547,10 +25547,12 @@ tree decl ATTRIBUTE_UNUSED) { int smclass; - static const char * const suffix[3] = { "PR", "RO", "RW" }; + static const char * const suffix[4] = { "PR", "RO", "RW", "TL" }; if (flags & SECTION_CODE) smclass = 0; + else if (flags & SECTION_TLS) + smclass = 3; else if (flags & SECTION_WRITE) smclass = 2; else @@ -26071,10 +26073,10 @@ /* Debug form of ADDRESS_COST that is selected if -mdebug=cost. */ static int -rs6000_debug_address_cost (rtx x, enum machine_mode mode ATTRIBUTE_UNUSED, - addr_space_t as ATTRIBUTE_UNUSED, bool speed) +rs6000_debug_address_cost (rtx x, enum machine_mode mode, + addr_space_t as, bool speed) { - int ret = TARGET_ADDRESS_COST (x, speed); + int ret = TARGET_ADDRESS_COST (x, mode, as, speed); fprintf (stderr, "\nrs6000_address_cost, return = %d, speed = %s, x:\n", ret, speed ? "true" : "false");