The OpenMPOpt pass is a CGSCC pass in which OpenMP specific optimizations can reside. The OpenMPOpt pass uses the OpenMPKinds.def file to identify runtime calls and their uses. This allows targeted transformations and eases their implementation. This initial patch deduplicates `__kmpc_global_thread_num` and `omp_get_thread_num` calls. We can also identify arguments that are equivalent to such a call result and use it instead. Later we can determine "gtid" arguments based on the use in kernel functions etc. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D69930
23 lines
909 B
Plaintext
23 lines
909 B
Plaintext
;===- ./lib/Transforms/IPO/LLVMBuild.txt -----------------------*- Conf -*--===;
|
|
;
|
|
; Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
; See https://llvm.org/LICENSE.txt for license information.
|
|
; SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
;
|
|
;===------------------------------------------------------------------------===;
|
|
;
|
|
; This is an LLVMBuild description file for the components in this subdirectory.
|
|
;
|
|
; For more information on the LLVMBuild system, please see:
|
|
;
|
|
; http://llvm.org/docs/LLVMBuild.html
|
|
;
|
|
;===------------------------------------------------------------------------===;
|
|
|
|
[component_0]
|
|
type = Library
|
|
name = IPO
|
|
parent = Transforms
|
|
library_name = ipo
|
|
required_libraries = AggressiveInstCombine Analysis BitReader BitWriter Core FrontendOpenMP InstCombine IRReader Linker Object ProfileData Scalar Support TransformUtils Vectorize Instrumentation
|