{"metadata":{"_oai":{"id":"oai:ipsj.ixsq.nii.ac.jp:00204475","sets":["934:935:9993:10176"]},"path":["10176"],"owner":"44499","recid":"204475","title":["一般化max演算子の抽出による分岐除去"],"pubdate":{"attribute_name":"公開日","attribute_value":"2020-04-27"},"_buckets":{"deposit":"fd486bfa-61d3-4dc9-9f54-d0dc053dcea0"},"_deposit":{"id":"204475","pid":{"type":"depid","value":"204475","revision_id":0},"owners":[44499],"status":"published","created_by":44499},"item_title":"一般化max演算子の抽出による分岐除去","author_link":["506386","506385","506387","506388"],"item_titles":{"attribute_name":"タイトル","attribute_value_mlt":[{"subitem_title":"一般化max演算子の抽出による分岐除去"},{"subitem_title":"Branch Elimination by Extracting Generalized Max Operators","subitem_title_language":"en"}]},"item_keyword":{"attribute_name":"キーワード","attribute_value_mlt":[{"subitem_subject":"[発表概要, Unrefereed Presentatin Abstract] ","subitem_subject_scheme":"Other"}]},"item_type_id":"3","publish_date":"2020-04-27","item_3_text_3":{"attribute_name":"著者所属","attribute_value_mlt":[{"subitem_text_value":"東京大学大学院情報理工学系研究科"},{"subitem_text_value":"東京大学大学院総合文化研究科"}]},"item_3_text_4":{"attribute_name":"著者所属(英)","attribute_value_mlt":[{"subitem_text_value":"Graduate School of Information Science and Technology, The University of Tokyo","subitem_text_language":"en"},{"subitem_text_value":"Graduate School of Arts and Sciences, The University of Tokyo","subitem_text_language":"en"}]},"item_language":{"attribute_name":"言語","attribute_value_mlt":[{"subitem_language":"jpn"}]},"item_publisher":{"attribute_name":"出版者","attribute_value_mlt":[{"subitem_publisher":"情報処理学会","subitem_publisher_language":"ja"}]},"publish_status":"0","weko_shared_id":-1,"item_file_price":{"attribute_name":"Billing file","attribute_type":"file","attribute_value_mlt":[{"url":{"url":"https://ipsj.ixsq.nii.ac.jp/record/204475/files/IPSJ-TPRO1302004.pdf","label":"IPSJ-TPRO1302004.pdf"},"date":[{"dateType":"Available","dateValue":"2022-04-27"}],"format":"application/pdf","billing":["billing_file"],"filename":"IPSJ-TPRO1302004.pdf","filesize":[{"value":"102.5 kB"}],"mimetype":"application/pdf","priceinfo":[{"tax":["include_tax"],"price":"0","billingrole":"5"},{"tax":["include_tax"],"price":"0","billingrole":"6"},{"tax":["include_tax"],"price":"0","billingrole":"15"},{"tax":["include_tax"],"price":"0","billingrole":"44"}],"accessrole":"open_date","version_id":"3bb328a2-af57-4754-993f-e75fa1e90ff6","displaytype":"detail","licensetype":"license_note","license_note":"Copyright (c) 2020 by the Information Processing Society of Japan"}]},"item_3_creator_5":{"attribute_name":"著者名","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"佐藤, 重幸"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"森畑, 明昌"}],"nameIdentifiers":[{}]}]},"item_3_creator_6":{"attribute_name":"著者名(英)","attribute_type":"creator","attribute_value_mlt":[{"creatorNames":[{"creatorName":"Shigeyuki, Sato","creatorNameLang":"en"}],"nameIdentifiers":[{}]},{"creatorNames":[{"creatorName":"Akimasa, Morihata","creatorNameLang":"en"}],"nameIdentifiers":[{}]}]},"item_3_source_id_9":{"attribute_name":"書誌レコードID","attribute_value_mlt":[{"subitem_source_identifier":"AA11464814","subitem_source_identifier_type":"NCID"}]},"item_resource_type":{"attribute_name":"資源タイプ","attribute_value_mlt":[{"resourceuri":"http://purl.org/coar/resource_type/c_6501","resourcetype":"journal article"}]},"item_3_source_id_11":{"attribute_name":"ISSN","attribute_value_mlt":[{"subitem_source_identifier":"1882-7802","subitem_source_identifier_type":"ISSN"}]},"item_3_description_7":{"attribute_name":"論文抄録","attribute_value_mlt":[{"subitem_description":"より大きい方を返す2項演算子maxは,プログラム記述を簡潔にし,計算機のうえで効率良く実行でき,プログラム変換を助ける代数的性質を備えている.同じ計算であるなら,if文よりも,max演算子による式として記述される方が,コンパイラ最適化にとって都合が良い.しかし,max演算子およびその一般形は,コンパイラ最適化の段階で,露に存在するものではない.たとえば,入力言語の都合によりif文で表現されたり,複雑なif文の入れ子の中に結果的に紛れ込んだりする.そこで,コンパイラ最適化においてmax演算子から恩恵を得るために,SMTソルバを用いてif文からmax式を自動的に抽出する新しい手法を開発した.提案手法は,max演算子を使うことで,入力のif文の単純化を保証する.そのうえ,コンポーネントに基づくプログラム合成技術と組み合わせることで,argmax演算子などの一般化されたmax演算子の抽出もできる.本発表では,提案手法とそのプロトタイプ実装を紹介し,提案手法のコンパイラ最適化における有用性を議論する.","subitem_description_type":"Other"}]},"item_3_description_8":{"attribute_name":"論文抄録(英)","attribute_value_mlt":[{"subitem_description":"The max operator, a binary operator returning a larger operand, makes code brief, is efficient on real-world machines, and has algebraic properties useful for program transformations. Max expressions are more convenient to compiler optimizations than corresponding if statements. However, the max operator and its generalizations are often latent in compiler optimization phases for several reasons. For example, source languages may not have the very constructs for them; part of complicated nesting of if statements may be equivalent to them as a result. To benefit from max operators in compiler optimizations, we develop a new method of automatically extracting max expressions from if statements by using SMT solvers. Our method guarantees to simplify a given if statement with max operators, and moreover, its combination with component-based program synthesis techniques can extract the argmax operator, a generalization of the max operator. In this presentation, we give our method and its prototype implementation and discuss how our method is useful for compiler optimizations.","subitem_description_type":"Other"}]},"item_3_biblio_info_10":{"attribute_name":"書誌情報","attribute_value_mlt":[{"bibliographicPageEnd":"14","bibliographic_titles":[{"bibliographic_title":"情報処理学会論文誌プログラミング(PRO)"}],"bibliographicPageStart":"14","bibliographicIssueDates":{"bibliographicIssueDate":"2020-04-27","bibliographicIssueDateType":"Issued"},"bibliographicIssueNumber":"2","bibliographicVolumeNumber":"13"}]},"relation_version_is_last":true,"weko_creator_id":"44499"},"id":204475,"updated":"2025-01-19T20:11:17.585811+00:00","links":{},"created":"2025-01-19T01:06:44.820967+00:00"}