Displaying 12 results from an estimated 12 matches for "copy_bar".
2012 Aug 22
4
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information
...about the struct padding part of this problem [0];
this proposal extends that proposal and adds the capability to represent
TBAA information for the members of the fields in a struct assignment.
Here's an example showing the basic problem:
struct bar {
char x;
float y;
double z;
};
void copy_bar(struct bar *a, struct bar *b) {
*a = *b;
}
We get this IR:
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 false)
This works, but it doesn't retain the information that the bytes between fields
x and y don't really need to be copied, and it doesn't inform t...
2012 Aug 30
0
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information
On 8/22/2012 3:15 PM, Dan Gohman wrote:
> Here's an example showing the basic problem:
>
> struct bar {
> char x;
> float y;
> double z;
> };
> void copy_bar(struct bar *a, struct bar *b) {
> *a = *b;
> }
>
> We get this IR:
>
> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 false)
>
> This works, but it doesn't retain the information that the bytes between fields
> x and y don't really ne...
2012 Sep 07
0
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information (new version)
...; http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-August/052927.html
>
> here is a new proposal for detailed struct assignment information.
Thanks Dan,
> Here's the example showing the basic problem:
>
> struct bar {
> char x;
> float y;
> double z;
> };
> void copy_bar(struct bar *a, struct bar *b) {
> *a = *b;
> }
>
> The solution I now propose here is to have front-ends describe the copy
> using metadata. For example:
>
> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 false), !tbaa.struct !4
> […]
> !0 = meta...
2012 Aug 31
3
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information
...012, at 1:34 PM, Krzysztof Parzyszek <kparzysz at codeaurora.org> wrote:
> On 8/22/2012 3:15 PM, Dan Gohman wrote:
>> Here's an example showing the basic problem:
>>
>> struct bar {
>> char x;
>> float y;
>> double z;
>> };
>> void copy_bar(struct bar *a, struct bar *b) {
>> *a = *b;
>> }
>>
>> We get this IR:
>>
>> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 false)
>>
>> This works, but it doesn't retain the information that the bytes between fields...
2012 Sep 06
8
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information (new version)
Hello,
Persuant to feedback,
http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-August/052927.html
here is a new proposal for detailed struct assignment information.
Here's the example showing the basic problem:
struct bar {
char x;
float y;
double z;
};
void copy_bar(struct bar *a, struct bar *b) {
*a = *b;
}
The solution I now propose here is to have front-ends describe the copy
using metadata. For example:
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 false), !tbaa.struct !4
[…]
!0 = metadata !{metadata !"Simple C/C++ TBAA&...
2012 Sep 07
1
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information (new version)
...<clattner at apple.com> wrote:
>
> On Sep 6, 2012, at 4:24 PM, Dan Gohman <gohman at apple.com> wrote:
>
>> Here's the example showing the basic problem:
>>
>> struct bar {
>> char x;
>> float y;
>> double z;
>> };
>> void copy_bar(struct bar *a, struct bar *b) {
>> *a = *b;
>> }
>>
>> The solution I now propose here is to have front-ends describe the copy
>> using metadata. For example:
>>
>> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 false), !tbaa.struc...
2012 Aug 31
0
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information
...zek <kparzysz at codeaurora.org> wrote:
>> On 8/22/2012 3:15 PM, Dan Gohman wrote:
>>> Here's an example showing the basic problem:
>>>
>>> struct bar {
>>> char x;
>>> float y;
>>> double z;
>>> };
>>> void copy_bar(struct bar *a, struct bar *b) {
>>> *a = *b;
>>> }
>>>
>>> We get this IR:
>>>
>>> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 false)
>>>
>>> This works, but it doesn't retain the information...
2012 Aug 25
1
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information
...this proposal extends that proposal and adds the capability to represent
> TBAA information for the members of the fields in a struct assignment.
>
> Here's an example showing the basic problem:
>
> struct bar {
> char x;
> float y;
> double z;
> };
> void copy_bar(struct bar *a, struct bar *b) {
> *a =3D *b;
> }
>
> We get this IR:
>
> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 fa=
> lse)
>
> This works, but it doesn't retain the information that the bytes between fi=
> elds
> x and y do...
2012 Aug 25
0
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information
...proposal extends that proposal and adds the
> capability to represent TBAA information for the members of the
> fields in a struct assignment.
>
> Here's an example showing the basic problem:
>
> struct bar {
> char x;
> float y;
> double z;
> };
> void copy_bar(struct bar *a, struct bar *b) {
> *a = *b;
> }
>
> We get this IR:
>
> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8,
> i1 false)
>
> This works, but it doesn't retain the information that the bytes
> between fields x and y don't rea...
2012 Sep 10
0
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information (new version)
...>
> http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-August/052927.html
>
> here is a new proposal for detailed struct assignment information.
>
> Here's the example showing the basic problem:
>
> struct bar {
> char x;
> float y;
> double z;
> };
> void copy_bar(struct bar *a, struct bar *b) {
> *a = *b;
> }
>
> The solution I now propose here is to have front-ends describe the copy
> using metadata. For example:
>
> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1
> false), !tbaa.struct !4
> […]
> !0...
2012 Sep 10
1
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information (new version)
...> http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-August/052927.html
>
> here is a new proposal for detailed struct assignment information.
>
> Here's the example showing the basic problem:
>
> struct bar {
> char x;
> float y;
> double z;
> };
> void copy_bar(struct bar *a, struct bar *b) {
> *a = *b;
> }
>
> The solution I now propose here is to have front-ends describe the copy
> using metadata. For example:
>
> call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32 8, i1 false), !tbaa.struct !4
> […]
> !0 =...
2012 Sep 10
2
[LLVMdev] PROPOSAL: IR representation of detailed struct assignment information (new version)
...12-August/052927.html
> >
> > here is a new proposal for detailed struct assignment information.
> >
> > Here's the example showing the basic problem:
> >
> > struct bar {
> > char x;
> > float y;
> > double z;
> > };
> > void copy_bar(struct bar *a, struct bar *b) {
> > *a = *b;
> > }
> >
> > The solution I now propose here is to have front-ends describe the
> > copy using metadata. For example:
> >
> > call void @llvm.memcpy.p0i8.p0i8.i64(i8* %0, i8* %1, i64 16, i32
> > 8, i1 fa...