LLVM OpenMP 20.0.0git
Classes | Typedefs | Enumerations | Functions
kmp_collapse.h File Reference
#include <type_traits>

Go to the source code of this file.

Classes

struct  bounds_infoXX_template< T >
 Describes the structure for rectangular nested loops. More...
 
struct  bounds_info_t
 Interface struct for rectangular nested loops. More...
 
struct  bounds_info_internalXX_template< T >
 
struct  bounds_info_internal_t
 

Typedefs

typedef kmp_int32 kmp_index_t
 
typedef kmp_uint64 kmp_loop_nest_iv_t
 
typedef kmp_uint64kmp_point_t
 
typedef kmp_loop_nest_iv_tkmp_iterations_t
 

Enumerations

enum  comparison_t : kmp_int32 {
  comp_less_or_eq = 0 , comp_greater_or_eq = 1 , comp_not_eq = 2 , comp_less = 3 ,
  comp_greater = 4
}
 
enum  loop_type_t : kmp_int32 {
  loop_type_uint8 = 0 , loop_type_int8 = 1 , loop_type_uint16 = 2 , loop_type_int16 = 3 ,
  loop_type_uint32 = 4 , loop_type_int32 = 5 , loop_type_uint64 = 6 , loop_type_int64 = 7
}
 
enum  nested_loop_type_t : kmp_int32 { nested_loop_type_unkown = 0 , nested_loop_type_lower_triangular_matrix = 1 , nested_loop_type_upper_triangular_matrix = 2 }
 

Functions

kmp_loop_nest_iv_t __kmpc_process_loop_nest_rectang (ident_t *loc, kmp_int32 gtid, bounds_info_t *original_bounds_nest, kmp_index_t n)
 
void __kmpc_calc_original_ivs_rectang (ident_t *loc, kmp_loop_nest_iv_t new_iv, const bounds_info_t *original_bounds_nest, kmp_uint64 *original_ivs, kmp_index_t n)
 
kmp_int32 __kmpc_for_collapsed_init (ident_t *loc, kmp_int32 gtid, bounds_info_t *original_bounds_nest, bounds_info_t *chunk_bounds_nest, kmp_index_t n, kmp_int32 *plastiter)
 

Typedef Documentation

◆ kmp_index_t

Definition at line 20 of file kmp_collapse.h.

◆ kmp_iterations_t

Definition at line 141 of file kmp_collapse.h.

◆ kmp_loop_nest_iv_t

Definition at line 23 of file kmp_collapse.h.

◆ kmp_point_t

Definition at line 134 of file kmp_collapse.h.

Enumeration Type Documentation

◆ comparison_t

Enumerator
comp_less_or_eq 
comp_greater_or_eq 
comp_not_eq 
comp_less 
comp_greater 

Definition at line 26 of file kmp_collapse.h.

◆ loop_type_t

Enumerator
loop_type_uint8 
loop_type_int8 
loop_type_uint16 
loop_type_int16 
loop_type_uint32 
loop_type_int32 
loop_type_uint64 
loop_type_int64 

Definition at line 37 of file kmp_collapse.h.

◆ nested_loop_type_t

Enumerator
nested_loop_type_unkown 
nested_loop_type_lower_triangular_matrix 
nested_loop_type_upper_triangular_matrix 

Definition at line 49 of file kmp_collapse.h.

Function Documentation

◆ __kmpc_calc_original_ivs_rectang()

void __kmpc_calc_original_ivs_rectang ( ident_t loc,
kmp_loop_nest_iv_t  new_iv,
const bounds_info_t original_bounds_nest,
kmp_uint64 original_ivs,
kmp_index_t  n 
)

Definition at line 488 of file kmp_collapse.cpp.

References KMP_ASSERT, and kmp_calc_one_iv_rectang().

◆ __kmpc_for_collapsed_init()

kmp_int32 __kmpc_for_collapsed_init ( ident_t loc,
kmp_int32  gtid,
bounds_info_t original_bounds_nest,
bounds_info_t chunk_bounds_nest,
kmp_index_t  n,
kmp_int32 plastiter 
)

◆ __kmpc_process_loop_nest_rectang()

kmp_loop_nest_iv_t __kmpc_process_loop_nest_rectang ( ident_t loc,
kmp_int32  gtid,
bounds_info_t original_bounds_nest,
kmp_index_t  n 
)

Definition at line 460 of file kmp_collapse.cpp.

References kmp_calculate_trip_count(), kmp_canonicalize_loop_nest(), and loc.