diff options
| author | 2011-10-02 13:08:29 -0700 | |
|---|---|---|
| committer | 2011-10-02 13:21:01 -0700 | |
| commit | bbaf894dded77603bd457758ba2b4636122fb8b7 (patch) | |
| tree | ac8d0450f23dd6cde9647febef8de514c5a4b8ae /src/compiler/codegen/arm/Codegen.h | |
| parent | fc22c89072e310767f8e39776195a219df851ea0 (diff) | |
Optimization fixes
Two primary fixes. First, the save/restore mechanism for FP callee saves
was broken if there were any holes in the save mask (the Arm ld/store
multiple instructions for floating point use a start + count mechanism,
rather than the bit-mask mechanism used for core registers).
The second fix corrects a problem introduced by the recent enhancements
to loading floating point literals. The load->copy optimization mechanism
for literal loads used the value of the loaded literal to identify
redundant loads. However, it used only the first 32 bits of the
literal - which worked fine previously because 64-bit literal loads
were treated as a pair of 32-bit loads. The fix was to use the
label of the literal rather than the value in the aliasInfo - which
works for all sizes.
Change-Id: Ic4779adf73b2c7d80059a988b0ecdef39921a81f
Diffstat (limited to 'src/compiler/codegen/arm/Codegen.h')
0 files changed, 0 insertions, 0 deletions