Page MenuHomePhabricator
Feed Advanced Search

Jan 30 2018

Quolyk abandoned D41554: [InstSimplify] Missed optimization in math expression: (x+x)/x == 2.

Abandoning, as it was fixed in D42032

Jan 30 2018, 5:02 AM

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
Quolyk created D42047: [PatternMatch] Implement matching code for LibFunc.
Jan 14 2018, 11:16 PM · Restricted Project

Jan 12 2018

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

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

Jan 12 2018, 10:54 AM
Quolyk added a comment to D41283: [InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a).

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

Jan 12 2018, 9:55 AM

Jan 11 2018

Quolyk created D41940: [InstSimplify] Missed optimization in math expression: log10(pow(10.0,x)) == x, log2(pow(2.0,x)) == x.
Jan 11 2018, 2:07 AM · Restricted Project
Quolyk updated the diff for D41283: [InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a).

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

Jan 11 2018, 12:36 AM
Quolyk updated the diff for D41342: [InstCombine] Missed optimization in math expression: simplify calls exp functions.
Jan 11 2018, 12:00 AM

Jan 10 2018

Quolyk updated subscribers of D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).

@spatel @davide thanks for review and comments

Jan 10 2018, 10:39 PM
Quolyk committed rL322255: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).
[InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x)
Jan 10 2018, 10:34 PM
Quolyk closed D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).
Jan 10 2018, 10:34 PM

Jan 9 2018

Quolyk updated the diff for D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).
Jan 9 2018, 1:04 AM

Jan 7 2018

Quolyk updated the diff for D41608: [InstCombine] Missed optimization in math expression: pow multiplications.

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
Quolyk updated the diff for D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).
Jan 7 2018, 12:49 AM

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).
Jan 4 2018, 1:14 AM
Quolyk updated the diff for D41283: [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 4 2018, 1:13 AM
Quolyk updated the diff for D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).
Jan 4 2018, 12:52 AM

Jan 3 2018

Quolyk committed rL321710: [InstSimplify] Missed optimization in math expression: squashing exp(log), log….
[InstSimplify] Missed optimization in math expression: squashing exp(log), log…
Jan 3 2018, 6:39 AM
Quolyk closed D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).
Jan 3 2018, 6:38 AM
Quolyk updated the diff for D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).

@spatel I updated diff, please take a look.

Jan 3 2018, 12:09 AM

Jan 2 2018

Quolyk updated the diff for D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).

Updated tests

Jan 2 2018, 11:47 AM
Quolyk committed rL321648: NFC. Add description comments to Function header.
NFC. Add description comments to Function header
Jan 2 2018, 6:14 AM
Quolyk closed D41609: NFC. Add description comments to Function header.
Jan 2 2018, 6:14 AM
Quolyk added a comment to D41609: NFC. Add description comments to Function header.

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

Jan 2 2018, 6:10 AM
Quolyk updated the diff for D41342: [InstCombine] Missed optimization in math expression: simplify calls exp functions.
Jan 2 2018, 4:22 AM
Quolyk updated the diff for D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).

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

Jan 2 2018, 4:05 AM

Jan 1 2018

Quolyk committed rL321637: [InstCombine] Missed optimization in math expression: squashing sqrt functions.
[InstCombine] Missed optimization in math expression: squashing sqrt functions
Jan 1 2018, 9:59 PM
Quolyk closed D41322: [InstCombine] Missed optimization in math expression: squashing sqrt functions.
Jan 1 2018, 9:59 PM
Quolyk updated the summary of D41322: [InstCombine] Missed optimization in math expression: squashing sqrt functions.
Jan 1 2018, 9:57 PM
Quolyk committed rL321636: Test commit.
Test commit
Jan 1 2018, 9:48 PM
Quolyk closed D41561: Test commit.
Jan 1 2018, 9:48 PM

Dec 28 2017

Quolyk added a comment to D41322: [InstCombine] Missed optimization in math expression: squashing sqrt functions.

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

Dec 28 2017, 9:07 AM

Dec 27 2017

Quolyk added reviewers for D41609: NFC. Add description comments to Function header: davidxl, silvas, brzycki.
Dec 27 2017, 11:59 PM
Quolyk created D41609: NFC. Add description comments to Function header.
Dec 27 2017, 11:42 PM
Quolyk created D41608: [InstCombine] Missed optimization in math expression: pow multiplications.
Dec 27 2017, 11:30 PM · Restricted Project

Dec 25 2017

Quolyk reopened D41561: Test commit.
Dec 25 2017, 11:45 PM
Quolyk closed D41561: Test commit.
Dec 25 2017, 11:31 PM

Dec 24 2017

Quolyk added inline comments to D41554: [InstSimplify] Missed optimization in math expression: (x+x)/x == 2.
Dec 24 2017, 4:17 AM
Quolyk accepted D41561: Test commit.
Dec 24 2017, 2:03 AM
Quolyk created D41561: Test commit.
Dec 24 2017, 2:02 AM

Dec 23 2017

Quolyk created D41554: [InstSimplify] Missed optimization in math expression: (x+x)/x == 2.
Dec 23 2017, 9:14 AM

Dec 22 2017

Quolyk added a comment to D41322: [InstCombine] Missed optimization in math expression: squashing sqrt functions.

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

Dec 22 2017, 9:50 AM

Dec 21 2017

Quolyk updated the diff for D41322: [InstCombine] Missed optimization in math expression: squashing sqrt functions.
Dec 21 2017, 12:38 AM
Quolyk updated the diff for D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).
Dec 21 2017, 12:26 AM

Dec 20 2017

Quolyk updated the diff for D41342: [InstCombine] Missed optimization in math expression: simplify calls exp functions.
Dec 20 2017, 11:45 PM
Quolyk requested review of D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).
Dec 20 2017, 11:18 PM
Quolyk added a comment to D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).

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 ?

Dec 20 2017, 11:10 PM
Quolyk updated the diff for D41283: [InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a).
Dec 20 2017, 11:02 PM
Quolyk added a comment to D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.

@craig.topper please commit

Dec 20 2017, 9:47 AM
Quolyk added a comment to D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..

@arsenm please commit

Dec 20 2017, 9:44 AM
Quolyk added a comment to D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).

@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.

Dec 20 2017, 4:31 AM
Quolyk updated the diff for D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).
Dec 20 2017, 4:29 AM
Quolyk updated the diff for D41342: [InstCombine] Missed optimization in math expression: simplify calls exp functions.

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 20 2017, 12:55 AM

Dec 19 2017

Quolyk added a comment to D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).

I don't have commit access, please commit.

Dec 19 2017, 10:37 PM
Quolyk added a comment to D39834: [clang] -foptimization-record-file= should imply -fsave-optimization-record.

Thanks Dmitry, this LGTM!

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

Dec 19 2017, 8:31 AM
Quolyk updated the summary of D39834: [clang] -foptimization-record-file= should imply -fsave-optimization-record.
Dec 19 2017, 6:03 AM
Quolyk created D41389: [WIP][InstCombine] Missed optimization in math expression: squashing sin(asin), cos(acos).
Dec 19 2017, 5:34 AM
Quolyk created D41381: [InstSimplify] Missed optimization in math expression: squashing exp(log), log(exp).
Dec 19 2017, 2:21 AM

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).
Dec 18 2017, 1:22 AM
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).
Dec 18 2017, 1:22 AM
Quolyk created D41342: [InstCombine] Missed optimization in math expression: simplify calls exp functions.
Dec 18 2017, 1:21 AM
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 18 2017, 1:17 AM

Dec 17 2017

Quolyk retitled D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD from [WIP] X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD to X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.
Dec 17 2017, 10:34 PM
Quolyk added a comment to D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.

I don't have commit access, please commit.

Dec 17 2017, 10:18 PM

Dec 16 2017

Quolyk created D41322: [InstCombine] Missed optimization in math expression: squashing sqrt functions.
Dec 16 2017, 7:41 AM

Dec 15 2017

