[LLVMdev] ARM Debug support patch
Evan Cheng
echeng at apple.com
Wed Dec 10 10:29:55 PST 2008
Hi Mikaël,
Thanks for the patch. Some comments:
1. Please don't use tabs.
2.
Index: lib/Target/ARM/ARMInstrInfo.cpp
===================================================================
--- lib/Target/ARM/ARMInstrInfo.cpp (revision 14)
+++ lib/Target/ARM/ARMInstrInfo.cpp (working copy)
@@ -904,7 +904,8 @@
return TAI->getInlineAsmLength(MI-
>getOperand(0).getSymbolName());
if (MI->isLabel())
return 0;
- if (MI->getOpcode() == TargetInstrInfo::IMPLICIT_DEF)
+ if (MI->getOpcode() == TargetInstrInfo::IMPLICIT_DEF ||
+ MI->getOpcode() == TargetInstrInfo::DECLARE)
return 0;
Same for ARM::DBG_LABEL.
3.
+ case ISD::DECLARE: {
+ SDValue Chain = Op.getOperand(0);
+ SDValue N1 = Op.getOperand(1);
+ SDValue N2 = Op.getOperand(2);
+
+ if (!isa<FrameIndexSDNode>(N1))
+ break;
+
+ int FI = cast<FrameIndexSDNode>(N1)->getIndex();
Something like this will be better:
FrameIndexSDNode *FINode = dyn_cast<FrameIndexSDNode>(N1);
if (!FINode)
break;
int FI = FINode->getIndex();
I'll fix these minor issues and commit the patch for you. Thanks for
your contribution!
Evan
On Dec 10, 2008, at 8:38 AM, Mike-1 wrote:
>
> Hi all,
>
> FlexyCore, the company I am working for, use LLVM to generate binary
> for ARM
> platform. We are very fulfilled with LLVM, and FlexyCore will be
> pleased to
> contribute on this software.
>
>
> We need debug support in ARM binary, but, in LLVM 2.4, this support
> is not
> activated for ARM backend. Consequently, I made small modifications
> in order
> to activate it (see the patch in attach file). My experience is not
> enough
> on LLVM to know if it is the right way to solve the problem. But these
> modifications work on our use cases.
>
>
>
> Could you help us in order to check if these modifications are
> corrects or
> not ? If it is not the right way, could you explain us how to solve
> this
> problem in the correct way, and we will be pleased to re-submit
> patch on
> this issue.
>
> I also use 'make check' command in order to verify that
> modifications does
> not generate regressions.
> Results are:
>
> * Without ARM debug support
> === Summary ===
> # of expected passes 2726
> # of unexpected failures 58
> # of expected failures 6
> * With ARM debug support
> === Summary ===
> # of expected passes 2727
> # of unexpected failures 57
> # of expected failures 6
>
> The extra success test is funccall.ll from test/DebugInfo. In order
> to build
> successfully LLVM on ARM Linux EABI platform, I put in comment the
> usage of
> __register_frame into JIT.cpp because it seems that __register_frame
> function is not into my libgcc. Could you mention which tools and
> versions
> that must to be used in order to build LLVM on ARM Linux EABI
> platform.
>
> Thanks,
>
> Mikaël.
>
> http://www.nabble.com/file/p20938563/arm-debug-from-llvm2-4.patch
> arm-debug-from-llvm2-4.patch
> --
> View this message in context: http://www.nabble.com/ARM-Debug-support-patch-tp20938563p20938563.html
> Sent from the LLVM - Dev mailing list archive at Nabble.com.
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list