Displaying 13 results from an estimated 13 matches for "llvm_i1_ti".
Did you mean:
llvm_i1_ty
2016 Jun 13
2
LLVM IR intrinsics placeholder for strings [was Re: Back end with special loop instructions (using LLVM IR intrinsics)]
Hello.
I come back to this thread. But I want to ask a slightly different question.
Is there a way to have LLVM IR language intrinsics that are given at construction
time a string that is written at assembly generation time as it is? (so, basically having
placeholders of strings in LLVM that remain untouched until the end, including code
generation time.)
More exactly, I would
2016 Feb 15
5
Masked intrinsics and non-default address spaces
Masked load/store are overloaded intrinsics, the only generic type is the type of the value being loaded/stored. The signature of the intrinsic is generated based on this type. The type of the pointer argument is generated as a pointer to the return type with default addrspace. E.g.:
declare <8 x i32> @llvm.masked.load.v8i32(<8 x i32>*, i32, <8 x i1>, <8 x i32>)
The
2015 Apr 28
2
[LLVMdev] Lowering intrinsic that return an int1
Hi all,
I'm playing with intrinsics and I was wondering how to lower an
intrinsic that should return, for example, an int1? More precisely, how
to return the value when working with MachineInst?
First, I have defined an instrinsic in "Intrinsics.td":
_def int_antivm : Intrinsic<[llvm_i1_ty], [], [], "llvm.antivm">;_
Then I want to lower it in the X86 backend,
2016 May 30
1
Back end with special loop instructions
Hi Alex,
You might find it useful to look at how lib/Target/PowerPC/PPCCTRLoops.cpp works.
-Hal
----- Original Message -----
> From: "Alex Susu via llvm-dev" <llvm-dev at lists.llvm.org>
> To: "llvm-dev" <llvm-dev at lists.llvm.org>
> Sent: Monday, May 30, 2016 5:09:37 PM
> Subject: [llvm-dev] Back end with special loop instructions
>
> Hello.
2014 Feb 26
2
[LLVMdev] How to 'define and use' a LOOP intrinsic that takes "iteration count" and the "label" to jump to ?
I have defined the intrinsic as
* def int_loop: Intrinsic<[],[llvm_i8_ty, llvm_empty_ty],[]>;*
and also got the Codegen backend support in Instructioninfo.td file.
Then created a .ll file to test it.
The .ll file is like this
*declare void @llvm.loop(i8, label)define void @fn() nounwind readnone
{entry: ..... ..... call void @llvm.loop(i8 10, label %entry) ret
void}*
But
2016 May 30
2
Back end with special loop instructions
Hello.
I'm writing a back end for my research SIMD processor that has an assembly language
that is blocked structured, with one-level loops. An example program with my assembly
language:
REPEAT_X_TIMES(Param2)
R0 = LS[offset_A];
END_REPEAT;
The LLVM code somewhat equivalent to the above ASM program is:
vector.body:
%index = phi i64 [
2008 Apr 15
0
[LLVMdev] Branch-like intrinsic
On Mon, 14 Apr 2008, Edward Lee wrote:
> On Mon, Apr 14, 2008 at 6:00 PM, Chris Lattner <sabre at nondot.org> wrote:
>> You can change the code generator or not run the block layout pass.
> Ok thanks for the help. I'll try finding where to twiddle this.
> Perhaps explicitly check if the branch's condition is the call to my
> intrinsic.
>
> Or is there another
2008 Apr 14
2
[LLVMdev] Branch-like intrinsic
On Mon, Apr 14, 2008 at 5:02 PM, Bill Wendling <isanbard at gmail.com> wrote:
> Then that flow would be explicit in the CFG, right? Then %F wouldn't
> be dead, I'm assuming.
Right. That's why I used a conditional branch after the intrinsic, but
it sounds like the CFG simplification pass after lowering will
optimize it away and no longer have the flow explicit. (To the
2012 Oct 19
3
[LLVMdev] [cfe-commits] [PATCH] [llvm+clang] memset for non-8-bit bytes
> Please start a thread on llvmdev about this functionality, and outline what other intrinsics will have to change to add non-8-bit byte support.
Well, memset is the only we have seen so far (our back-end is ~50% finished for an initial release). We have our own front-end as well (we are currently not using the clang front-end), and currently don't use many llvm intrinsics (only
2015 Aug 14
2
[LLVM RFC] Add llvm.typeid.for intrinsic
This is for BPF output. BPF program output bytes to perf through a
tracepoint. For decoding such data, we need a way to describe the format
of the buffer. This patch is a try which gives each variable a unique
number by introducing a new intrinsic 'llvm.typeid.for'.
At the bottom is an example of using that intrinsic and the result
of
$ clang -target bpf -O2 -c -S ./test_typeid.c
llvm bpf debug info. Re: [RFC PATCH v4 3/3] bpf: Introduce function for outputing data to perf event
2015 Aug 12
3
llvm bpf debug info. Re: [RFC PATCH v4 3/3] bpf: Introduce function for outputing data to perf event
On 2015/8/12 12:57, Alexei Starovoitov wrote:
> On Wed, Aug 12, 2015 at 10:34:43AM +0800, Wangnan (F) via llvm-dev wrote:
>> Think about a program like this:
>>
>> struct strA { int a; }
>> struct strB { int b; }
>> int func() {
>> struct strA a;
>> struct strB b;
>>
>> a.a = 1;
>> b.b = 2;
>>
2014 Oct 26
2
[LLVMdev] Masked vector intrinsics and name mangling
> On Oct 26, 2014, at 8:22 AM, Hal Finkel <hfinkel at anl.gov> wrote:
>
> ----- Original Message -----
>> From: "Elena Demikhovsky" <elena.demikhovsky at intel.com>
>> To: "Hal Finkel" <hfinkel at anl.gov>
>> Cc: llvmdev at cs.uiuc.edu
>> Sent: Sunday, October 26, 2014 10:17:49 AM
>> Subject: RE: [LLVMdev] Masked vector
2019 May 20
3
[RFC] Intrinsics for Hardware Loops
Hi,
Arm have recently announced the v8.1-M architecture specification for
our next generation microcontrollers. The architecture includes
vector extensions (MVE) and support for low-overhead branches (LoB),
which can be thought of a style of hardware loop. Hardware loops
aren't new to LLVM, other backends (at least Hexagon and PPC that I
know of) also include support. These implementations