Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GCC: xtensa: Backport patches from upstream/master #29

Merged

Conversation

jjsuwa-sys3175
Copy link

@jjsuwa-sys3175 jjsuwa-sys3175 commented Jul 20, 2021

this PR includes:

  • binary shrinkage (several hundreds of bytes) of __moddi3(), __divmoddi4() and __udivmoddi4() @ libgcc.a with no code modifications
  • inlining fixed, a few words range of memset()
  • further improvement of bswap() in order to take advantage of GIMPLE manual byte-swapping recognition
  • further improvement of 32-bit integer constant synthesis
  • further improvement of shift operations (per-byte shift and funnel shift)
  • new RTL insn patterns related to several bitwise-AND operations
  • improvement of RTL insn cost estimation for both size and speed, that can make the optimizer's insn combination stage more accurate
  • support for sibling call optimization
  • elimination of many wasted reg-reg move instructions in floating-point code
  • 32bit x 32bit -> 64bit widen multiplication, and the famous "fast constant division by multiplication" optimization when optimizing for speed
  • and more...

list of all patches applied:

  • 2b5b8610e985e23a0c2e0272339ab074a750e240 "xtensa: Fix non-robust split condition in define_insn_and_split"
  • 7e5baa7e6f4caced6bdaef6d866d19e7656d8a16 "xtensa: fix -Wformat-diag warnings."
  • d543bac1631700f0da30d5ca555296f4938a82c6 "xtensa: Rename deprecated extv/extzv insn patterns to extvsi/extzvsi"
  • 112447f8564c0307c5da99a4094a3a99f204239f "xtensa: Reflect the 32-bit Integer Divide Option"
  • b753405a5f0d45eea97f4cc7df2c2089401b08bf "xtensa: Simplify EXTUI instruction maskimm validations"
  • 9b251fe2e39a49c0d3ecd34cf8c5d55544efd159 "xtensa: Make use of IN_RANGE macro where appropriate"
  • 3397563ad6c8fc5d9675faf507e52dd2ed284202 "xtensa: Fix instruction counting regarding block move expansion"
  • 6454b4a8f5d90dd355c3c7e31a592a439223b645 "xtensa: Add setmemsi insn pattern"
  • 9aad2b22436d5346fa224e5c14439dcef36cf3dd "xtensa: Improve bswap[sd]i2 insn patterns"
  • e94c6dbfb57a862dd8a8685eabc4886ad1aaea25 "xtensa: fix PR target/105879"
  • 2fcc69d8ce4eddf6dea878a5383254d366e1bb14 "xtensa: Implement bswaphi2 insn pattern"
  • 9777d446e2148ef9a6e9f35db3f4eab99ee8812c "xtensa: Make one_cmplsi2 optimizer-friendly"
  • e44e7face13f38f9b228e2619786ba0add9ef77b "xtensa: Optimize '(~x & y)' to '((x & y) ^ y)'"
  • 29dc90a580bf45f503ed89eb1dc63b5676db776b "xtensa: Add clrsbsi2 insn pattern"
  • 9489a1ab05ad1bda7126da5513f08282da3e531d "xtensa: Tweak some widen multiplications"
  • fddf0e1057fe24eff0d894fbc2959b4086464a96 "xtensa: Consider the Loop Option when setmemsi is expanded to small loop"
  • ccd02e734e0f1742629403b46e5b1c650b00fd65 "xtensa: Improve instruction cost estimation and suggestion"
  • cd02f15f1aecc45b2c2feae16840503549508619 "xtensa: Improve constant synthesis for both integer and floating-point"
  • 1c68ec1f8ab531fba56cccf549ffe592bf622821 "xtensa: Improve shift operations more"
  • e1b193c1cce3a975a9ed60dd0f30182fe0255d7c "xtensa: Simplify conditional branch/move insn patterns"
  • 70ce04ca353bb0cda8321b91a77c2477e26d339b "xtensa: Make use of BALL/BNALL instructions"
  • 077438933cf94f00cc5edf974338c11ba4bf7a39 "xtensa: Optimize bitwise AND operation with some specific forms of constants"
  • 96518f714e3fab53a966a05b8d48011e27c1a718 "xtensa: Document new -mextra-l32r-costs= Xtensa-specific option"
  • 43b0c56fda4bc990e8ee8d6a0b376de7b663bb06 "xtensa: Add support for sibling call optimization"
  • c95e307e3a978166cd5d6817ec9d8293825ff3fb "xtensa: Add some dedicated patterns that correspond to GIMPLE canonicalizations"
  • cfad4856fa46abc878934a9433d0bfc2482ccf00 "xtensa: Eliminate unwanted reg-reg moves during DFmode input reloads"
  • ce3867d414bd7d9e5b6fb2a51b1fb3d9e9e1eae9 "xtensa: Eliminate [DS]Cmode hard register clobber that is immediately followed by whole overwrite the register"
  • 479b6f449ee999501ad6eff0b7db8d0cd5b2d28d "xtensa: Defer storing integer constants into litpool until reload"

