DE3586374D1 - Verfahren zur elimination globaler gemeinsamer unterexpressionen und zur kodeverschiebung in einem optimierenden kompilierer. - Google Patents

Verfahren zur elimination globaler gemeinsamer unterexpressionen und zur kodeverschiebung in einem optimierenden kompilierer.

Info

Publication number
DE3586374D1
DE3586374D1 DE8585108879T DE3586374T DE3586374D1 DE 3586374 D1 DE3586374 D1 DE 3586374D1 DE 8585108879 T DE8585108879 T DE 8585108879T DE 3586374 T DE3586374 T DE 3586374T DE 3586374 D1 DE3586374 D1 DE 3586374D1
Authority
DE
Germany
Prior art keywords
underexpressions
optimizing compiler
global common
code shifting
eliminating global
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE8585108879T
Other languages
English (en)
Other versions
DE3586374T2 (de
Inventor
Marc Alan Auslander
John Cocke
Peter Willy Markstein
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE3586374D1 publication Critical patent/DE3586374D1/de
Publication of DE3586374T2 publication Critical patent/DE3586374T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
DE8585108879T 1984-08-13 1985-07-16 Verfahren zur elimination globaler gemeinsamer unterexpressionen und zur kodeverschiebung in einem optimierenden kompilierer. Expired - Fee Related DE3586374T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/640,283 US4656583A (en) 1984-08-13 1984-08-13 Method for improving global common subexpression elimination and code motion in an optimizing compiler

Publications (2)

Publication Number Publication Date
DE3586374D1 true DE3586374D1 (de) 1992-08-27
DE3586374T2 DE3586374T2 (de) 1993-03-04

Family

ID=24567618

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8585108879T Expired - Fee Related DE3586374T2 (de) 1984-08-13 1985-07-16 Verfahren zur elimination globaler gemeinsamer unterexpressionen und zur kodeverschiebung in einem optimierenden kompilierer.

Country Status (4)

Country Link
US (1) US4656583A (de)
EP (1) EP0171631B1 (de)
JP (1) JPH0695311B2 (de)
DE (1) DE3586374T2 (de)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4642765A (en) 1985-04-15 1987-02-10 International Business Machines Corporation Optimization of range checking
US4782444A (en) * 1985-12-17 1988-11-01 International Business Machine Corporation Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering
JPS6325733A (ja) * 1986-07-18 1988-02-03 Hitachi Ltd コンパイラ処理方式
JP2539385B2 (ja) * 1986-08-08 1996-10-02 株式会社日立製作所 情報処理装置
JPH07104789B2 (ja) * 1986-09-05 1995-11-13 富士通株式会社 共通アセンブラ命令列の削除装置
US4860203A (en) * 1986-09-17 1989-08-22 International Business Machines Corporation Apparatus and method for extracting documentation text from a source code program
US4814976C1 (en) * 1986-12-23 2002-06-04 Mips Tech Inc Risc computer with unaligned reference handling and method for the same
US4965724A (en) * 1987-03-05 1990-10-23 Oki Electric Industry Co., Ltd. Compiler system using reordering of microoperations to eliminate interlocked instructions for pipelined processing of assembler source program
US5237688A (en) * 1987-11-18 1993-08-17 International Business Machines Corporation Software packaging structure having hierarchical replaceable units
US4951195A (en) * 1988-02-01 1990-08-21 International Business Machines Corporation Condition code graph analysis for simulating a CPU processor
US5313614A (en) * 1988-12-06 1994-05-17 At&T Bell Laboratories Method and apparatus for direct conversion of programs in object code form between different hardware architecture computer systems
US5193190A (en) * 1989-06-26 1993-03-09 International Business Machines Corporation Partitioning optimizations in an optimizing compiler
US5202995A (en) * 1989-10-12 1993-04-13 International Business Machines Corporation Method for removing invariant branches from instruction loops of a computer program
JPH03150636A (ja) 1989-11-08 1991-06-27 Matsushita Electric Ind Co Ltd コンパイル方法
CA2010067C (en) * 1990-02-14 1993-10-26 Steven Murray Hoxey Reducing pipeline delays in compilers by code hoisting
IL100987A (en) * 1991-02-27 1995-10-31 Digital Equipment Corp Method and device for encoding
US5327561A (en) * 1991-09-20 1994-07-05 International Business Machines Corporation System and method for solving monotone information propagation problems
US5319784A (en) * 1991-12-18 1994-06-07 International Business Machines Corp. System for automatic and selective compile-time installation of fastpath into program for calculation of function/procedure without executing the function/procedure
US5469572A (en) * 1992-12-01 1995-11-21 Taylor; James M. Post compile optimizer for linkable object code
JP2755154B2 (ja) * 1994-02-23 1998-05-20 日本電気株式会社 プログラム変換処理装置およびプログラム変換処理方法
US5664191A (en) * 1994-06-30 1997-09-02 Microsoft Corporation Method and system for improving the locality of memory references during execution of a computer program
US5537620A (en) * 1994-09-16 1996-07-16 International Business Machines Corporation Redundant load elimination on optimizing compilers
US6397380B1 (en) * 1994-10-21 2002-05-28 International Business Machines Corporation Computer-program compilers comprising a program augmentation capability
US6202203B1 (en) * 1995-12-06 2001-03-13 International Business Machines Corporation Method of, system for, and computer program product for providing global value numbering
US5790867A (en) * 1996-01-02 1998-08-04 International Business Machines Corporation Compiler with extended redundant copy elimination
TW470915B (en) * 1996-03-12 2002-01-01 Matsushita Electric Ind Co Ltd Optimization apparatus which removes transfer instructions by a global analysis of equivalence relations
US6049864A (en) * 1996-08-20 2000-04-11 Intel Corporation Method for scheduling a flag generating instruction and a subsequent instruction by executing the flag generating instruction in a microprocessor
US6029005A (en) * 1997-04-01 2000-02-22 Intel Corporation Method for identifying partial redundancies in a new processor architecture
US6031994A (en) * 1997-04-01 2000-02-29 Intel Corporation Method for determining the set of variables that may be ambiguously defined at a point in a computer program
US6151704A (en) * 1997-04-01 2000-11-21 Intel Corporation Method for optimizing a loop in a computer program by speculatively removing loads from within the loop
US5991540A (en) * 1997-04-01 1999-11-23 Intel Corporation Method for identifying partial redundancies in existing processor architectures
US6381740B1 (en) 1997-09-16 2002-04-30 Microsoft Corporation Method and system for incrementally improving a program layout
US6158048A (en) * 1998-05-29 2000-12-05 Intel Corporation Method for eliminating common subexpressions from java byte codes
WO2000022522A1 (en) * 1998-10-13 2000-04-20 Motorola Inc. Method for detecting equivalent instruction sequences
US6446258B1 (en) * 1998-11-03 2002-09-03 Intle Corporation Interactive instruction scheduling and block ordering
JP3900485B2 (ja) * 2002-07-29 2007-04-04 インターナショナル・ビジネス・マシーンズ・コーポレーション 最適化装置、コンパイラプログラム、最適化方法、及び記録媒体
US7171438B2 (en) 2002-11-12 2007-01-30 Sandbridge Technologies, Inc. Method for recognition of full-word saturating addition and subtraction
EP1725933B1 (de) 2004-03-08 2008-11-26 Sandbridge Technologies, Inc. Verfahren für die erkennung von sättigender vollwort-addition und -substraktion
US7493609B2 (en) * 2004-08-30 2009-02-17 International Business Machines Corporation Method and apparatus for automatic second-order predictive commoning
US7873952B2 (en) * 2006-03-09 2011-01-18 Oracle America, Inc. Code transformation to optimize fragments that implement constant loading
TWI442317B (zh) 2011-11-07 2014-06-21 Ind Tech Res Inst 可重新配置的指令編碼方法及處理器架構

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4571678A (en) * 1982-11-05 1986-02-18 International Business Machines Corporation Register allocation and spilling via graph coloring

Also Published As

Publication number Publication date
DE3586374T2 (de) 1993-03-04
JPS6149242A (ja) 1986-03-11
EP0171631A2 (de) 1986-02-19
US4656583A (en) 1987-04-07
EP0171631A3 (en) 1988-06-22
EP0171631B1 (de) 1992-07-22
JPH0695311B2 (ja) 1994-11-24

Similar Documents

Publication Publication Date Title
DE3586374D1 (de) Verfahren zur elimination globaler gemeinsamer unterexpressionen und zur kodeverschiebung in einem optimierenden kompilierer.
DE3481656D1 (de) Verfahren zur durchfuehrung von distributionssortierung.
DE3585147D1 (de) Verfahren zur reinigung von proteinen.
DE3481453D1 (de) Verfahren zur platzierung von elementen.
DE3577802D1 (de) Verfahren zur aktivierung von viren in immunoglobulin.
DE3578312D1 (de) Verfahren zur haarfixierung mit einem aminoalkylpolydiorganosiloxan.
DE3482721D1 (de) Verfahren zur temperaturdetektion in einem objekt.
ATE29070T1 (de) System und verfahren zur zellenauswahl.
DE3585598D1 (de) Verfahren zur gestaltung eines dokuments.
DE3382285D1 (de) Verfahren und vorrichtung zur koordination von verteilten untersystemen.
DE3586034D1 (de) Strichkodeabtaster und verfahren zur abmessung von strichkoden.
DE3381988D1 (de) Verfahren zur kontinuierlichen durchflussanalyse.
DE3483912D1 (de) Verfahren zur identifizierung und charakterisierung von organismen.
DE3483375D1 (de) Verfahren und system zur fehlerkorrektur.
DE3874028D1 (de) Verfahren zur justierung von photomasken.
DE3586154D1 (de) Verbessertes verfahren zur immunofixierungselektrophorese.
DE3688718D1 (de) Verfahren und system zur gleichmaessigen verschiebung.
DE3483344D1 (de) Verfahren zur reinigung von lpf-ha.
DE3381062D1 (de) Verfahren und anordnung zur minimum/maximum-bestimmung von datenwoertern.
DE3584542D1 (de) Verfahren zur aufloesung mikrobischer umhuellungen und proteinkomplexe.
DE3481609D1 (de) Verfahren zur reinigung von polyisocyanaten.
DE3585707D1 (de) Verfahren und anlage zur pasteurisierung.
ATA92588A (de) Verfahren zur verwertung von zinkhaeltigen huettenstaeuben und -schlaemmen
DE3873094D1 (de) Verfahren zur aufbereitung von gas.
DE58901586D1 (de) Verfahren zur entfernung von schwefelwasserstoff mit speziellen eisenoxiden.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee