diff options
author | Jessica Paquette <jpaquette@apple.com> | 2019-07-02 19:44:16 +0000 |
---|---|---|
committer | Jessica Paquette <jpaquette@apple.com> | 2019-07-02 19:44:16 +0000 |
commit | 99316043bbce99081d977a276e8a4c879cfa9de2 (patch) | |
tree | 040521fd186ef53ab613e166e364012a632bc76c /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | a70043632335f697b0cbbb12d5ef0c5fe0fb999a (diff) | |
download | llvm-99316043bbce99081d977a276e8a4c879cfa9de2.zip llvm-99316043bbce99081d977a276e8a4c879cfa9de2.tar.gz llvm-99316043bbce99081d977a276e8a4c879cfa9de2.tar.bz2 |
[AArch64][GlobalISel] Teach tryOptSelect to handle G_ICMP
This teaches `tryOptSelect` to handle folding G_ICMP, and removes the
requirement that the G_SELECT we're dealing with is floating point.
Some refactoring to make this work nicely as well:
- Factor out the scalar case from the selection code for G_ICMP into
`emitIntegerCompare`.
- Make `tryOptCMN` return a MachineInstr* instead of a bool.
- Make `tryOptCMN` not modify the instruction being selected.
- Factor out the CMN emission into `emitCMN` for readability.
By doing this this way, we can get all of the compare selection optimizations
in select emission.
Differential Revision: https://reviews.llvm.org/D64084
llvm-svn: 364961
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions