PL/I Optimizing Compiler: Program Product General Information

PL/I Optimizing Compiler: Program Product General Information

GC33-0001-2 File No. S360/S370-29 OS PL/I Optimizing Compiler: Program Product General Information Program Number 5734-PL 1 (This program product is available as part of composite package 5734-PL3) Reiised June~ 1973 By TNL: GN33-6095 Preface This publication gives general information substitution of in-line code in place of about the Q§ !:!!L! QE:£!!!!iz!!!g £2!!lE!!~!:" a calls to library subroutines. processing program of the IBM Operating :System. Chapter 3 is about the PL/I language itself, including the features that can be The information provided is to be used used with this compiler, and a comparison as a planning aid only, and is intended to of the language imple~ented by the introduce installation managers, systems optimizing compiler with that implemented .analysts, and programmers to the facilities by version 5 of the PL/I (F) compiler. available with this compiler. The reader is assumed to be conversant with the IBM Chapter 4 briefly describes both the operating System and with the PL/I language machine and the operating system as implemented by version 5 of the PL/I (F) requirements of the optimizing compiler. compiler. Appendix A is a list of the PL/I and the Chapter 1 discusses how the performance implementation-defined keywords used by of the OS PL/I Optimizing Compiler compares this compiler. with that of version 5 of the PL/I (F) Compiler; the compiler options that are Appendix B documents the most available; the debugging aids designed to significant incompatibilities that might increase programmer productivity; the cause a program written for version 5 of degree to which the compiler is compatible the PL/I (F) Compiler to give errors when with version 5 of the PL/I (F) Compiler; run on the optimizing compiler. and the features designed to allow I communication with assembler programs and Appendix C is a bibliography of related Iwith programs written in COBOL or FORTRAN. IBM publications and their order numbers. Chapter 2 is a discussion of the methods Appendix 0 provides planning information used for the optimization process;, such as for the use of the optimizing compiler expression simplification or the under CMS. Third Edition (December 1972) This is a major revision of, and obsoletes, GC33-0001-1 and Technical Newsletters GN33-6069, GN33-6057, GN33-6044. GN33-6034, and GN33-6024. Changes or additions to the text and figures are indicated by a vertical line to the left of the change. This edition applies to Version 1, Release 2, Modification 0 of the OS PL/I Optimizing Compiler, Program Product 5734-PL1, and to all subsequent versions, releases, or modifications until otherwise indicated in new editions or technical newsletters. Changes are continually made to the information herein; before using this pUblication in connection with the operation ot IBM Systems, consult the latest IBM System/360 and System/370 Bibliography, Order No. GA22-6822, and associated technical newsletters, for the editions that are applicable and current. VSAM material in this publication is for planning purposes only. CMS material in this publication applies to Release 1, PLC5(Program Level Change 5) of the Virtual Machine Facility/370 (VM/370). Requests for copies of IBM publications should be made to your IBM representative or the IBM branch office serving your locality. A form for readers' comments is provided at the back of this publication. If the form has been removed, comments may be addressed to IBM united Kingdom Laboratories Ltd. Publications Department, Hursley Park, Winchester' Hampshire, England. Comments become the property'of IBM. ecopyright International Business Machines Corporation 1970,1971,1972 ii Contents INTRODUCTION 1 Data Aggregates • • • • 18 String Handling • • • • • 18 CHAPTER 1: THE OS PL/I OPTIMIZING Data Attributes 18 COMPILER • 3 Extended Precision Floating Compilation Speed • • 3 Point • • • • • • • • • • • 19 Execution Speed • • • • • • • • • • • 3 Subroutines and Functions 19 Space Requirements . 3 Mathematical Built-In Functions 20 Debugging Aids 3 comparison Operators • • • • 20 Compiler Options 4 Interlanguage Communication 20 Compatibility with the (F) Compiler • 5 compatibility Between Releases • • • 5 compatibility Between OS and DOS 5 CHAPTER 4: SYSTEM REQUIREMENTS • 21 Interlanguage Communication 5 Machine Requirements 21 Compilation . 21 CHAPTER 2: OPTIMIZATION 7 Execution •••• . 21 Common Expression Elimination 7 Auxiliary Storage 21 Transfer of Expressions from Loops 8 Input/Output Devices • 21 Redundant Expression Elimination 8 Operating System Requirements 22 Simplification of Expressions • • 8 Control Programs • • • • • • • 22 Modification of Loop Control Data Management Facilities • • 23 Variables • • • • • • • 9 Sort Facilities •••••• 23 Defactorization • • • • 9 Checkpoint/Restart Facilities 23 Replacement of constant System/370 Facilities 23 Expressions • • • • • • 9 Replacement of Constant APPENDIX A: KEYWORDS AND THEIR Multipliers and Exponents • 9 ABBREVIATIONS 25 Initialization of Arrays and Structures • • • • • • • • • 9 APPENDIX B: COMPATIBILITY WITH (F) In-line Code for Conversions 10 COMPILER • 31 In-line Code for RECORD I/O • • • 10 Areas ••••••••• 31 Rey Handling for REGIONAL Data Sets • 10 Arrays and structures • • • • • 31 Matching Format Lists With Data Lists 10 Built-In Functions • • 31 In-line Code for String Manipulation 10 The DISPLAY Statement 31 In-line Code for Built-In Functions • 10 Dumps from PL/I Programs • • 31 Special-case Code for DO Statements • 10 Entry Names, Parameters, and structure and Array Assignments • 11 Returned Values • • • • • • • • 31 Library Subroutines • • • • • • • • • 11 The ENVIRONMENT Attribute 32 Elimination of Common Constants • • • 11 Error Correction • 32 Elimination of Common Control Data 11 INITIAL Attribute 32 Use of Registers 11 LIKE Attribute • 32 Code for Program Branches • • • • • • 11 Link-Editing • • • 32 Operating System Facilities 32 CHAPTER 3: THE PL/I LANGUAGE Pictures • • • • 33 IMPLEMENTED • • • • 13 Preprocessor • • 33 Language Feature s • • • • • • 13 Pseudovariables 33 Data Types • • • 13 Record I/O ••• 33 Operations • • • • • • • 13 Redundant Expression Elimination 33 Data Aggregates 13 REWIND Option 33 Program Management • 13 SORT/MERGE Program • 33 Input/Output •• 14 Statements • • • • • • • • • 33 Language Extensions • • • 15 Statement Labels • • • • • • 33 optimization • • • • 15 statement Lengths 33 Program Checkout • 15 Stream Transmission 34 DEFAULT Statement 15 Varying-length strings • • • • • 34 preprocessing Facilities • 15 Listing Control Statements 16 APPENDIX C: BIBLIOGRAPHY. 35 storage Control •••••• 16 ENVIRONMENT Attribute 16 APPENDIX D: PLANNING INFORMATION FOR Record-Oriented Transmission • • 17 CMS • • • • • 37 ASCII Data Sets 17 File Names • • • • • • • • • 18 INDEX • 39 iii Figures Figure 1. Differences in implementation restrictions 14 Figure 2. Compiler input/outputdevices •••••• 22 iv --~- -- ---- ---- - Revised June, 1973 By TNL: GN33-6095 Introduction The OS PL/I Optimizing Compiler is designed The OS PL/I Optimizing Compiler for the compilation of programs written in translates PL/I source statements into PL/I into efficient object programs. It machine instructions. However, it does not requires a minimum of 50K bytes of main generate all the machine instructions storage on an IBM System/360 or System/370 required to represent the source program; with the universal instruction set and is in some cases it inserts references to intended to meet the requirements of the subroutines that are stored in the resident PL/I user of medium-sized or larger library. During link-editing, subroutines installations. Good all-round performance from the resident library are included in is aChieved by a compiler design that the object module. These subroutines may incorporates the best design features of a contain references to other subroutines number of well-proven compilers, including stored in the transient library; during the PL/I (D)~ PL/I (F), FORTRAN IV(G), execution, subroutines from the transient FORTRAN IV(H), and COBOL (F) compilers. library are loaded, executed, and discarded The main features include: as required. • Extensive Optimization - if optional The functions provided by the resident optimization is specified, the machine library are as follows: instructions generated will be optimized using the features described in chapter • mathematical subroutines. 2, to produce a very efficient object program. some optimization is always • data type conversions. performed even if the option is not specified. A secondary effect of • edit-, list-, and data-directed I/O optimization could be a reduction in the (stream-oriented transmission). amount of main storage required for the object program during execution. If • program initialization. optional optimization is not specified" compilation time will be reduced. • storage management. • Advanced Level of PL/I - an • display. implementation of PL/I with language extensions beyond the language • timer facilities. implemented by the PL/I (F) Compiler. New features for os users include: • error handling. DEFAULT statement The functions provided by the transient library are as follows: Entry variables • print and message subroutines of the File variables error and interrupt handling subroutines. • Extensive Debugging Aids - time and effort required for program checkout are • opening and closing files. minimized by: • record-oriented and stream-oriented Extensive implementation of on-units transmission. support of the CHECK condition These

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    51 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us