|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5 |
|
| #
610eb39c |
| 26-May-2022 |
Stefan Pintilie <[email protected]> |
[PowerPC][Future] Add an ISA Future to go with mcpu=future.
On Power PC we have ISA3.0 for Power 9, ISA3.1 for Power 10. This patchs adds an ISA for mcpu=future. The idea is to have a placeholder IS
[PowerPC][Future] Add an ISA Future to go with mcpu=future.
On Power PC we have ISA3.0 for Power 9, ISA3.1 for Power 10. This patchs adds an ISA for mcpu=future. The idea is to have a placeholder ISA for work that is experimental and may not be supported by existing ISAs.
Reviewed By: lei
Differential Revision: https://reviews.llvm.org/D126075
show more ...
|
|
Revision tags: llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3 |
|
| #
ed98c1b3 |
| 09-Mar-2022 |
serge-sans-paille <[email protected]> |
Cleanup includes: DebugInfo & CodeGen
Discourse thread: https://discourse.llvm.org/t/include-what-you-use-include-cleanup Differential Revision: https://reviews.llvm.org/D121332
|
|
Revision tags: llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
e3c2694d |
| 06-Dec-2021 |
Qiu Chaofan <[email protected]> |
[PowerPC] Implement general back2back fusion
Implement 'back-to-back' FX fusion according to Power10 User Manual '19.1.5.4 Fusion', not enabled by default.
Reviewed By: nemanjai
Differential Revis
[PowerPC] Implement general back2back fusion
Implement 'back-to-back' FX fusion according to Power10 User Manual '19.1.5.4 Fusion', not enabled by default.
Reviewed By: nemanjai
Differential Revision: https://reviews.llvm.org/D114345
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
59f4b3d3 |
| 23-Nov-2021 |
Qiu Chaofan <[email protected]> |
[PowerPC] Implement more fusion types for Power10
This implements the rest of Power10 instruction fusion pairs, according to user manual, including 'wide immediate', 'load compare', 'zero move' and
[PowerPC] Implement more fusion types for Power10
This implements the rest of Power10 instruction fusion pairs, according to user manual, including 'wide immediate', 'load compare', 'zero move' and 'SHA3 assist'.
Only 'SHA3 assist' is enabled by default.
Reviewed By: shchenz
Differential Revision: https://reviews.llvm.org/D112912
show more ...
|
| #
9b5e2b52 |
| 08-Nov-2021 |
Qiu Chaofan <[email protected]> |
[PowerPC] Implement basic macro fusion in Power10
Including basic fusion types around arithmetic and logical instructions.
Reviewed By: jsji
Differential Revision: https://reviews.llvm.org/D111693
|
| #
89b57061 |
| 08-Oct-2021 |
Reid Kleckner <[email protected]> |
Move TargetRegistry.(h|cpp) from Support to MC
This moves the registry higher in the LLVM library dependency stack. Every client of the target registry needs to link against MC anyway to actually us
Move TargetRegistry.(h|cpp) from Support to MC
This moves the registry higher in the LLVM library dependency stack. Every client of the target registry needs to link against MC anyway to actually use the target, so we might as well move this out of Support.
This allows us to ensure that Support doesn't have includes from MC/*.
Differential Revision: https://reviews.llvm.org/D111454
show more ...
|
| #
fb4e44c4 |
| 28-Sep-2021 |
Stefan Pintilie <[email protected]> |
[PowerPC] The builtins load8r and store8r are Power 7 plus.
This patch makes sure that the builtins __builtin_ppc_load8r and __ builtin_ppc_store8r are only available for Power 7 and up. Currently t
[PowerPC] The builtins load8r and store8r are Power 7 plus.
This patch makes sure that the builtins __builtin_ppc_load8r and __ builtin_ppc_store8r are only available for Power 7 and up. Currently the builtins seem to produce incorrect code if used for Power 6 or before.
Reviewed By: nemanjai, #powerpc
Differential Revision: https://reviews.llvm.org/D110653
show more ...
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
442123ca |
| 15-Jul-2021 |
Bogdan Graur <[email protected]> |
Fixes memory sanitizer 'use-of-uninitialized-value' diagnostic.
Differential Revision: https://reviews.llvm.org/D106047
|
| #
781929b4 |
| 13-Jul-2021 |
Victor Huang <[email protected]> |
[PowerPC][NFC] Power ISA features for Semachecking
[NFC] This patch adds features for pwr7, pwr8, and pwr9 that can be used for semachecking builtin functions that are only valid for certain version
[PowerPC][NFC] Power ISA features for Semachecking
[NFC] This patch adds features for pwr7, pwr8, and pwr9 that can be used for semachecking builtin functions that are only valid for certain versions of ppc.
Reviewed By: nemanjai, #powerpc Authored By: Quinn Pham <[email protected]>
Differential revision: https://reviews.llvm.org/D105501
show more ...
|
| #
e4585d3f |
| 13-Jul-2021 |
Victor Huang <[email protected]> |
Revert "[PowerPC][NFC] Power ISA features for Semachecking"
This reverts commit 10e0cdfc6526578c8892d895c0448e77cb9ba876.
|
| #
10e0cdfc |
| 13-Jul-2021 |
Victor Huang <[email protected]> |
[PowerPC][NFC] Power ISA features for Semachecking
[NFC] This patch adds features for pwr7, pwr8, and pwr9 that can be used for semachecking builtin functions that are only valid for certain version
[PowerPC][NFC] Power ISA features for Semachecking
[NFC] This patch adds features for pwr7, pwr8, and pwr9 that can be used for semachecking builtin functions that are only valid for certain versions of ppc.
Reviewed By: nemanjai, #powerpc Authored By: Quinn Pham <[email protected]>
Differential revision: https://reviews.llvm.org/D105501
show more ...
|
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
91f4c111 |
| 23-Mar-2021 |
Stefan Pintilie <[email protected]> |
[PowerPC] Add mprivileged option
Add an option to tell the compiler that it can use privileged instructions.
This patch only adds the option. Backend implementation will be added in a future patch.
[PowerPC] Add mprivileged option
Add an option to tell the compiler that it can use privileged instructions.
This patch only adds the option. Backend implementation will be added in a future patch.
Reviewed By: lei, amyk
Differential Revision: https://reviews.llvm.org/D99193
show more ...
|
| #
0e4f5f3e |
| 23-Mar-2021 |
Stefan Pintilie <[email protected]> |
[PowerPC] Change option to mrop-protect
In order to have the same option on power PC LLVM and power PC gcc the option will be changed from -mrop-protection to -mrop-protect.
The feature will be off
[PowerPC] Change option to mrop-protect
In order to have the same option on power PC LLVM and power PC gcc the option will be changed from -mrop-protection to -mrop-protect.
The feature will be off by default and turned on when the option is used.
Reviewed By: lei, amyk
Differential Revision: https://reviews.llvm.org/D99185
show more ...
|
| #
697f90eb |
| 20-Mar-2021 |
Anshil Gandhi <[email protected]> |
[NFC] [PowerPC] Determine Endianness in PPCTargetMachine
The TargetMachine uses the triple to determine endianness. Just use that logic rather than replicating it in PPCSubtarget.
Differential revi
[NFC] [PowerPC] Determine Endianness in PPCTargetMachine
The TargetMachine uses the triple to determine endianness. Just use that logic rather than replicating it in PPCSubtarget.
Differential revision: https://reviews.llvm.org/D98674
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2 |
|
| #
b80357d4 |
| 18-Feb-2021 |
Stefan Pintilie <[email protected]> |
[PowerPC] Add option for ROP Protection
Added -mrop-protection for Power PC to turn on codegen that provides some protection from ROP attacks.
The option is off by default and can be turned on for
[PowerPC] Add option for ROP Protection
Added -mrop-protection for Power PC to turn on codegen that provides some protection from ROP attacks.
The option is off by default and can be turned on for Power 8, Power 9 and Power 10.
This patch is for the option only. The feature will be implemented by a later patch.
Reviewed By: amyk
Differential Revision: https://reviews.llvm.org/D96512
show more ...
|
|
Revision tags: llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2 |
|
| #
0f588ac0 |
| 14-Jan-2021 |
Jinsong Ji <[email protected]> |
[PowerPC] Only use some extend mne if assembler is modern enough
Legacy AIX assembly might not support all extended mnes, add one feature bit to control the generation in MC, and avoid generating th
[PowerPC] Only use some extend mne if assembler is modern enough
Legacy AIX assembly might not support all extended mnes, add one feature bit to control the generation in MC, and avoid generating them by default on AIX.
Reviewed By: sfertile
Differential Revision: https://reviews.llvm.org/D94458
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc1 |
|
| #
3f7b4ce9 |
| 12-Jan-2021 |
Nemanja Ivanovic <[email protected]> |
[PowerPC] Add support for embedded devices with EFPU2
PowerPC cores like e200z759n3 [1] using an efpu2 only support single precision hardware floating point instructions. The single precision instru
[PowerPC] Add support for embedded devices with EFPU2
PowerPC cores like e200z759n3 [1] using an efpu2 only support single precision hardware floating point instructions. The single precision instructions efs* and evfs* are identical to the spe float instructions while efd* and evfd* instructions trigger a not implemented exception.
This patch introduces a new command line option -mefpu2 which leads to single-hardware / double-software code generation.
[1] Core reference: https://www.nxp.com/files-static/32bit/doc/ref_manual/e200z759CRM.pdf
Differential revision: https://reviews.llvm.org/D92935
show more ...
|
| #
8f004471 |
| 02-Jan-2021 |
Brandon Bergren <[email protected]> |
[PowerPC] Add the LLVM triple for powerpcle [1/5]
Add a triple for powerpcle-*-*.
This is a little-endian encoding of the 32-bit PowerPC ABI, useful in certain niche situations:
1) A loader such a
[PowerPC] Add the LLVM triple for powerpcle [1/5]
Add a triple for powerpcle-*-*.
This is a little-endian encoding of the 32-bit PowerPC ABI, useful in certain niche situations:
1) A loader such as the FreeBSD loader which will be loading a little endian kernel. This is required for PowerPC64LE to load properly in pseries VMs. Such a loader is implemented as a freestanding ELF32 LSB binary.
2) Userspace emulation of a 32-bit LE architecture such as x86 on 64-bit hosts such as PowerPC64LE with tools like box86 requires having a 32-bit LE toolchain and library set, as they operate by translating only the main binary and switching to native code when making library calls.
3) The Void Linux for PowerPC project is experimenting with running an entire powerpcle userland.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D93918
show more ...
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
bec81dc6 |
| 13-Sep-2020 |
Qiu Chaofan <[email protected]> |
Reland "[PowerPC] Implement instruction clustering for stores"
Commit 3c0b3250 introduced store fusion for PowerPC target, but it brought failure under UB sanitizer and was reverted. This patch fixe
Reland "[PowerPC] Implement instruction clustering for stores"
Commit 3c0b3250 introduced store fusion for PowerPC target, but it brought failure under UB sanitizer and was reverted. This patch fixes them.
show more ...
|
|
Revision tags: llvmorg-11.0.0-rc2 |
|
| #
009cd4e4 |
| 17-Aug-2020 |
Kit Barton <[email protected]> |
[PPC][GlobalISel] Add initial GlobalIsel infrastructure
This adds the initial GlobalISel skeleton for PowerPC. It can only run ir-translator and legalizer for `ret void`.
This is largely based on t
[PPC][GlobalISel] Add initial GlobalIsel infrastructure
This adds the initial GlobalISel skeleton for PowerPC. It can only run ir-translator and legalizer for `ret void`.
This is largely based on the initial GlobalISel patch for RISCV (https://reviews.llvm.org/D65219).
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D83100
show more ...
|
| #
8d9c13f3 |
| 08-Sep-2020 |
Qiu Chaofan <[email protected]> |
Revert "[PowerPC] Implement instruction clustering for stores"
This reverts commit 3c0b3250230b3847a2a47dfeacfdb794c2285f02, (along with ea795304 and bb39eb9e) since it breaks test with UB sanitizer.
|
| #
3c0b3250 |
| 08-Sep-2020 |
Qiu Chaofan <[email protected]> |
[PowerPC] Implement instruction clustering for stores
On Power10, it's profitable to schedule some stores with adjacent target address together. This patch implements this feature.
Reviewed By: ste
[PowerPC] Implement instruction clustering for stores
On Power10, it's profitable to schedule some stores with adjacent target address together. This patch implements this feature.
Reviewed By: steven.zhang
Differential Revision: https://reviews.llvm.org/D86754
show more ...
|
| #
512e256c |
| 24-Aug-2020 |
Baptiste Saleil <[email protected]> |
[PowerPC] Add clang options to control MMA support
This patch adds frontend and backend options to enable and disable the PowerPC MMA operations added in ISA 3.1. Instructions using these options wi
[PowerPC] Add clang options to control MMA support
This patch adds frontend and backend options to enable and disable the PowerPC MMA operations added in ISA 3.1. Instructions using these options will be added in subsequent patches.
Differential Revision: https://reviews.llvm.org/D81442
show more ...
|
| #
c7a0b268 |
| 14-Aug-2020 |
Craig Topper <[email protected]> |
[X86][MC][Target] Initial backend support a tune CPU to support -mtune
This patch implements initial backend support for a -mtune CPU controlled by a "tune-cpu" function attribute. If the attribute
[X86][MC][Target] Initial backend support a tune CPU to support -mtune
This patch implements initial backend support for a -mtune CPU controlled by a "tune-cpu" function attribute. If the attribute is not present X86 will use the resolved CPU from target-cpu attribute or command line.
This patch adds MC layer support a tune CPU. Each CPU now has two sets of features stored in their GenSubtargetInfo.inc tables . These features lists are passed separately to the Processor and ProcessorModel classes in tablegen. The tune list defaults to an empty list to avoid changes to non-X86. This annoyingly increases the size of static tables on all target as we now store 24 more bytes per CPU. I haven't quantified the overall impact, but I can if we're concerned.
One new test is added to X86 to show a few tuning features with mismatched tune-cpu and target-cpu/target-feature attributes to demonstrate independent control. Another new test is added to demonstrate that the scheduler model follows the tune CPU.
I have not added a -mtune to llc/opt or MC layer command line yet. With no attributes we'll just use the -mcpu for both. MC layer tools will always follow the normal CPU for tuning.
Differential Revision: https://reviews.llvm.org/D85165
show more ...
|
| #
7aaa8562 |
| 28-Jul-2020 |
Baptiste Saleil <[email protected]> |
[PowerPC] Add options to control paired vector memops support
Adds frontend and backend options to enable and disable the PowerPC paired vector memory operations added in ISA 3.1. Instructions using
[PowerPC] Add options to control paired vector memops support
Adds frontend and backend options to enable and disable the PowerPC paired vector memory operations added in ISA 3.1. Instructions using these options will be added in subsequent patches.
Differential Revision: https://reviews.llvm.org/D83722
show more ...
|