TOP特許意匠商標
特許ウォッチ Twitter
公開番号2024061058
公報種別公開特許公報(A)
公開日2024-05-07
出願番号2022168738
出願日2022-10-21
発明の名称コンパイラ
出願人株式会社デンソー,トヨタ自動車株式会社,株式会社ミライズテクノロジーズ
代理人弁理士法人明成国際特許事務所
主分類G06F 8/41 20180101AFI20240425BHJP(計算;計数)
要約【課題】プログラムの処理速度の低下を抑制する。
【解決手段】コンパイラ100は、入力されたソースコードのうち、ループ処理を抽出するループ処理抽出部142と、抽出されたループ処理を高速化した高速化コードを生成する高速化コード生成部143と、高速化コードをバイナリコードに変換するコンパイル部145と、を備え、高速化コード生成部は、抽出されたループ処理のうち、ループ変数を参照しない変数または式を特定し、特定された変数または式をループ処理内からループ処理外に移動させた高速化コードを生成する。
【選択図】図1
特許請求の範囲【請求項1】
コンパイラ(100)であって、
入力されたソースコードのうち、ループ処理を抽出するループ処理抽出部(142)と、
抽出された前記ループ処理を高速化した高速化コードを生成する高速化コード生成部(143)と、
前記高速化コードをバイナリコードに変換するコンパイル部(145)と、
を備え、
前記高速化コード生成部は、抽出された前記ループ処理のうち、ループ変数を参照しない変数または式を特定し、特定された前記変数または前記式を前記ループ処理内から前記ループ処理外に移動させた前記高速化コードを生成する、
コンパイラ。
続きを表示(約 510 文字)【請求項2】
請求項1に記載のコンパイラであって、
前記高速化コード生成部は、特定された前記式のうち、項および演算子が多い式から優先的に前記ループ処理内から前記ループ処理外に移動させる、
コンパイラ。
【請求項3】
請求項1または請求項2に記載のコンパイラであって、
前記ソースコードと前記高速化コードとが論理等価であるか否かを判定する等価検証部(144)をさらに備え、
前記等価検証部は、前記ソースコードと前記高速化コードとに同一のデータを入力して出力されたそれぞれの演算結果が互いに一致した場合に、前記ソースコードと前記高速化コードとが論理等価であると判定する、
コンパイラ。
【請求項4】
請求項3に記載のコンパイラであって、
前記コンパイル部は、前記ソースコードと前記高速化コードとが論理等価であると判定された場合に、前記高速化コードを前記バイナリコードに変換し、
前記ソースコードと前記高速化コードとが論理等価でないと判定された場合に、前記高速化コードを前記バイナリコードに変換しない、
コンパイラ。

発明の詳細な説明【技術分野】
【0001】
本開示は、コンパイラに関する。
続きを表示(約 1,300 文字)【背景技術】
【0002】
シングルコアプロセッサ用の逐次プログラムを分割して、マルチコアプロセッサ用の並列プログラムを生成することにより、プログラム処理を高速化する技術が知られている(特許文献1、2)。
【先行技術文献】
【特許文献】
【0003】
特開2017-10077号公報
特開2015-1807号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、並列化されたプログラムであっても、分割後のタスクが繰り返し量の多いループ処理を含むことにより処理負荷が重くなる場合があり、プログラム処理の高速化には未だ改善の余地がある。
【課題を解決するための手段】
【0005】
本開示は、以下の形態として実現することが可能である。
【0006】
本開示の一形態によれば、コンパイラ(100)が提供される。このコンパイラは、入力されたソースコードのうち、ループ処理を抽出するループ処理抽出部(142)と、抽出された前記ループ処理を高速化した高速化コードを生成する高速化コード生成部(143)と、前記高速化コードをバイナリコードに変換するコンパイル部(145)と、を備え、前記高速化コード生成部は、抽出された前記ループ処理のうち、ループ変数を参照しない変数または式を特定し、特定された前記変数または前記式を前記ループ処理内から前記ループ処理外に移動させた前記高速化コードを生成する。
【0007】
この形態のコンパイラによれば、ソースコードのうちのループ処理において、ループ変数を参照しない変数または式を特定し、特定された変数または式をループ処理内からループ処理外に移動させた高速化コードを生成するので、ループ処理の処理負荷を軽減しプログラムの処理速度の低下を抑制できる。
【0008】
本開示は、コンパイラ以外の種々の形態で実現することも可能である。例えば、コンパイル方法、かかる方法を実現するためのコンピュータプログラム、かかるコンピュータプログラムを記憶した記憶媒体等の形態で実現することができる。
【図面の簡単な説明】
【0009】
本実施形態のコンパイラの概略構成を示すブロック図である。
本実施形態のコンパイル処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0010】
A.第1実施形態:
A-1.装置構成:
図1に示すように、コンパイラ100は、演算装置200から入力されたソースコードを変換して、バイナリコードを生成し出力する。本実施形態で演算装置200から入力されるソースコードは、C言語により記述されたシングルコアプロセッサ用の逐次プログラムである。なお、ソースコードは、C言語に限らず、C++、FORTRAN等の任意のプログラミング言語により記述されていてもよい。
(【0011】以降は省略されています)

この特許をJ-PlatPatで参照する

関連特許

株式会社デンソー
電源装置
18日前
株式会社デンソーテン
表示装置
15日前
株式会社デンソー
転舵装置
10日前
株式会社デンソー
測距装置
10日前
株式会社デンソー
表示装置
22日前
株式会社デンソー
駆動装置
24日前
株式会社デンソー
制御装置
18日前
株式会社デンソー
回転電機
9日前
株式会社デンソー
回転電機
9日前
株式会社デンソー
半導体装置
16日前
株式会社デンソー
半導体装置
19日前
株式会社デンソー
回転体装置
5日前
株式会社デンソー
半導体装置
12日前
株式会社デンソー
ペダル装置
4日前
株式会社デンソー
半導体装置
18日前
株式会社デンソー
膜分離装置
22日前
株式会社デンソー
回転体装置
5日前
株式会社デンソー
半導体装置
12日前
株式会社デンソー
電池システム
9日前
株式会社デンソー
自律搬送車両
9日前
株式会社デンソー
位置検出装置
9日前
株式会社デンソー
電波吸収装置
9日前
株式会社デンソー
時間検出回路
10日前
株式会社デンソー
位置検出装置
9日前
株式会社デンソー
位置検出装置
10日前
株式会社デンソー
電池監視装置
10日前
株式会社デンソー
位置検出装置
2日前
株式会社デンソー
レーダー装置
15日前
株式会社デンソー
位置検出装置
18日前
株式会社デンソー
基準電源回路
18日前
株式会社デンソー
位置検出装置
18日前
株式会社デンソー
電波吸収装置
9日前
株式会社デンソー
電子制御装置
9日前
株式会社デンソー
超音波発生装置
15日前
株式会社デンソー
コンデンサ装置
17日前
株式会社デンソーウェーブ
カード読取装置
15日前
続きを見る