# Jan 30 2018

Abandoning, as it was fixed in D42032

# Jan 17 2018

Quolyk added inline comments to D41608: [InstCombine] Missed optimization in math expression: pow multiplications.
Jan 17 2018, 11:02 AM · Restricted Project

# Jan 14 2018

Quolyk retitled D41608: [InstCombine] Missed optimization in math expression: pow multiplications from [WIP][InstCombine] Missed optimization in math expression: aggressive optimization with pow to [InstCombine] Missed optimization in math expression: aggressive optimization with pow.
Jan 14 2018, 11:58 PM · Restricted Project
Jan 14 2018, 11:16 PM · Restricted Project

# Jan 12 2018

I'll try introduce llvm.tan intrinsic then in different patch

Why doesn't tan have an LLVM intrinsic like sin/cos?

# Jan 11 2018

This needs to be merged first, because it introduces m_LibFunc match, that would be useful for other optimizations.

# Jan 10 2018

@spatel @davide thanks for review and comments

[InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x)

# Jan 7 2018

pow(a, x) * a * a * a * a emits to

```define double @pow_ab_x_aaaa_fast(double %a, double %x) {
%1 = call fast double @llvm.pow.f64(double %a, double %x)
%2 = fmul fast double %a, %a
%3 = fmul fast double %2, %2
%mul4 = fmul fast double %3, %1
ret double %mul4
}```

I don't see obvious ways to fold these instructions. I Would appreciate if somebody could help me with this.

Jan 7 2018, 9:53 AM · Restricted Project

# Jan 4 2018

Quolyk retitled D41283: [InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a) from [WIP][InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a) to [InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a).

As in D41389 I have tan calls that are never used and never erased.

# Jan 3 2018

[InstSimplify] Missed optimization in math expression: squashing exp(log), log…

@spatel I updated diff, please take a look.

# Jan 2 2018

Updated tests

It looks ok to me. I’d prefer the comments reflect the overloaded method parameters but it’s not necessary.

Moved to InstructionSimplify. This patch changed a bit, ping me if ok, I'll commit.

# Jan 1 2018

[InstCombine] Missed optimization in math expression: squashing sqrt functions
Quolyk committed rL321636: Test commit.
Test commit

# Dec 28 2017

This isn't committed yet. Do you have access?

# Dec 27 2017

Dec 27 2017, 11:30 PM · Restricted Project

# Dec 24 2017

Quolyk added inline comments to D41554: [InstSimplify] Missed optimization in math expression: (x+x)/x == 2.

# Dec 22 2017

@davide please accept the revision, if ok. I'll commit.

# Dec 20 2017

I don't have access to my checkout here, but I'm fairly sure we do something similar in SimplifyLibCalls.
I understand many of the pattern proposed will be duplicated, which is, not ideal.
Also, I'm pretty sure @scanon once taught me (when I implemented a similar transformation in simplifylibcalls) that these can underflow/overflow pretty dramatically, so, shouldn't these only be enabled under -ffast-math ?

Quolyk added a comment to D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..

@hfinkel I'd like to thank you for your help and patience reviewing my patches, as I'm new to the community. I hope it's ok when I include you as a reviewer.

Since I'm new to llvm, I looked though other test files, and noticed that it isn't necessary to write full test-check, instead people write just one instruction to make sure test is ok, while consequent instructions doesn't matter. I wonder what style is preferred?

# Dec 19 2017

I don't have commit access, please commit.

Thanks Dmitry, this LGTM!

PS: Let me know if you don't have commit access and want me to commit it for you.

# Dec 18 2017

Quolyk retitled D41283: [InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a) from [InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a) to [WIP][InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a).
Quolyk retitled D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x) from [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x) to [WIP][InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).
Quolyk retitled D41322: [InstCombine] Missed optimization in math expression: squashing sqrt functions from [InstCombine] Missed optimization in math expression: squashing sqrt functions to [WIP][InstCombine] Missed optimization in math expression: squashing sqrt functions.

# Dec 17 2017

I don't have commit access, please commit.

# Dec 14 2017

Quolyk added a comment to D40552: [PowerPC, AsmParser] Enable the mnemonic spell corrector..

LGTM

Do you have commit access?

# Nov 30 2017

Quolyk updated the diff for D40552: [PowerPC, AsmParser] Enable the mnemonic spell corrector..

Deleted -show-encoding from test

Quolyk added a comment to D40552: [PowerPC, AsmParser] Enable the mnemonic spell corrector..

This is pretty cool. Thanks for implementing it.
I am not familiar with this code so I don't want to approve the patch, but the functionality that the test case shows is pretty cool.

Also, will this provide any diagnostics/suggestions for inline assembly? If so, it would be good to add that test case as well.

Quolyk added a comment to D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..

BTW, I don't have commit access.

Quolyk updated the diff for D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..

Deleted -show-encoding from test

Quolyk updated the summary of D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..

# Nov 28 2017

Is this really testing both ways of doing this? There's one from shuffles and one from build_vector.

According to the coverage build bot, the build_vector path of fmaddsub isn't tested today.

http://lab.llvm.org:8080/coverage/coverage-reports/llvm/coverage/Users/buildslave/jenkins/workspace/clang-stage2-coverage-R/llvm/lib/Target/X86/X86ISelLowering.cpp.html#L7505

Quolyk added inline comments to D40543: Pass by reference NewQualifiedName in QualifiedRenameRule.
Quolyk updated the summary of D40543: Pass by reference NewQualifiedName in QualifiedRenameRule.

# Nov 23 2017

Quolyk updated the diff for D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.

Updated diff according to code review. I need some help with documenting updated functions

# Nov 20 2017

Quolyk retitled D39834: [clang] -foptimization-record-file= should imply -fsave-optimization-record from [clangd] -foptimization-record-file= should imply -fsave-optimization-record to [clang] -foptimization-record-file= should imply -fsave-optimization-record.

Hi! You put "[clangd]" in the title, but I don't believe it's related to clangd but rather just "clang"?

# Nov 13 2017

Quolyk updated the diff for D39830: [DAGCombine] Transform (A + -2.0*B*C) -> (A - (B+B)*C).

Code review. Fix if N1 is constant.

# Nov 9 2017

Quolyk retitled D39830: [DAGCombine] Transform (A + -2.0*B*C) -> (A - (B+B)*C) from [DAGCombine] [WIP] Transform (A + -2.0*B*C) -> (A - (B+B)*C) to [DAGCombine] Transform (A + -2.0*B*C) -> (A - (B+B)*C).

Added 1 test, I guess it's sufficient

Quolyk updated the diff for D39830: [DAGCombine] Transform (A + -2.0*B*C) -> (A - (B+B)*C).