Displaying 20 results from an estimated 100000 matches similar to: "[LLVMdev] [RFC] Module Flags Metadata"
2012 Jan 19
1
[LLVMdev] [cfe-dev] [RFC] Module Flags Metadata
Could you expand on likely uses other than ObjC? For example, should
float ABI (soft/softfp/hard) be conveyed via this mechanism?
deep
On Wed, Jan 18, 2012 at 9:36 PM, Bill Wendling <wendling at apple.com> wrote:
> Hello,
>
> This is a proposal for implementing "module flags". Please take a look at this and give any feedback you may have.
>
> Thanks!
> -bw
>
2012 Jan 19
0
[LLVMdev] [cfe-dev] [RFC] Module Flags Metadata
Hi Sandeep,
ObjC is the first place that I will use it, of course (we need it to fix LTO). Other uses will come along later. (I don't know enough about the float ABI issues to say whether they should be done via module flags or not.) The OpenCL people have a need for named metadata for their stuff. I would hope that module flags would be a good fit for that, but that remains to be seen. But
2012 Jan 20
2
[LLVMdev] [cfe-dev] [RFC] Module Flags Metadata
Hi Bill,
For the GNU runtimes, this metadata is stored in the module structure in each compilation unit, and uses a different set of flags. Do you have any plans for this to be generic, or is it intended just for Darwin?
David
On 19 Jan 2012, at 23:33, Bill Wendling wrote:
> Hi Sandeep,
>
> ObjC is the first place that I will use it, of course (we need it to fix LTO). Other uses
2012 Jan 24
0
[LLVMdev] [RFC] Module Flags Metadata
Hi Bill,
> This is a proposal for implementing "module flags". Please take a look at this and give any feedback you may have.
what does this give you that you can't get with the existing scheme of using
global variables in a special section?
Ciao, Duncan.
>
> Thanks!
> -bw
>
> Module Flags Metadata
>
> Information about the module
2018 May 19
2
tbaa error: Access type node must be a valid scalar type
Hi
I am upgrading my clang fork from 5.0 to 6.0 and I am hit by this error:
Access type node must be a valid scalar type
%4 = load %"struct.Foo::p.test1::"*, %"struct.Foo::p.test1::"**
%_param.addr, align 8, !tbaa !16
!16 = !{!15, !15, i64 0}
!15 = !{!"p.test1::", !13, i64 0, !13, i64 8}
It looks like !16 is referencing !15, which is a struct. !13 is
!13 =
2018 Jul 25
2
A question to the DWARF experts on symbol indirection
> -----Original Message-----
> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Tim
> Northover via llvm-dev
> Sent: Wednesday, July 25, 2018 3:07 AM
> To: Nat!
> Cc: LLVM Developers Mailing List
> Subject: Re: [llvm-dev] A question to the DWARF experts on symbol
> indirection
>
> Hi Nat!,
>
> On Wed, 25 Jul 2018 at 01:21, Nat! via
2010 Oct 29
6
[LLVMdev] RFC: [Proposal] Module-Level Attributes
Module-Level Attributes
Overview
--------
LLVM currently lacks the ability to specify an attribute on a module as a
whole. This isn't typically a problem as most optimizations and code
transformations rely upon more finer-grained information, such as function
attributes. However, some transformations, in particular LTO, may need to know
information about the module. As a side-benefit, it
2012 Aug 18
1
[LLVMdev] GlobalVariable initializer using from beyond the grave
For LLDB I'm writing a dumb module pass that removes all global variables, by running the following code:
bool erased = true;
while (erased)
{
erased = false;
for (Module::global_iterator gi = llvm_module.global_begin(), ge = llvm_module.global_end();
gi != ge;
++gi)
{
GlobalVariable *global_var =
2011 Jul 23
14
[LLVMdev] RFC: Exception Handling Rewrite
What? Yet another EH proposal?! This one is different from the others in that
I'm planning to start implementing this shortly. But I want your feedback! I've
all ready gotten a lot of feedback from Chris, John, Jim, Eric, and many others.
Now is your turn!
Please read this proposal and send me your comments, suggestions, and concerns.
-bw
2012 Jul 27
2
[LLVMdev] llvm dwarf debug info for locals with llvm.dbg.define
Hi,
I had a problem with LLVM not emitting local variable info, even though
I had calls to llvm.dbg.define. After some tracking I found that the
llvm.dbg.declare (and probably value too) have to have a !dbg !nr after
them to get emitted at all. maybe someone can adjust
http://llvm.org/docs/SourceLevelDebugging.html#format_common_declare
that the two llvm.dbg. functions need a !dbg line info
2007 Oct 26
2
[LLVMdev] RFC: llvm-convert.cpp Patch
Hi all,
The patch below is to fix a problem with unaligned memcpys. This program:
void Bork() {
int Qux[33] = {0};
}
will currently produce this LLVM code on PPC64:
@C.0.937 = internal constant [33 x i8] zeroinitializer
define void @Bork() {
entry:
%Qux = alloca [33 x i8]
%Qux1 = bitcast [33 x i8]* %Qux to i8*
call void @llvm.memcpy.i64( i8* %Qux1, i8* getelementptr ([33
x i8]*
2017 Mar 07
2
[BUG Report] -dead_strip, strips prefix data unconditionally on macOS
On Mon, Mar 6, 2017 at 5:54 PM, Moritz Angermann <moritz.angermann at gmail.com
> wrote:
> Hi Peter,
>
> I’ve just experimented with this a bit:
>
> Say we would end up with the following assembly:
>
> .section __TEXT,__text
> .globl _main
>
> .long 1
> _main:
> inc %eax
> ret
>
> .globl _main.dsp
> .alt_entry _main.dsp
2012 May 24
5
[LLVMdev] alloc_size metadata
On 5/24/12 3:51 AM, Duncan Sands wrote:
> Hi Nuno,
>
>> I'm implementing the alloc_size function attribute in clang.
> does anyone actually use this attribute? And if they do, can it really buy
> them anything? How about "implementing" it by ignoring it!
Tools like ASan and SAFECode *could* use this attribute to determine the
size of memory objects created by
2007 Nov 07
7
[LLVMdev] RFC: llvm-convert.cpp Patch
Hi all,
This patch is to fix a problem on PPC64 where an unaligned memcpy is
generated. The testcase is this:
$ cat testcase.c
void Qux() {
char Bar[11] = {0};
}
What happens is that we produce LLVM code like this:
call void @llvm.memcpy.i64( i8* %event_list2, i8* getelementptr ([11
x i8]* @C.103.30698, i32 0, i32 0), i64 11, i32 8 )
Notice that it has an 8-byte alignment. However, the Bar
2017 Mar 07
2
[BUG Report] -dead_strip, strips prefix data unconditionally on macOS
I suspect that the format isn't important if you do that, but I wouldn't
recommend it, at least because inlining (and other inter-procedural
optimizations) are not expected to work correctly if you produce IR like
that.
Peter
On Mon, Mar 6, 2017 at 6:44 PM, Moritz Angermann <moritz.angermann at gmail.com
> wrote:
> Peter,
>
> thanks again! Yes, we only need to refer to
2017 Mar 07
4
[BUG Report] -dead_strip, strips prefix data unconditionally on macOS
Firstly, do you need "main.dsp" defined as an external symbol, or can all
external references go via "main"? If the answer is the latter, that will
make the solution simpler.
If only the latter, you will need to make a change to LLVM here:
http://llvm-cs.pcc.me.uk/lib/CodeGen/AsmPrinter/AsmPrinter.cpp#650
Basically you would need to add a hook to the TargetLoweringObjectFile
2018 Jul 14
2
Lowering a reasonably complex struct seems to create over complex and invalid assembly fixups on some targets
When I compile this LLVM IR….
@0 = private constant [19 x i8] c"V4main10Brightness\00", section "__TEXT,__swift3_typeref, regular, no_dead_strip"
@1 = private constant [9 x i8] c"Vs5UInt8\00", section "__TEXT,__swift3_typeref, regular, no_dead_strip"
@2 = private constant [18 x i8] c"currentBrightness\00", section "__TEXT,__swift3_reflstr,
2012 May 29
0
[LLVMdev] alloc_size metadata
>> On 25/05/12 17:22, John Criswell wrote:
>> > On 5/25/12 2:16 AM, Duncan Sands wrote:
>> >> Hi John,
>> >>
>> >>>>> I'm implementing the alloc_size function attribute in clang.
>> >>>> does anyone actually use this attribute? And if they do, can it
>> >>>> really buy them anything? How about
2007 Nov 07
0
[LLVMdev] RFC: llvm-convert.cpp Patch
On Nov 6, 2007, at 5:45 PM, Bill Wendling wrote:
> Hi all,
>
> This patch is to fix a problem on PPC64 where an unaligned memcpy is
> generated. The testcase is this:
>
> $ cat testcase.c
> void Qux() {
> char Bar[11] = {0};
> }
>
> What happens is that we produce LLVM code like this:
>
> call void @llvm.memcpy.i64( i8* %event_list2, i8* getelementptr ([11
2012 May 23
2
[LLVMdev] alloc_size metadata
Hi,
I'm implementing the alloc_size function attribute in clang. This
attribute exists in gcc since version 4.3.
The attribute specifies that a function returns a buffer with the size
given by the multiplication of the specified arguments. I would like
to add new metadata to pass this information to LLVM IR.
For example, take the following C code:
void* my_calloc(size_t, size_t)