[[abstract]]Branches are a major limiting factor to instruction-level parallelism. One solution is to execute several branches simultaneously using multiway branching architectures. Such architectures are especially important when the instruction issue width becomes large. The authors study the problem of compile-time scheduling of branch operations on such architectures: an optimisation called branch merging. The scheduling attempts to bring profitable branches together for concurrent execution. It is shown that finding the optimal solution to the branch merging problem is NP-hard. A heuristic is then proposed, which relies on a cost model to direct the merging of branches and their associated basic blocks. Merged branches are then schedul...
This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs...
Instruction scheduling and Software pipelining are important compilation techniques which reorder in...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...
Control hazards caused by conditional branches are one of the biggest obstacles to achieving perform...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...
AbstractThe extraction of operation level parallelism from sequential code has become an important p...
In this paper, we present and analyze a branching procedure suitable for branchand-bound algorithms ...
One of the most natural causes of inefficiency in executing a Fork-Join structure is the bottleneck ...
In many software configuration management (SCM) systems, branching and merging are fundamental opera...
[[abstract]]A pipelined processor increases its performance by partitioning an instruction into seve...
Software pipelining is an instruction scheduling technique that exploits the instruction level paral...
We present a technique for ameliorating the detrimental impact of the true data dependencies that ul...
In simultaneous multithreaded architectures many separate threads are running concurrently, sharing ...
This work examines the interaction of compiler scheduling techniques with processor features such as...
this paper minimizes the makespan, i. e. the maximum completion time required to process all jobs. A...
This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs...
Instruction scheduling and Software pipelining are important compilation techniques which reorder in...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...
Control hazards caused by conditional branches are one of the biggest obstacles to achieving perform...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...
AbstractThe extraction of operation level parallelism from sequential code has become an important p...
In this paper, we present and analyze a branching procedure suitable for branchand-bound algorithms ...
One of the most natural causes of inefficiency in executing a Fork-Join structure is the bottleneck ...
In many software configuration management (SCM) systems, branching and merging are fundamental opera...
[[abstract]]A pipelined processor increases its performance by partitioning an instruction into seve...
Software pipelining is an instruction scheduling technique that exploits the instruction level paral...
We present a technique for ameliorating the detrimental impact of the true data dependencies that ul...
In simultaneous multithreaded architectures many separate threads are running concurrently, sharing ...
This work examines the interaction of compiler scheduling techniques with processor features such as...
this paper minimizes the makespan, i. e. the maximum completion time required to process all jobs. A...
This paper describes Unison, a simple, flexible, and potentially optimal software tool that performs...
Instruction scheduling and Software pipelining are important compilation techniques which reorder in...
Conditional branches are expensive. Branches require a significant percentage of execution cycles si...