EnglishFrenchSpanish

OnWorks favicon

copt - Online in the Cloud

Run copt in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command copt that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


copt - peephole optimizer

SYSNOPIS


copt file ...

DESCRIPTION


copt is a general-purpose peephole optimizer. It reads code from its standard input and
writes an improved version to its standard output. copy reads the named files for its
optimizations, which are encoded as follows:

<pattern for input line 1>
<pattern for input line 2>
...
<pattern for input line n>
=
<pattern for output line 1>
<pattern for output line 2>
...
<pattern for output line m>
<blank line>

Pattern matching uses literal string comparison, with one exception: ``%%'' matches the
``%'' character, and ``%'' followed by a digit matches everything up to the next
occurrence of the next pattern character, though all occurrences of %n must denote the
same string. For example, the pattern ``%1=%1.'' matches exactly those strings that begin
with a string X, followed by a ``='' (the first), followed by a second occurrence of X,
followed by a period. In this way, the input/output pattern

mov $%1,r%2
mov *r%2,r%2
=
mov %1,r%2

commands copt to replace runs like

mov $_a,r3
mov *r3,r3

with

mov _a,r3

Note that a tab or newline can terminate a %n variable.

copt compares each run of input patterns with the current input instruction and its
predecessors. If no match is found, it advances to the next input instruction and tries
again. Otherwise, it replaces the input instructions with the corresponding output
patterns, pattern variables instantiated,and resumes its search with the first instruction
of the replacement. copt matches input patterns in reverse order to cascade optimizations
without backing up.

Use copt online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    PyQt
    PyQt
    PyQt is the Python bindings for
    Digia's Qt cross-platform
    application development framework. It
    supports Python v2 and v3 and Qt v4 and
    Qt v5. PyQt is avail...
    Download PyQt
  • 2
    Sardi
    Sardi
    Sardi is a complete restyling and
    optimisation of svg code. 6 choices for
    your applications and 10 kind of folders
    to use in your file manager. The sardi
    icons...
    Download Sardi
  • 3
    LMMS Digital Audio Workstation
    LMMS Digital Audio Workstation
    LMMS is a free cross-platform software
    which allows you to produce music with
    your computer. If you like this project
    consider getting involved in the project
    h...
    Download LMMS Digital Audio Workstation
  • 4
    FreeRTOS Real Time Kernel (RTOS)
    FreeRTOS Real Time Kernel (RTOS)
    FreeRTOS is a market-leading real-time
    operating system (RTOS) for
    microcontrollers and small
    microprocessors. Distributed freely
    under the MIT open source lice...
    Download FreeRTOS Real Time Kernel (RTOS)
  • 5
    Avogadro
    Avogadro
    Avogadro is an advanced molecular
    editor designed for cross-platform use
    in computational chemistry, molecular
    modeling, bioinformatics, materials
    science and ...
    Download Avogadro
  • 6
    XMLTV
    XMLTV
    XMLTV is a set of programs to process
    TV (tvguide) listings and help manage
    your TV viewing, storing listings in an
    XML-based format. There are utilities to
    do...
    Download XMLTV
  • More »

Linux commands

Ad