mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-21 17:21:03 +08:00
Speed-up def_builtin_const (ix86_valid_target_attribute).
* config/i386/i386.c (def_builtin): Set deferred_isa_values for masks that can potentially include a builtin. (ix86_add_new_builtins): Introduce fast filter for isa values that cannot trigger builtin inclusion. From-SVN: r221577
This commit is contained in:
parent
3ab9335949
commit
ff2362eb35
@ -1,3 +1,12 @@
|
||||
2015-03-22 Martin Liska <mliska@suse.cz>
|
||||
|
||||
Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* config/i386/i386.c (def_builtin): Set deferred_isa_values for
|
||||
masks that can potentially include a builtin.
|
||||
(ix86_add_new_builtins): Introduce fast filter for isa values
|
||||
that cannot trigger builtin inclusion.
|
||||
|
||||
2015-03-22 Martin Liska <mliska@suse.cz>
|
||||
|
||||
* ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
|
||||
|
@ -30588,6 +30588,8 @@ struct builtin_isa {
|
||||
|
||||
static struct builtin_isa ix86_builtins_isa[(int) IX86_BUILTIN_MAX];
|
||||
|
||||
/* Bits that can still enable any inclusion of a builtin. */
|
||||
static HOST_WIDE_INT deferred_isa_values = 0;
|
||||
|
||||
/* Add an ix86 target builtin function with CODE, NAME and TYPE. Save the MASK
|
||||
of which isa_flags to use in the ix86_builtins_isa array. Stores the
|
||||
@ -30631,6 +30633,9 @@ def_builtin (HOST_WIDE_INT mask, const char *name,
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Just a MASK where set_and_not_built_p == true can potentially
|
||||
include a builtin. */
|
||||
deferred_isa_values |= mask;
|
||||
ix86_builtins[(int) code] = NULL_TREE;
|
||||
ix86_builtins_isa[(int) code].tcode = tcode;
|
||||
ix86_builtins_isa[(int) code].name = name;
|
||||
@ -30666,6 +30671,12 @@ def_builtin_const (HOST_WIDE_INT mask, const char *name,
|
||||
static void
|
||||
ix86_add_new_builtins (HOST_WIDE_INT isa)
|
||||
{
|
||||
if ((isa & deferred_isa_values) == 0)
|
||||
return;
|
||||
|
||||
/* Bits in ISA value can be removed from potential isa values. */
|
||||
deferred_isa_values &= ~isa;
|
||||
|
||||
int i;
|
||||
tree saved_current_target_pragma = current_target_pragma;
|
||||
current_target_pragma = NULL_TREE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user