[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation

Evan Cheng evan.cheng at apple.com
Thu Jun 11 11:27:12 PDT 2009


On Jun 8, 2009, at 2:42 PM, robert muth wrote:

> On Sun, Jun 7, 2009 at 11:53 PM, Evan Cheng <evan.cheng at apple.com>  
> wrote:
>>
>> On Jun 7, 2009, at 6:59 AM, robert muth wrote:
>>
>>> On Sat, Jun 6, 2009 at 4:51 PM, Evan Cheng<evan.cheng at apple.com>
>>> wrote:
>>>> +cl::opt<std::string> FlagJumpTableSection("jumptable-section",
>>>> +                                            
>>>> cl::init(".data.jtab"));
>>>> +
>>>
>>> I thought it would be nice to group all the jumptables together.
>>> But as long as it stays configurable, I am fine to change the  
>>> default
>>> to ".data".
>>
>> There is already a TargetAsmInfo::JumpTableDataSection. Why not just
>> use that?
>
> Nice find. I will use that and possible change the current setting,
> ".const", if it does not work,
>
>>>
>>>> Is this necessary? Why not just put it in the normal data section?
>>>> Also "outline" jumptable seems like a strange term. Can you think  
>>>> of
>>>> something else?
>>>
>>>
>>> Yes, that is a tough one. How about "NonInline" instead.
>>
>> Or "OutOfLine"?
>
> That works for me.
>
>> Please add a test case as well. Thanks,
>
> I am not sure how to go about testing.

For this please just add a test case to the llvm dejagnu tests.

thanks,

Evan

>
> I have  a script that compiles a bunch of test
> programs (gnu c torture test, etc.) and then runs the executables
> on qemu.  I run this script with and without my flags and
> make sure that I do not introduce any new problems
> -- there are currently plenty of vararg issues.
>
> I was thinking of sending this script to the list
> or maybe checking it into the llvm tree.
>
> The key is that whatever tests there are they should just
> be run with and without the new flag.
> How do you run backend tests?
>
> Robert
>
>
>
>
>> Evan
>>
>>>
>>> Robert
>>>
>>>> Thanks,
>>>> Evan
>>>>
>>>> Sent from my iPhone
>>>> On Jun 2, 2009, at 6:26 PM, robert muth <robert at muth.org> wrote:
>>>>
>>>> Hi:
>>>>
>>>> This is my first patch submission. Hopefully, this is the proper  
>>>> the
>>>> protocol.
>>>> Attached is a patch for the llc ARM backend:
>>>>
>>>> Added mechanism to generate switch table in a data section
>>>> rather than having it interleaved with the code.
>>>> This is controlled by command line flags and off by default.
>>>> Also, tried to document and improve the code where I modified it.
>>>>
>>>> Robert
>>>>
>>>> <llc.patch.txt>
>>>>
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>
>>>> _______________________________________________
>>>> LLVM Developers mailing list
>>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>>>
>>>>
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
> _______________________________________________
> 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