Displaying 6 results from an estimated 6 matches for "aguinet".
Did you mean:
guinet
2020 May 18
2
Use Galois field New Instructions (GFNI) to combine affine instructions
...7715923615551520, i64 undef> to <16 x i8>), i8 -86)
%2 = extractelement <16 x i8> %1, i64 0
ret i8 %2
}
(if that's profitable, which might not be the case here, see below)
Another more interesting example where we could see potential benefits is this one:
https://github.com/aguinet/llvm-project/commit/9ed424cbac0fe3566f801167e2190fad5ad07507#diff-21dd247f3b8aa49860ae8122fe3ea698R22
This gets even more interesting with vectorized code, with an example here:
* original C code: https://pastebin.com/4JjF7DPu
* LLVM IR after clang -O2 -mgfni -mavx2: https://pastebin.com/Ti0Vm2gj...
2020 Oct 08
4
__attribute__((apple_abi)): targeting Apple/ARM64 ABI from Linux (and others)
Hello everyone,
I made a quick patch to clang/llvm to introduce an "apple_abi" function attribute
(https://github.com/aguinet/llvm-project/commit/c4905ded3afb3182435df30e527955031cb0d098),
to be able to compile functions for the Apple ARM64 ABI when targeting other ARM64 OSes
(e.g. Linux). This can be seen as the Apple version of the already existing "ms_abi"
attribute.
In this mail, I will describe why we woul...
2017 Jun 17
5
LoopVectorize fails to vectorize loops with induction variables with PtrToInt/IntToPtr conversions
...itimately) consider inttoptr/ptrtoint as
no-op, and does not handle them. The thing is that, in our case, the GEP
in %23 is thus not analyzed by SCEV, and the PHI %16 is thus not
considered as an induction variable.
To confirm this hypothesis, I created a small out-of-tree pass
(https://github.com/aguinet/llvm-intptrcleanup) which registers before
loop vectorization and does the following:
* first, it search for phi nodes who have those properties:
- every incoming value of the phi node is a ptrtoint instruction. The
original pointer type of every ptrtoint instruction must be the same type T.
-...
2018 Feb 05
0
LLVM Weekly - #214, Feb 5th 2018
...asb at asbradbury.org>, or
@llvmweekly or @asbradbury on Twitter.
## News and articles from around the web
Reminder: the deadline for paper submissions for [EuroLLVM
2018](http://llvm.org/devmtg/2018-04/) is this Friday, February 9th.
Adrien Guinet has released [DragonFFI](https://github.com/aguinet/dragonffi/),
a C Foreign Function Interface (FFI) library based on Clang/LLVM. It aims to
provide broader ABI support than libffi and to work around the limitations of
Python's cffi C parser through the use of Clang.
## On the mailing lists
* Fāng-ruì Sòng started a discussion on [moving the...
2020 Apr 22
3
_ExtInt, LLVM integers and constant time
> On Apr 22, 2020, at 12:24 AM, Roman Lebedev via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> On Wed, Apr 22, 2020 at 9:35 AM Adrien Guinet via llvm-dev
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>>
>> Hello everyone,
>>
>> After reading the nice blog post about _ExtInt, I was wondering whether
>>
2019 Apr 12
3
Generating C headers from LLVM
Hi List,
is there any way to generate proper C header files for functions that
are defined in LLVM-IR. My current attempts fail when clang does some
fancy transformations (to adhere to some ABIs ??), e.g., for returning
a struct.
For example the declaration
typedef struct {int64_t a; int64_t b;int64_t c;} test;
test create_test(void);yields the LLVM code
%struct.test = type { i64, i64, i64 }