search for: copy_bar

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...