[llvm-commits] [llvm] r173342 - in /llvm/trunk: lib/Transforms/Utils/SimplifyCFG.cpp test/Transforms/SimplifyCFG/SpeculativeExec.ll
Jakob Stoklund Olesen
stoklund at 2pi.dk
Fri Jan 25 14:14:57 PST 2013
On Jan 25, 2013, at 12:00 PM, Chandler Carruth <chandlerc at gmail.com> wrote:
> Because, much to my regret, early if-conversion isn't enabled on x86, so we don't end up fixing this later.
You seem very eager to have your ifs converted, and the early if-conversion pass is pretty much good to go.
This is my todo-list for enabling it on x86:
1. Verify that the MCSchedModel for x86 cpus looks reasonable. We probably don't need a fine-grained model with per-instruction latencies. The MCSchedModel allows a coarse classification:
- Integer instrs 1 cycle,
- Loads 4 cycles,
- High latency instrs 3 cycles (for floating point).
The IssueWidth should probably be set at 3 or 4.
2. Run some benchmarks to identify regressions. Perhaps tweak settings like the misprediction penalty.
MultiSource/Benchmarks/FreeBench/fourinarow was a massive regression last time I tested it because the float <-> int conversion instructions weren't marked as high latency at the time.
3. Check for increased spilling on x86 (32-bit). Perhaps only enable if-conversion for x86-64 if it is too hard on register pressure.
Have at it!
/jakob
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130125/484d369e/attachment.html>
More information about the llvm-commits
mailing list