Revision tags: llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1, llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, studio-1.4, llvmorg-3.7.0-rc2 |
|
#
cf739b8c |
| 29-Jul-2015 |
Tim Northover <tnorthover@apple.com> |
AArch64: use AddressingModes.h accessors for compare shifts
No functional change because "lsl #12" is actually encoded as 12, but one less bug if someone ever decides to change that for the giggles.
AArch64: use AddressingModes.h accessors for compare shifts
No functional change because "lsl #12" is actually encoded as 12, but one less bug if someone ever decides to change that for the giggles.
llvm-svn: 243536
show more ...
|
#
17ae83a2 |
| 28-Jul-2015 |
Tim Northover <tnorthover@apple.com> |
AArch64: be careful of large immediates when optimising cmps.
llvm-svn: 243492
|
Revision tags: llvmorg-3.7.0-rc1, llvmorg-3.6.2, llvmorg-3.6.2-rc1 |
|
#
fa3872e7 |
| 18-May-2015 |
Matthias Braun <matze@braunis.de> |
MachineInstr: Change return value of getOpcode() to unsigned.
This was previously returning int. However there are no negative opcode numbers and more importantly this was needlessly different from
MachineInstr: Change return value of getOpcode() to unsigned.
This was previously returning int. However there are no negative opcode numbers and more importantly this was needlessly different from MCInstrDesc::getOpcode() (which even is the value returned here) and SDValue::getOpcode()/SDNode::getOpcode().
llvm-svn: 237611
show more ...
|
Revision tags: llvmorg-3.6.1, llvmorg-3.6.1-rc1 |
|
#
037b700b |
| 22-Apr-2015 |
Pete Cooper <peter_cooper@apple.com> |
[AArch64] Use MachineRegisterInfo instead of LiveIntervals to calculate liveness. NFC.
The CondOpt pass currently uses LiveIntervals to set the dead flag on a def. This patch uses MachineRegisterI
[AArch64] Use MachineRegisterInfo instead of LiveIntervals to calculate liveness. NFC.
The CondOpt pass currently uses LiveIntervals to set the dead flag on a def. This patch uses MachineRegisterInfo::use_empty instead as that is equivalent to the def being dead.
This removes an instance of LiveIntervals in the pass manager pipeline and saves 3.8% of compile time on llc conpiled for AArch64.
Reviewed by Chad Rosier and Zhaoshi.
llvm-svn: 235532
show more ...
|
Revision tags: llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4, llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2 |
|
#
6c901623 |
| 28-Jan-2015 |
Eric Christopher <echristo@gmail.com> |
Migrate AArch64 except for TTI and AsmPrinter away from getSubtargetImpl.
llvm-svn: 227293
|
Revision tags: llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1 |
|
#
7bb413e3 |
| 31-Oct-2014 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] Check Dest Register Liveness in CondOpt pass.
Our internal test reveals such case should not be transformed:
cmp x17, #3 b.lt .LBB10_15 ... subs x12, x12, #1 b.gt .LBB10_1
wher
[AArch64] Check Dest Register Liveness in CondOpt pass.
Our internal test reveals such case should not be transformed:
cmp x17, #3 b.lt .LBB10_15 ... subs x12, x12, #1 b.gt .LBB10_1
where x12 is a liveout, becomes:
cmp x17, #2 b.le .LBB10_15 ... subs x12, x12, #2 b.ge .LBB10_1
Unable to provide test case as it's difficult to reproduce on community branch.
http://reviews.llvm.org/D6048 Patch by Zhaoshi Zheng <zhaoshiz@codeaurora.org>!
llvm-svn: 220987
show more ...
|
#
a675e550 |
| 31-Oct-2014 |
Chad Rosier <mcrosier@codeaurora.org> |
[AArch64] CondOpt pass is missing FCMP instructions when searching backward for a CMP which defines the flags used by B.CC.
http://reviews.llvm.org/D6047 Patch by Zhaoshi Zheng <zhaoshiz@codeaurora.
[AArch64] CondOpt pass is missing FCMP instructions when searching backward for a CMP which defines the flags used by B.CC.
http://reviews.llvm.org/D6047 Patch by Zhaoshi Zheng <zhaoshiz@codeaurora.org>!
llvm-svn: 220961
show more ...
|
#
1a486da5 |
| 05-Sep-2014 |
Jiangning Liu <jiangning.liu@arm.com> |
[AArch64] Add pass to enable additional comparison optimizations by CSE.
Patched by Sergey Dmitrouk.
This pass tries to make consecutive compares of values use same operands to allow CSE pass to re
[AArch64] Add pass to enable additional comparison optimizations by CSE.
Patched by Sergey Dmitrouk.
This pass tries to make consecutive compares of values use same operands to allow CSE pass to remove duplicated instructions. For this it analyzes branches and adjusts comparisons with immediate values by converting:
GE -> GT GT -> GE LT -> LE LE -> LT
and adjusting immediate values appropriately. It basically corrects two immediate values towards each other to make them equal.
llvm-svn: 217220
show more ...
|