@earlephilhower
Copy link
Owner

These look very interesting, @jjsuwa-sys3175 ! Do you think you should submit them to the GCC team directly? I don't think there are any ESP8266 Xtensa implementation specific bits in these patches.

@jjsuwa-sys3175
Copy link
Author

jjsuwa-sys3175 commented May 11, 2022

/cc @jcmvbkbc

@earlephilhower :

Do you think you should submit them to the GCC team directly?

currently I prepare posting the all of these patches to gcc-patch ML.
the first two are posted already.

and now, these patches pass:

  • building toolchain process (LINUX and WIN64) and liblwip2
  • compiling appropriate Sketches such as "FSBrowser" or "Graph" on Arduino IDE
  • uploading and running on actual ESP8266 chip

successfully :)

@jjsuwa-sys3175
Copy link
Author

jjsuwa-sys3175 commented May 12, 2022

"FSBrowser" building result:

  • IROM: 314984 -> 314040
  • IRAM: 27033 -> 26971

ESP8266 Quick Toolchain for 3.0.6-gcc10.3 (LINUX, unofficial)
x86_64-linux-gnu.xtensa-lx106-elf-6de5fab.220618.tar.xz

ESP8266 Quick Toolchain for 3.0.6-gcc10.3 (WIN64, unofficial)
x86_64-w64-mingw32.xtensa-lx106-elf-6de5fab.220618.7z

@jcmvbkbc
Copy link

currently I prepare posting the all of these patches to gcc-patch ML.
the first two are posted already.

@jjsuwa-sys3175 please cc me on these e-mails, it's so easy to miss them. I'm updating my gcc testing setup and will approve the patches after running regression tests. I guess I should also commit them or do you want to do it yourself?

@jjsuwa-sys3175
Copy link
Author

@jcmvbkbc:

please cc me on these e-mails, it's so easy to miss them.

ok, I understand.

I'm updating my gcc testing setup and will approve the patches after running regression tests.

I appreciate your support.

I guess I should also commit them or do you want to do it yourself?

sorry, can I leave it to you?

@jcmvbkbc
Copy link

sorry, can I leave it to you?

Sure, no problem.

@earlephilhower
Copy link
Owner

@jjsuwa-sys3175 can I merge and rebuild the toolchain now, or are you still planning on adding things here? I'd like to deploy to the main ESP8266 repo and get some feedback soon, so that these changes can be in the next release...

@jjsuwa-sys3175
Copy link
Author

jjsuwa-sys3175 commented Jun 12, 2022

@earlephilhower oh sorry, it took a long time...
now, all 24 patches are already commited and merged.

@jjsuwa-sys3175 jjsuwa-sys3175 changed the title [WIP] GCC: xtensa: a bunch of patches GCC: xtensa: Backport patches from upstream/master Jun 16, 2022
@jjsuwa-sys3175
Copy link
Author

finally done!

acknowledgements:
@earlephilhower thanks for waiting for almost a year.
@jcmvbkbc thanks for regtesting/committing over 20 patches.

@jjsuwa-sys3175
Copy link
Author

additional info:

  • new option -mextra-l32r-costs=n

    Specify an extra cost of instruction RAM/ROM access for L32R instructions, in clock cycles.
    This affects, when optimizing for speed, whether loading a constant from literal pool using L32R or synthesizing the constant from a small one with a couple of arithmetic instructions.
    The default value is 0.

    this is an official replacement for 5cf578c.
    in ESP8266, -O2 -mextra-l32r-costs=5 or 6.
    note: when optimizing for size, based on instruction length and no other options required.

2b5b8610e985e23a0c2e0272339ab074a750e240 "xtensa: Fix non-robust split condition in define_insn_and_split"
7e5baa7e6f4caced6bdaef6d866d19e7656d8a16 "xtensa: fix -Wformat-diag warnings."
d543bac1631700f0da30d5ca555296f4938a82c6 "xtensa: Rename deprecated extv/extzv insn patterns to extvsi/extzvsi"
112447f8564c0307c5da99a4094a3a99f204239f "xtensa: Reflect the 32-bit Integer Divide Option"
b753405a5f0d45eea97f4cc7df2c2089401b08bf "xtensa: Simplify EXTUI instruction maskimm validations"
9b251fe2e39a49c0d3ecd34cf8c5d55544efd159 "xtensa: Make use of IN_RANGE macro where appropriate"
3397563ad6c8fc5d9675faf507e52dd2ed284202 "xtensa: Fix instruction counting regarding block move expansion"
6454b4a8f5d90dd355c3c7e31a592a439223b645 "xtensa: Add setmemsi insn pattern"
9aad2b22436d5346fa224e5c14439dcef36cf3dd "xtensa: Improve bswap[sd]i2 insn patterns"
e94c6dbfb57a862dd8a8685eabc4886ad1aaea25 "xtensa: fix PR target/105879"
2fcc69d8ce4eddf6dea878a5383254d366e1bb14 "xtensa: Implement bswaphi2 insn pattern"
9777d446e2148ef9a6e9f35db3f4eab99ee8812c "xtensa: Make one_cmplsi2 optimizer-friendly"
e44e7face13f38f9b228e2619786ba0add9ef77b "xtensa: Optimize '(~x & y)' to '((x & y) ^ y)'"
29dc90a580bf45f503ed89eb1dc63b5676db776b "xtensa: Add clrsbsi2 insn pattern"
9489a1ab05ad1bda7126da5513f08282da3e531d "xtensa: Tweak some widen multiplications"
fddf0e1057fe24eff0d894fbc2959b4086464a96 "xtensa: Consider the Loop Option when setmemsi is expanded to small loop"
ccd02e734e0f1742629403b46e5b1c650b00fd65 "xtensa: Improve instruction cost estimation and suggestion"
cd02f15f1aecc45b2c2feae16840503549508619 "xtensa: Improve constant synthesis for both integer and floating-point"
1c68ec1f8ab531fba56cccf549ffe592bf622821 "xtensa: Improve shift operations more"
e1b193c1cce3a975a9ed60dd0f30182fe0255d7c "xtensa: Simplify conditional branch/move insn patterns"
70ce04ca353bb0cda8321b91a77c2477e26d339b "xtensa: Make use of BALL/BNALL instructions"
077438933cf94f00cc5edf974338c11ba4bf7a39 "xtensa: Optimize bitwise AND operation with some specific forms of constants"
96518f714e3fab53a966a05b8d48011e27c1a718 "xtensa: Document new -mextra-l32r-costs= Xtensa-specific option"
43b0c56fda4bc990e8ee8d6a0b376de7b663bb06 "xtensa: Add support for sibling call optimization"
c95e307e3a978166cd5d6817ec9d8293825ff3fb "xtensa: Add some dedicated patterns that correspond to GIMPLE canonicalizations"
cfad4856fa46abc878934a9433d0bfc2482ccf00 "xtensa: Eliminate unwanted reg-reg moves during DFmode input reloads"
ce3867d414bd7d9e5b6fb2a51b1fb3d9e9e1eae9 "xtensa: Eliminate [DS]Cmode hard register clobber that is immediately followed by whole overwrite the register"
479b6f449ee999501ad6eff0b7db8d0cd5b2d28d "xtensa: Defer storing integer constants into litpool until reload"
@earlephilhower
Copy link
Owner

@jjsuwa-sys3175 are you done pushing changes? I want to rebuilt and publish a new toolchain this weekend...

@jjsuwa-sys3175
Copy link
Author

@earlephilhower

are you done pushing changes? I want to rebuilt and publish a new toolchain this weekend...

yes! i did it :)
i'll wait for your update...

@earlephilhower earlephilhower merged commit 1dc7fdc into earlephilhower:master Jun 18, 2022
@earlephilhower
Copy link
Owner

I've started a build just now. Assuming no issues, I'll release and put up a PR in the Arduino repo once done.

Thanks again for your strong effort!

@jjsuwa-sys3175 jjsuwa-sys3175 deleted the bunch_of_patches branch June 18, 2022 19:06
@earlephilhower
Copy link
Owner

Arrgh, I didn't forget about this, but need to do some debugging.

Somehow bit rot has set in and the AARCH64 build (alone) is having issues with the unmodified docker container that built the earlier 10.3 bugfix1 with your fixed LR PR. It's also bombing with the same fault on a later container I've been using on the Pico RP2040 (whose ARM compiler does compile w/o any issue for AARCH64). So I need to do some ugly debugging to figure out WTH is going on only w/the AARCH64 build and it may be a bit.

It's not in GCC, but in libiberty so I don't think it is related to your patches at all.

What's really strange is there are no command changes other than a different cross-host between the AARCH64 and the ARM32/RPi build (and most other Linux-based builds).

jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jun 21, 2022
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jun 21, 2022
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jun 21, 2022
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jun 27, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes "
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jul 14, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes "
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jul 16, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jul 19, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jul 22, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jul 30, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Aug 17, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Sep 10, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Sep 11, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Oct 9, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Oct 20, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
4f3f0296acbb99a0fa2867986956e53e487206a9 "xtensa: Prepare the transition from Reload to LRA"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Oct 23, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
4f3f0296acbb99a0fa2867986956e53e487206a9 "xtensa: Prepare the transition from Reload to LRA"
e0927d7ddca154b1a5151da698e205593cb8912e "xtensa: Make register A0 allocable for the CALL0 ABI"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Oct 29, 2022
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
4f3f0296acbb99a0fa2867986956e53e487206a9 "xtensa: Prepare the transition from Reload to LRA"
e0927d7ddca154b1a5151da698e205593cb8912e "xtensa: Make register A0 allocable for the CALL0 ABI"
f896c13489d22b30d01257bc8316ab97b3359d1c "xtensa: Fix out-of-bounds array access in the movdi pattern"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jan 13, 2023
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
4f3f0296acbb99a0fa2867986956e53e487206a9 "xtensa: Prepare the transition from Reload to LRA"
e0927d7ddca154b1a5151da698e205593cb8912e "xtensa: Make register A0 allocable for the CALL0 ABI"
f896c13489d22b30d01257bc8316ab97b3359d1c "xtensa: Fix out-of-bounds array access in the movdi pattern"
89d5982b8f92c7441e34f8b65466840b4fe43687 "xtensa: Tabify, and trim trailing spaces"
b22f86ba9582b1483ff970aa73740864ceaa0860 "xtensa: Clean up xtensa_expand_prologue"
98a1b4d073b9993b0acda525332225f90714e2ec "xtensa: Change GP_RETURN{,_REG_COUNT} to GP_RETURN_{FIRST,LAST}"
48a0e822666b79600cae7401f9a3e8cf16bc3fd1 "xtensa: Generate density instructions in set_frame_ptr"
b92f1c2dcc7b79467662321615f6eafb0c441c7d "xtensa: use define_c_enums instead of define_constants"
65fed695f7b2eb99dfd679fbdfcf510104de2fb8 "xtensa: Check DF availability before use"
da086e472b61245dedcb2463c53f84072773d1f5 "xtensa: use GP_RETURN_* instead of magic constant"
b095a1db483c1a9522a768e52743440d6987c2cd "xtensa: Optimize stack frame adjustment more"
e3a4bd0bbdccdde0cff85f93064b01a44fb10d2a "xtensa: Optimize bitwise splicing operation"
b399afd22c6ea50722bbff3247d52f3bd14bf2b6 "xtensa: Make instruction cost estimation for size more accurate"
bb65bd084a8739feb5b85f87135c531fc8b86572 "xtensa: Tune "*btrue" insn pattern"
117be79bd84ed21b47588d0cd86d72d5d1757cae "xtensa: Optimize ctzsi2 and ffssi2 a bit"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jan 15, 2023
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
4f3f0296acbb99a0fa2867986956e53e487206a9 "xtensa: Prepare the transition from Reload to LRA"
e0927d7ddca154b1a5151da698e205593cb8912e "xtensa: Make register A0 allocable for the CALL0 ABI"
f896c13489d22b30d01257bc8316ab97b3359d1c "xtensa: Fix out-of-bounds array access in the movdi pattern"
89d5982b8f92c7441e34f8b65466840b4fe43687 "xtensa: Tabify, and trim trailing spaces"
b22f86ba9582b1483ff970aa73740864ceaa0860 "xtensa: Clean up xtensa_expand_prologue"
98a1b4d073b9993b0acda525332225f90714e2ec "xtensa: Change GP_RETURN{,_REG_COUNT} to GP_RETURN_{FIRST,LAST}"
48a0e822666b79600cae7401f9a3e8cf16bc3fd1 "xtensa: Generate density instructions in set_frame_ptr"
b92f1c2dcc7b79467662321615f6eafb0c441c7d "xtensa: use define_c_enums instead of define_constants"
65fed695f7b2eb99dfd679fbdfcf510104de2fb8 "xtensa: Check DF availability before use"
da086e472b61245dedcb2463c53f84072773d1f5 "xtensa: use GP_RETURN_* instead of magic constant"
b095a1db483c1a9522a768e52743440d6987c2cd "xtensa: Optimize stack frame adjustment more"
e3a4bd0bbdccdde0cff85f93064b01a44fb10d2a "xtensa: Optimize bitwise splicing operation"
b399afd22c6ea50722bbff3247d52f3bd14bf2b6 "xtensa: Make instruction cost estimation for size more accurate"
bb65bd084a8739feb5b85f87135c531fc8b86572 "xtensa: Tune "*btrue" insn pattern"
117be79bd84ed21b47588d0cd86d72d5d1757cae "xtensa: Optimize ctzsi2 and ffssi2 a bit"
ff6c7617102df365918402c6ccc8e497c47dbe60 "xtensa: Remove old broken tweak for leaf function"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Jan 22, 2023
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
4f3f0296acbb99a0fa2867986956e53e487206a9 "xtensa: Prepare the transition from Reload to LRA"
e0927d7ddca154b1a5151da698e205593cb8912e "xtensa: Make register A0 allocable for the CALL0 ABI"
f896c13489d22b30d01257bc8316ab97b3359d1c "xtensa: Fix out-of-bounds array access in the movdi pattern"
89d5982b8f92c7441e34f8b65466840b4fe43687 "xtensa: Tabify, and trim trailing spaces"
b22f86ba9582b1483ff970aa73740864ceaa0860 "xtensa: Clean up xtensa_expand_prologue"
98a1b4d073b9993b0acda525332225f90714e2ec "xtensa: Change GP_RETURN{,_REG_COUNT} to GP_RETURN_{FIRST,LAST}"
48a0e822666b79600cae7401f9a3e8cf16bc3fd1 "xtensa: Generate density instructions in set_frame_ptr"
b92f1c2dcc7b79467662321615f6eafb0c441c7d "xtensa: use define_c_enums instead of define_constants"
65fed695f7b2eb99dfd679fbdfcf510104de2fb8 "xtensa: Check DF availability before use"
da086e472b61245dedcb2463c53f84072773d1f5 "xtensa: use GP_RETURN_* instead of magic constant"
b095a1db483c1a9522a768e52743440d6987c2cd "xtensa: Optimize stack frame adjustment more"
e3a4bd0bbdccdde0cff85f93064b01a44fb10d2a "xtensa: Optimize bitwise splicing operation"
b399afd22c6ea50722bbff3247d52f3bd14bf2b6 "xtensa: Make instruction cost estimation for size more accurate"
bb65bd084a8739feb5b85f87135c531fc8b86572 "xtensa: Tune "*btrue" insn pattern"
117be79bd84ed21b47588d0cd86d72d5d1757cae "xtensa: Optimize ctzsi2 and ffssi2 a bit"
ff6c7617102df365918402c6ccc8e497c47dbe60 "xtensa: Remove old broken tweak for leaf function"
a4b05944b7d409682197a9f50759a4ed97145e23 "xtensa: Optimize inversion of the MSB"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Feb 21, 2023
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
4f3f0296acbb99a0fa2867986956e53e487206a9 "xtensa: Prepare the transition from Reload to LRA"
e0927d7ddca154b1a5151da698e205593cb8912e "xtensa: Make register A0 allocable for the CALL0 ABI"
f896c13489d22b30d01257bc8316ab97b3359d1c "xtensa: Fix out-of-bounds array access in the movdi pattern"
89d5982b8f92c7441e34f8b65466840b4fe43687 "xtensa: Tabify, and trim trailing spaces"
b22f86ba9582b1483ff970aa73740864ceaa0860 "xtensa: Clean up xtensa_expand_prologue"
98a1b4d073b9993b0acda525332225f90714e2ec "xtensa: Change GP_RETURN{,_REG_COUNT} to GP_RETURN_{FIRST,LAST}"
48a0e822666b79600cae7401f9a3e8cf16bc3fd1 "xtensa: Generate density instructions in set_frame_ptr"
b92f1c2dcc7b79467662321615f6eafb0c441c7d "xtensa: use define_c_enums instead of define_constants"
65fed695f7b2eb99dfd679fbdfcf510104de2fb8 "xtensa: Check DF availability before use"
da086e472b61245dedcb2463c53f84072773d1f5 "xtensa: use GP_RETURN_* instead of magic constant"
b095a1db483c1a9522a768e52743440d6987c2cd "xtensa: Optimize stack frame adjustment more"
e3a4bd0bbdccdde0cff85f93064b01a44fb10d2a "xtensa: Optimize bitwise splicing operation"
b399afd22c6ea50722bbff3247d52f3bd14bf2b6 "xtensa: Make instruction cost estimation for size more accurate"
bb65bd084a8739feb5b85f87135c531fc8b86572 "xtensa: Tune "*btrue" insn pattern"
117be79bd84ed21b47588d0cd86d72d5d1757cae "xtensa: Optimize ctzsi2 and ffssi2 a bit"
ff6c7617102df365918402c6ccc8e497c47dbe60 "xtensa: Remove old broken tweak for leaf function"
a4b05944b7d409682197a9f50759a4ed97145e23 "xtensa: Optimize inversion of the MSB"
1c407dc088231ba5f2cc63d9278f4b797db48de1 "xtensa: Revise complex hard register clobber elimination"
a804419c89db9e1c0b99e772dda6c95095bab0bf "xtensa: Enforce return address saving when -Og is specified"
jjsuwa-sys3175 added a commit to jjsuwa-sys3175/esp-quick-toolchain that referenced this pull request Feb 24, 2023
See earlephilhower#29 and earlephilhower#36.

