Results 1 -
7 of
7
The New C Standard: An Economic and Cultural Commentary
, 2002
"... A detailed, sentence by sentence, analysis of the C Standard, including, 1) general commentary, 2) differences from the C90 Standard, 3) differences from C++, 4) common implementations, 5) coding guidelines, 6) measurements of usage of C constructs. The intent of the coding guidelines is to minimise ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
A detailed, sentence by sentence, analysis of the C Standard, including, 1) general commentary, 2) differences from the C90 Standard, 3) differences from C++, 4) common implementations, 5) coding guidelines, 6) measurements of usage of C constructs. The intent of the coding guidelines is to minimise the cost of ownership of source code. Where possible these guidelines have been derived from the results of studies in cognitive psychology.
Feedback-directed switch-case statement optimization
- In 4th Workshop on Compile and Runtime Techniques for Parallel Computing
, 2005
"... This paper presents two new feedback-guided techniques to generate code for switch-case statements: hot default case promotion (DP) and switch-case statement partitioning (SP). DP improves case dispatch while SP simplifies case dispatch, improves instruction layout and enables further inlining. An e ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
This paper presents two new feedback-guided techniques to generate code for switch-case statements: hot default case promotion (DP) and switch-case statement partitioning (SP). DP improves case dispatch while SP simplifies case dispatch, improves instruction layout and enables further inlining. An extensive experimental study reveals up to 4.9 % performance variations among different strategies. The largest performance improvement of DP and SP over existing O3 optimization in the Open Research Compiler (ORC) is 1.7%. A microarchitecture level performance study provides insights on the basis for this performance improvement. 1
Engelen, R.: Branch elimination by condition merging
, 2003
"... Conditional branches are expensive. Branches require a significant percentage of execution cycles since they occur frequently and cause pipeline flushes when mispredicted. In addition, branches result in forks in the control flow, which can prevent other code-improving transformations from being app ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Conditional branches are expensive. Branches require a significant percentage of execution cycles since they occur frequently and cause pipeline flushes when mispredicted. In addition, branches result in forks in the control flow, which can prevent other code-improving transformations from being applied. In this paper we describe profile-based techniques for replacing the execution of a set of two or more branches with a single branch on a conventional scalar processor. These sets of branches can include tests of multiple variables. For instance, the test if (p1! = 0 & & p2! = 0), which is testing for NULL pointers, can be replaced with if (p1 & p2! = 0). Program profiling is performed to target condition merging along frequently executed paths. The results show that eliminating branches by merging conditions can significantly reduce the number of conditional branches executed in non-numerical applications. key words: compiler, condition merging, profiling, code duplication
The New C Standard: Sentence 0
, 2005
"... The first chapter of the book "The New C Standard: A cultural and Economic Commentary". ..."
Abstract
- Add to MetaCart
The first chapter of the book "The New C Standard: A cultural and Economic Commentary".
Improving Switch Lowering for The LLVM Compiler System
- PROC. OF THE 2007 SPRING YOUNG RESEARCHERS COLLOQUIUM ON SOFTWARE ENGINEERING (SYRCOSE'2007)
, 2007
"... Switch-case statements (or switches) provide a natural way to express multiway branching control flow semantics. They are common in many applications including compilers, parsers, text processing programs, virtual machines. Various optimizations for switches has been studied for many years. This pap ..."
Abstract
- Add to MetaCart
Switch-case statements (or switches) provide a natural way to express multiway branching control flow semantics. They are common in many applications including compilers, parsers, text processing programs, virtual machines. Various optimizations for switches has been studied for many years. This paper presents the description of switch lowering refactoring recently made for the LLVM Compiler System.
Commentary
, 2005
"... The material in the C99 subsections is copyright © ISO. The material in the C90 and C++ sections that is quoted from the respective language standards is copyright © ISO. Credits and permissions for quoted material is given where that material appears. ..."
Abstract
- Add to MetaCart
The material in the C99 subsections is copyright © ISO. The material in the C90 and C++ sections that is quoted from the respective language standards is copyright © ISO. Credits and permissions for quoted material is given where that material appears.

