Evan,<br><br>The problem is the semantics. A possible solution is rename UseThumbBacktraces to UseThumbFramePtrReg.<br><br>Lauro<br><br><div><span class="gmail_quote">2007/4/27, Evan Cheng <<a href="mailto:evan.cheng@apple.com">
evan.cheng@apple.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi Lauro,<br><br>It would be better to fix ARMSubtarget.cpp
instead. Just initialize<br>UseThumbBacktraces to the value of input parameter thumb to the<br>ARMSubtarget ctor.<br><br>Evan<br><br>On Apr 27, 2007, at 10:58 AM, Lauro Ramos Venancio wrote:<br><br>><br>><br>> Changes in directory llvm/lib/Target/ARM:
<br>><br>> ARMRegisterInfo.cpp updated: 1.88 -> 1.89<br>> ---<br>> Log message:<br>><br>> In Thumb mode, the frame register must be R7.<br>><br>><br>> ---<br>> Diffs of the changes: (+2 -2)
<br>><br>> ARMRegisterInfo.cpp | 4 ++--<br>> 1 files changed, 2 insertions(+), 2 deletions(-)<br>><br>><br>> Index: llvm/lib/Target/ARM/ARMRegisterInfo.cpp<br>> diff -u llvm/lib/Target/ARM/ARMRegisterInfo.cpp:
1.88 llvm/lib/<br>> Target/ARM/ARMRegisterInfo.cpp:1.89<br>> --- llvm/lib/Target/ARM/ARMRegisterInfo.cpp:1.88 Wed Apr 25<br>> 17:13:27 2007<br>> +++ llvm/lib/Target/ARM/ARMRegisterInfo.cpp Fri Apr 27 12:58:03 2007
<br>> @@ -85,7 +85,7 @@<br>> const ARMSubtarget &sti)<br>> : ARMGenRegisterInfo(ARM::ADJCALLSTACKDOWN, ARM::ADJCALLSTACKUP),<br>> TII(tii), STI(sti),<br>> - FramePtr(
STI.useThumbBacktraces() ? ARM::R7 : ARM::R11) {<br>> + FramePtr(STI.useThumbBacktraces() || STI.isThumb() ? ARM::R7 :<br>> ARM::R11) {<br>> }<br>><br>> bool ARMRegisterInfo::spillCalleeSavedRegisters(MachineBasicBlock
<br>> &MBB,<br>> @@ -1472,7 +1472,7 @@<br>><br>> unsigned ARMRegisterInfo::getFrameRegister(MachineFunction &MF)<br>> const {<br>> if (STI.isTargetDarwin() || hasFP(MF))<br>> - return STI.useThumbBacktraces
() ? ARM::R7 : ARM::R11;<br>> + return STI.useThumbBacktraces() || STI.isThumb() ? ARM::R7 :<br>> ARM::R11;<br>> else<br>> return ARM::SP;<br>> }<br>><br>><br>><br>> _______________________________________________
<br>> llvm-commits mailing list<br>> <a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
</a><br><br>_______________________________________________<br>llvm-commits mailing list<br><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></blockquote></div><br>