diff options
| author | Bill Wendling <isanbard@gmail.com> | 2010-04-12 22:19:57 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2010-04-12 22:19:57 +0000 |
| commit | b02bbe416fda771623857038b403f17bf4b7b3fb (patch) | |
| tree | bf4591a797921a7fc09426ac04f87ba553605a1c /clang/lib/CodeGen/CGExprComplex.cpp | |
| parent | 3cdcc3f7281bf594a4dcec683553f7454acbd5c1 (diff) | |
| download | llvm-b02bbe416fda771623857038b403f17bf4b7b3fb.zip llvm-b02bbe416fda771623857038b403f17bf4b7b3fb.tar.gz llvm-b02bbe416fda771623857038b403f17bf4b7b3fb.tar.bz2 | |
Micro-optimization:
If we have this situation:
jCC L1
jmp L2
L1:
...
L2:
...
We can get a small performance boost by emitting this instead:
jnCC L2
L1:
...
L2:
...
This testcase shows an example of this:
float func(float x, float y) {
double product = (double)x * y;
if (product == 0.0)
return product;
return product - 1.0;
}
llvm-svn: 101075
Diffstat (limited to 'clang/lib/CodeGen/CGExprComplex.cpp')
0 files changed, 0 insertions, 0 deletions
