|
C/C++/EC++
Optimizing Compilers
Optimizing C++/EC++ Compilers |
|
Green
Hills Optimizing C/C++/EC++
Compilers |
Green Hills Software has been the
leader in embedded optimizing
compilers for over 20 years. Green
Hills compilers consistently
outperform competing compilers in
certified results on industry
standard benchmarks, such as those
published by Embedded Microprocessor
Benchmark Consortium (EEMBC). Green
Hills compilers have been selected
by more microprocessor vendors than
any other competing compiler to
represent optimal performance on
their processors.
Green Hills C and C++ compilers
generate highly optimized code while
strictly adhering to
industry-standard language
requirements. They support a variety
of userselectable features,
including programming language,
target architecture, performance
level, debugging level, and much
more. They include a command-line
interface for easy automation and a
tight integration with the MULTI®
IDE for easy customization and
project visibility.
Performance
By applying hundreds of advanced
optimization strategies, the Green
Hills compilers can significantly
increase program execution speed and
decrease program size. Link time,
inter-module, and profile-based
optimizations tune the program
further. For example, the CodeFactor™
linker optimization reduces the
overall program size by identifying
and removing redundant segments of
code from object files. This
performance enhancement can be used
to increase the speed of the
application, or to reduce the
processing power needed for the
application to execute at the same
speed. This often translates to
lower power consumption and a
reduced cost per
unit. Code size optimizations
produce the most efficient code with
a minimal footprint, to allow users
to include more functionality in
the same amount of memory.
|

|
Flexibility
Green Hills compilers work closely
with the rest of the Green Hills
Tool Chain—which includes the Macro
Assembler, Librarian, Linker and
Utility Programs—to create programs
for a variety of host, language, and
target configurations. They consist
of a Language-Specific Front-End, a
Global Optimizer, and a
Target-Specific Optimizer and Code
Generator. The Global Optimizer
applies the latest optimizations
independent of the language or the
target. Some examples are loop
optimization, tail recursion, and
function inlining. This allows new
architectures to take advantage of
the most advanced optimization
techniques developed over the last
several years.
The Target-Specific Optimizer
applies additional optimizations
based on the target architecture,
such as peephole optimizations and
multiple issue instruction pipeline
scheduling. Green Hills compilers
use the same Target-Specific
Optimizers and Code Generators
regardless of programming language,
giving the developer additional
flexibility in implementation.
|
|
Compatibility |
Green Hills
Software’s conformance to key
industry standards offers developers
increased compatibility across
different projects and source code
files.
 |
K&R Mode
and Extensions to ANSI C—Green
Hills compilers support the
version of C described in
The C Programming Language
by Kernighan and Ritchie,
including the many versions
of the Portable C Compiler
(PCC) implementation. The
PCC includes hundreds of
extensions required to
compile the UNIX operating
system and many existing C
application programs. |
 |
Japanese
Automotive C—Green Hills
compilers support a unique
set of extensions to ANSI C
used by Japanese automobile
manufacturers. |
 |
GNU C/C++
Extensions—Green Hills
compilers are so compatible
with GNU C/C++ extensions
that they have been used to
build the entire Linux
kernel.
|
 |
MISRA C—Undefined
and implementation-defined
constructs in the C language
consistently trip up even
the best programmers and
result in bugs. For software
developers, this means a
large amount of time spent
finding bugs. For managers,
this often means the single
largest risk to their
project. MISRA C is a formal
set of guidelines published
by the Motor Industry
Software Reliability
Association (MISRA) that
identifies aspects of the C
language to be avoided due
to their ambiguity and
susceptibility to common
programming mistakes. Green
Hills compilers provide
automated enforcement of
MISRA C programming
guidelines. Green Hills
Software is uniquely
qualified to support the
largest number of MISRA C
rules through its optimizing
compilers and Advanced
Run-time Error Detection.
|

|
 |
C++
Support—Green Hills
Software enables developers
to use a single compiler for
several unique dialects of
the C++ programming
language. This increases
portability for new
projects, existing projects,
and legacy projects. Unlike
other compilers, the Green
Hills compilers support each
dialect in full, including
C++ conformance for
namespaces and templates.
The Green Hills C++
libraries are scalable and
tuned for the specific level
of C++ support requested.
 |
Standard (ANSI/ISO)
C++ |
 |
C++
as defined by The
Annotated C++
Reference Manual
(ARM), by Ellis &
Stroustrop |
 |
Embedded C++ (EC++) |
 |
Embedded C++ with
Templates |
|
| |
Green Hills
EC++ is a proper subset of
ANSI C++ intended to meet
the needs of embedded
application developers. EC++
offers the same
object-oriented benefits of
C++, but with smaller code
size, deterministic
behavior, and a simpler user
interface. |
|
Back to GH Home Page
Back to Testech Home Page
Compiler
RTOS
Emulator/Debugging
|