Ignore:
Timestamp:
Oct 8, 2022, 4:29:32 PM (23 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, master
Children:
301071a, affb51b
Parents:
b2ddaf3
Message:

add attribute always_inline to many CFA-library cover-routines to force inlining

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/common.hfa

    rb2ddaf3 r95bda0a  
    1010// Created On       : Wed Jul 11 17:54:36 2018
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed May  5 14:02:04 2021
    13 // Update Count     : 18
     12// Last Modified On : Sat Oct  8 08:32:57 2022
     13// Update Count     : 23
    1414//
    1515
     
    3131        long long int llabs( long long int );
    3232} // extern "C"
    33 
    34 static inline {
     33static inline __attribute__((always_inline)) {
    3534        unsigned char abs( signed char v ) { return abs( (int)v ); }
    3635        // use default C routine for int
     
    4443        long double fabsl( long double );
    4544} // extern "C"
    46 static inline {
     45static inline __attribute__((always_inline)) {
    4746        float abs( float x ) { return fabsf( x ); }
    4847        double abs( double x ) { return fabs( x ); }
     
    5554        long double cabsl( long double _Complex );
    5655} // extern "C"
    57 static inline {
     56static inline __attribute__((always_inline)) {
    5857        float abs( float _Complex x ) { return cabsf( x ); }
    5958        double abs( double _Complex x ) { return cabs( x ); }
     
    6665//---------------------------------------
    6766
    68 static inline {
     67static inline __attribute__((always_inline)) {
    6968        char min( char v1, char v2 ) { return v1 < v2 ? v1 : v2; } // optimization
    7069        int min( int v1, int v2 ) { return v1 < v2 ? v1 : v2; }
     
    7473        long long int min( long long int v1, long long int v2 ) { return v1 < v2 ? v1 : v2; }
    7574        unsigned long long int min( unsigned long long int v1, unsigned int v2 ) { return v1 < v2 ? v1 : v2; }
    76         forall( T | { int ?<?( T, T ); } )
     75        forall( T | { int ?<?( T, T ); } )                                      // generic
    7776        T min( T v1, T v2 ) { return v1 < v2 ? v1 : v2; }
    7877
     
    8483        long long int max( long long int v1, long long int v2 ) { return v1 > v2 ? v1 : v2; }
    8584        unsigned long long int max( unsigned long long int v1, unsigned long long int v2 ) { return v1 > v2 ? v1 : v2; }
    86         forall( T | { int ?>?( T, T ); } )
     85        forall( T | { int ?>?( T, T ); } )                                      // generic
    8786        T max( T v1, T v2 ) { return v1 > v2 ? v1 : v2; }
    8887
Note: See TracChangeset for help on using the changeset viewer.