Skip to content
Snippets Groups Projects
  • Richard Biener's avatar
    ad7a365a
    tree-optimization/113910 - huge compile time during PTA · ad7a365a
    Richard Biener authored
    For the testcase in PR113910 we spend a lot of time in PTA comparing
    bitmaps for looking up equivalence class members.  This points to
    the very weak bitmap_hash function which effectively hashes set
    and a subset of not set bits.
    
    The major problem with it is that it simply truncates the
    BITMAP_WORD sized intermediate hash to hashval_t which is
    unsigned int, effectively not hashing half of the bits.
    
    This reduces the compile-time for the testcase from tens of minutes
    to 42 seconds and PTA time from 99% to 46%.
    
    	PR tree-optimization/113910
    	* bitmap.cc (bitmap_hash): Mix the full element "hash" to
    	the hashval_t hash.
    ad7a365a
    History
    tree-optimization/113910 - huge compile time during PTA
    Richard Biener authored
    For the testcase in PR113910 we spend a lot of time in PTA comparing
    bitmaps for looking up equivalence class members.  This points to
    the very weak bitmap_hash function which effectively hashes set
    and a subset of not set bits.
    
    The major problem with it is that it simply truncates the
    BITMAP_WORD sized intermediate hash to hashval_t which is
    unsigned int, effectively not hashing half of the bits.
    
    This reduces the compile-time for the testcase from tens of minutes
    to 42 seconds and PTA time from 99% to 46%.
    
    	PR tree-optimization/113910
    	* bitmap.cc (bitmap_hash): Mix the full element "hash" to
    	the hashval_t hash.