Quolyk created D41286: [InstCombine] Missed optimization in math expression: sin(x) / cos(x) => tan(x).
Dec 15 2017, 5:55 AM
Quolyk created D41283: [InstCombine] Missed optimization in math expression: tan(a) * cos(a) == sin(a).
Dec 15 2017, 4:55 AM

Dec 14 2017

Quolyk abandoned D40594: [InstCombine] miscompile of __builtin_fmod.
Dec 14 2017, 10:28 PM
Quolyk added a comment to D40552: [PowerPC, AsmParser] Enable the mnemonic spell corrector..

LGTM

Do you have commit access?

Dec 14 2017, 10:27 PM

Dec 13 2017

Quolyk updated the diff for D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.
Dec 13 2017, 10:58 PM

Nov 30 2017

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

Deleted -show-encoding from test

Nov 30 2017, 10:45 PM
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.

Nov 30 2017, 10:42 PM
Quolyk added a comment to D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..

BTW, I don't have commit access.

Nov 30 2017, 10:38 PM
Quolyk updated the diff for D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..

Deleted -show-encoding from test

Nov 30 2017, 10:37 PM
Quolyk accepted D40629: [LangRef] clarify semantics of the frem instruction.
Nov 30 2017, 12:29 AM
Quolyk updated the summary of D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..
Nov 30 2017, 12:21 AM
Quolyk created D40638: [AMDGPU, AsmParser] Enable the mnemonic spell corrector..
Nov 30 2017, 12:18 AM

Nov 29 2017

Quolyk created D40594: [InstCombine] miscompile of __builtin_fmod.
Nov 29 2017, 1:57 AM

Nov 28 2017

Quolyk created D40552: [PowerPC, AsmParser] Enable the mnemonic spell corrector..
Nov 28 2017, 5:56 AM
Quolyk added a comment to D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.

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

Nov 28 2017, 4:34 AM
Quolyk added inline comments to D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.
Nov 28 2017, 4:30 AM
Quolyk added inline comments to D40543: Pass by reference NewQualifiedName in QualifiedRenameRule.
Nov 28 2017, 4:29 AM
Quolyk updated the summary of D40543: Pass by reference NewQualifiedName in QualifiedRenameRule.
Nov 28 2017, 12:20 AM
Quolyk created D40543: Pass by reference NewQualifiedName in QualifiedRenameRule.
Nov 28 2017, 12:19 AM

Nov 27 2017

Quolyk updated the diff for D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.
Nov 27 2017, 6:19 AM

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 23 2017, 11:15 PM

Nov 22 2017

Quolyk updated the diff for D39834: [clang] -foptimization-record-file= should imply -fsave-optimization-record.
Nov 22 2017, 5:04 AM
Quolyk created D40335: X86-specific path: Implemented the fusing of MUL+SUBADD to FMSUBADD.
Nov 22 2017, 1:24 AM

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.
Nov 20 2017, 6:42 AM
Quolyk added a comment to D39834: [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 20 2017, 6:42 AM
Quolyk updated the diff for D39834: [clang] -foptimization-record-file= should imply -fsave-optimization-record.
Nov 20 2017, 3:41 AM

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 13 2017, 12:34 AM

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).
Nov 9 2017, 11:41 PM
Quolyk updated the diff for D39834: [clang] -foptimization-record-file= should imply -fsave-optimization-record.

Added 1 test, I guess it's sufficient

Nov 9 2017, 11:40 PM
Quolyk updated the diff for D39830: [DAGCombine] Transform (A + -2.0*B*C) -> (A - (B+B)*C).

Added some tests

Nov 9 2017, 11:14 PM
Quolyk retitled D39834: [clang] -foptimization-record-file= should imply -fsave-optimization-record from [ClangDriver] -foptimization-record-file= should imply -fsave-optimization-record to [clangd][WIP] -foptimization-record-file= should imply -fsave-optimization-record.
Nov 9 2017, 2:18 AM
Quolyk created D39834: [clang] -foptimization-record-file= should imply -fsave-optimization-record.
Nov 9 2017, 2:10 AM

Nov 8 2017

Quolyk created D39830: [DAGCombine] Transform (A + -2.0*B*C) -> (A - (B+B)*C).
Nov 8 2017, 11:06 PM