Displaying 20 results from an estimated 1000 matches similar to: "Usage of the jumptable attribute"
2014 Oct 05
2
[LLVMdev] Question about jumptable and indirect function call.
Hi all,
I'm a beginner in LLVM. I read a paper recently, and I'm trying to use LLVM
jumptable in 3.5. When I compile the .bc file into .s file, I tried to use
the different jumptable type: all, single, ...
e.g.
clang -c -emit-llvm test.c
llc test.bc -jump-table-type=full -o test-full.s
llc test.bc -jump-table-type=single -o test-single.s
The tested C source code is like:
void foo() {
2014 Oct 13
2
[LLVMdev] Unexpected spilling of vector register during lane extraction on some x86_64 targets
Hello,
Depending on how I extract integer lanes from an x86_64 xmm register, the
backend may spill that register in order to load scalars. The effect was
observed on two targets: corei7-avx and btver1 (I haven't checked other
targets).
Here's a test case with spilling/no-spilling code put on conditional
compile:
#if __SSE4_1__ != 0
#include <smmintrin.h>
#else
#include
2018 Aug 11
2
MachineInstr sizes for ARM jumptables
Hi llvm developers,
I might be overlooking something, but I think the ARMConstantIsland
pass uses the wrong size for the MachineInstrs representing jump
tables: Currently, there is the following calculation in
doInitialJumpTablePlacement
(lib/Target/ARM/ARMConstantIslandPass.cpp:588):
----------------------------------------------------------------------
unsigned Size = JT[JTI].MBBs.size() *
2017 Apr 04
3
RFC: Adding a string table to the bitcode format
On Tue, Apr 4, 2017 at 12:36 PM, Duncan P. N. Exon Smith <
dexonsmith at apple.com> wrote:
>
> On 2017-Apr-04, at 12:12, Peter Collingbourne <peter at pcc.me.uk> wrote:
>
> On Mon, Apr 3, 2017 at 8:13 PM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
>>
>> On Apr 3, 2017, at 7:08 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
>>
2014 Apr 04
2
[LLVMdev] [RFC] Simple control-flow integrity
On Wed, Apr 02, 2014 at 05:28:04PM -0700, Tom Roeder wrote:
> On Fri, Mar 21, 2014 at 1:46 PM, Peter Collingbourne <peter at pcc.me.uk>wrote:
>
> > On Fri, Mar 21, 2014 at 12:54:07PM -0700, Tom Roeder wrote:
> > > On Fri, Mar 21, 2014 at 12:15 PM, Peter Collingbourne <peter at pcc.me.uk>
> > wrote:
> > > >> The way I've implemented it (see
2017 May 16
2
[RFC] CFI for indirect calls with ThinLTO
Hi,
this is a proposal for the implementation of CFI-icall [1] with ThinLTO.
Jumptables are generated in the merged module. To generate a
jumptable, we need a list of functions with !type annotations,
including (in non-cross-dso mode) external functions. Unfortunately,
LLVM IR does not preserve unused function declarations, and we don’t
want to copy the actual function bodies to the merged
2014 Apr 04
3
[LLVMdev] [RFC] Simple control-flow integrity
On Thu, Apr 03, 2014 at 06:54:55PM -0700, Reid Kleckner wrote:
> I think it's a little scary to assume things about LLVM's x86 code
> generation. I haven't really finished the codegen side of the change, but
> I'm pretty sure in it's current state it will emit extra loads and stores,
> even if they are unnecessary.
Right, I had similar concerns. Now that I've
2014 Mar 21
3
[LLVMdev] [RFC] Simple control-flow integrity
On Fri, Mar 21, 2014 at 12:54:07PM -0700, Tom Roeder wrote:
> On Fri, Mar 21, 2014 at 12:15 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
> >> The way I've implemented it (see the patch I sent to llvm-commits
> >> yesterday), it's not just metadata: the intrinsic lowers to the
> >> jumptable entry code given above. The CFI pass then generates a
2017 May 16
2
[RFC] CFI for indirect calls with ThinLTO
On Mon, May 15, 2017 at 6:44 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
> Thanks for sending this out. A few comments below.
>
> On Mon, May 15, 2017 at 5:17 PM, Evgenii Stepanov via llvm-dev
> <llvm-dev at lists.llvm.org> wrote:
>>
>> Hi,
>>
>> this is a proposal for the implementation of CFI-icall [1] with ThinLTO.
>>
>>
2017 May 24
2
[RFC] CFI for indirect calls with ThinLTO
On Tue, May 23, 2017 at 4:39 PM, Evgenii Stepanov <eugeni.stepanov at gmail.com
> wrote:
> On Tue, May 16, 2017 at 4:33 PM, Evgenii Stepanov
> <eugeni.stepanov at gmail.com> wrote:
> > On Mon, May 15, 2017 at 6:44 PM, Peter Collingbourne <peter at pcc.me.uk>
> wrote:
> >> Thanks for sending this out. A few comments below.
> >>
> >> On
2014 Mar 21
2
[LLVMdev] [RFC] Simple control-flow integrity
On Thu, Mar 20, 2014 at 3:29 PM, Peter Collingbourne <peter at pcc.me.uk> wrote:
>
> On Mon, Mar 17, 2014 at 10:28:52AM -0700, Tom Roeder wrote:
> > On Tue, Feb 25, 2014 at 5:41 PM, Eric Christopher <echristo at gmail.com>wrote:
> >
> > > On Mon, Feb 24, 2014 at 4:33 PM, Tom Roeder <tmroeder at google.com> wrote:
> > > >
> > > >
2005 Dec 23
2
[LLVMdev] if's to switch transformation?
hello everyone,
I few days ago I had some code (for the PyPy project) that llc -
march=c converted to a switch statement and gcc compiled that nicely
to a jumptable in the .s file. Now I try to reproduce when directly
going from a .ll to a .s file. But I now see a long list of compare
and jumps instead of the jumptable. Is there a transformation that
does this if->switch(ing) or is
2009 Jun 08
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
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",
>>> +
2009 Jun 11
0
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
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>
2009 Jun 07
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
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
2014 Feb 11
4
[LLVMdev] [RFC] Simple control-flow integrity
On 11 Feb 2014, at 08:15, Eric Christopher <echristo at gmail.com> wrote:
> On Mon, Feb 10, 2014 at 11:51 PM, Reid Kleckner <rnk at google.com> wrote:
>>
>>
>>
>> IIRC this came up before, and I don't think we expose anything like a jump
>> table at the IR level. As an IR-to-IR transform, I think asm is the only
>> way to do it.
>
2018 May 22
1
How jump-table representated in DAG
Hi, all
I am interested in how jump-table representated in DAG.
I find the method visitJumpTable will Emit JumpTable node in the current MBB.
visitJumpTableHeader - This function emits necessary code to produce index in the JumpTable from switch case.
but how switch case emits?
I would like to make this clearly.
Thanks,
yaoxiao
-------------- next part --------------
An HTML attachment
2009 Dec 15
2
[LLVMdev] Running a pass
Hello LLVM,
I am following the document "Writing an LLVM Pass". When I ran "opt -load
../../../Debug/lib/MyPass.so -mypass < hello.bc > /dev/null" I got the next
error:
***@ubuntu:~/test$ opt -load ../../llvm/Debug/lib/MyPass.so -mypass <
hello.bc > /dev/null
opt: Pass.cpp:159: void<unnamed>::PassRegistrar::RegisterPass(const
llvm::PassInfo&): Assertion
2009 Jul 02
2
[LLVMdev] patch for llc/ARM: added mechanism to move switch tables from .text -> .data; also cleanup and documentation
On Thu, Jun 25, 2009 at 6:17 PM, Bob Wilson <bob.wilson at apple.com> wrote:
> Hi Robert,
> Evan asked me to review this patch, and I have some questions about it. I
> apologize for not following the discussion earlier and for hitting you with
> questions after you've already gone through several revisions.
>
> LLVM provides some default behavior for handling jump
2018 Jan 28
4
Polly Dependency Analysis in MyPass
Hello,
I need to analyze dependencies in my llvm ir by using polly. i created a
new pass called mypass there i added polly dependency analysis pass but
when i execute this pass in gdb i get no data.
Why is that so?
My code is follows;
namespace {
struct mypass : public FunctionPass {
static char ID;
mypass() : FunctionPass(ID) {
}
virtual bool runOnFunction(Function &F)
{