List of patches added after earlephilhower#29:

75ab2f0ebd3c6ab678fea03906186068b89f9fbc "xtensa: Apply a few minor fixes"
46880cd8be7c307f147a8785ac8f58e04a35d34e "xtensa: Fix RTL insn cost estimation about relaxed MOVI instructions"
ec532b47f1823e71f822c0da781c531ffff67a52 "xtensa: Fix buffer overflow"
773dffc50fbc768e3282455bd4238a67b1481176 "xtensa: Optimize integer constant addition that is between -32896 and 32639"
46dc26fdfbf3e64f82188e21aa6a13ec23108e8e "Improve initialization of objects when the initializer has trailing zeros."
e85c94d1c83072d7b894e44009e876dd41ff778a "xtensa: Minor fix for FP constant synthesis"
1884f8978237b15013576a720bcb32e7c5647574 "xtensa: constantsynth: Make try to find shorter instruction"
d6d8e6a7e1379f9dfdf2f39efcc82d9185cca6d0 "xtensa: Optimize "bitwise AND with imm1" followed by "branch if (not) equal to imm2""
2180cdd8a0e65c2790a7732c82de87f83478487b "xtensa: Correct the relative RTX cost that corresponds to the Move Immediate "MOVI" instruction"
64cb87b2381aceaa37230bae7f43c7b9f978d3e3 "xtensa: Optimize "bitwise AND NOT with imm" followed by "branch if (not) equal to zero""
48e9954d0865b5e5e31cb77ad05c45f7206eeb9f "xtensa: Add RTX costs for if_then_else"
2fa8c4a659a19ec971c80704f48f96c13aae9ac3 "xtensa: Fix conflicting hard regno between indirect sibcall fixups and EH_RETURN_STACKADJ_RTX"
a2ff389099c325bc1244b1d72744a18c5fa6fda3 "xtensa: Turn on -fsplit-wide-types-early by default"
dca74793cd42ce4c5319943a516cc5ea7265b6f7 "xtensa: Optimize stack pointer updates in function pro/epilogue under certain conditions"
8731aa98674eda56425ffd652918ce4979631f67 "xtensa: Improve indirect sibling call handling"
9e0c2696724d4d004ea189a69f15781c7baa68e1 "xtensa: add static PIE support"
06c2756e824cfe409d280fc78a0c4f68a9123e49 "xtensa: Eliminate unused stack frame allocation/freeing"
89afb2e86fcb29c559b2957fdcbea0d01740c49b "xtensa: Make complex hard register clobber elimination more robust and accurate"
75e5cc9c3aba943819c284902b3792f7150749cf "xtensa: constantsynth: Add new 3-insns synthesis pattern"
71cd6a0430ca2a2c44e3cf4cc9f3c96d3aef1ab7 "xtensa: fix builtin_apply return value"
0bf60f68ed9db2e4b373b28c125aeda339f6cd59 "xtensa: implement MI thunk generation for call0 ABI"
66d20d881647e7dd177355a851d7839394ab8341 "xtensa: enable section anchors support"
4f3f0296acbb99a0fa2867986956e53e487206a9 "xtensa: Prepare the transition from Reload to LRA"
e0927d7ddca154b1a5151da698e205593cb8912e "xtensa: Make register A0 allocable for the CALL0 ABI"
f896c13489d22b30d01257bc8316ab97b3359d1c "xtensa: Fix out-of-bounds array access in the movdi pattern"
89d5982b8f92c7441e34f8b65466840b4fe43687 "xtensa: Tabify, and trim trailing spaces"
b22f86ba9582b1483ff970aa73740864ceaa0860 "xtensa: Clean up xtensa_expand_prologue"
98a1b4d073b9993b0acda525332225f90714e2ec "xtensa: Change GP_RETURN{,_REG_COUNT} to GP_RETURN_{FIRST,LAST}"
48a0e822666b79600cae7401f9a3e8cf16bc3fd1 "xtensa: Generate density instructions in set_frame_ptr"
b92f1c2dcc7b79467662321615f6eafb0c441c7d "xtensa: use define_c_enums instead of define_constants"
65fed695f7b2eb99dfd679fbdfcf510104de2fb8 "xtensa: Check DF availability before use"
da086e472b61245dedcb2463c53f84072773d1f5 "xtensa: use GP_RETURN_* instead of magic constant"
b095a1db483c1a9522a768e52743440d6987c2cd "xtensa: Optimize stack frame adjustment more"
e3a4bd0bbdccdde0cff85f93064b01a44fb10d2a "xtensa: Optimize bitwise splicing operation"
b399afd22c6ea50722bbff3247d52f3bd14bf2b6 "xtensa: Make instruction cost estimation for size more accurate"
bb65bd084a8739feb5b85f87135c531fc8b86572 "xtensa: Tune "*btrue" insn pattern"
117be79bd84ed21b47588d0cd86d72d5d1757cae "xtensa: Optimize ctzsi2 and ffssi2 a bit"
ff6c7617102df365918402c6ccc8e497c47dbe60 "xtensa: Remove old broken tweak for leaf function"
a4b05944b7d409682197a9f50759a4ed97145e23 "xtensa: Optimize inversion of the MSB"
1c407dc088231ba5f2cc63d9278f4b797db48de1 "xtensa: Revise complex hard register clobber elimination"
a804419c89db9e1c0b99e772dda6c95095bab0bf "xtensa: Enforce return address saving when -Og is specified"
782e442e4f3b88937a725a01245dd749f3f893b9 "xtensa: fix PR target/108876"
4f609c6f762832e43524352527a7ecbea2698ff9 "xtensa: Fix missing mode warnings in machine description"
33e4559305e6f1adaa1b2b59f645d54fd98e5bbe "xtensa: Eliminate the use of callee-saved register that saves and restores only once"
f83e76c3f998c8708fe2ddca16ae3f317c39c37a "xtensa: Eliminate unnecessary general-purpose reg-reg moves"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants