similar to: Lowering a reasonably complex struct seems to create over complex and invalid assembly fixups on some targets

Displaying 20 results from an estimated 700 matches similar to: "Lowering a reasonably complex struct seems to create over complex and invalid assembly fixups on some targets"

2011 Oct 10
2
[LLVMdev] Adding fixups and relocations late in code generation
Gang, I'm tasked with direct object generation for Mips and am trying to not hack the code. I how exactly does one set an expression to be PC relative and if the compiler can resolve it, not produce a relocation? In our case, the backend produces an expression for the branch which is the target label. I make a call from the .td for the branch instruction which calls a routine in
2011 Oct 10
0
[LLVMdev] Adding fixups and relocations late in code generation
On Oct 10, 2011, at 10:11 AM, Jack Carter wrote: > Gang, > > I'm tasked with direct object generation for Mips and am trying to not > hack the code. > > I how exactly does one set an expression to be PC relative and if the > compiler can resolve it, not produce a relocation? > Fixups are created for all expressions that may need a relocation. The MC layer evaluates
2013 Aug 19
1
[LLVMdev] Offset in MCFixup
Hi, I'm trying to implement a 10-bit relocation that does not start at the beginning of a byte-boundary and I'm not entirely sure I understand the use by some targets of MCFixup.Offset and MCFixupKindInfo.TargetOffset. LLVM's documentation states that: MCFixup.Offset -"/// The byte index of start of the relocation inside the encoded instruction."
2019 Feb 19
2
AVR is little endian, but requires function arguments to be in a "big endian" order, might need an additional data layout variable unless someone can suggest a better fix?
I think this is broken in at least one place when legalising the DAG. This llvm ir: %3 = call { i16, i1 } @llvm.umul.with.overflow.i16(i16 %2, i16 11) Fails to lower correctly on AVR but the problem is, unfortunately, not just coming from the AVR Target code and I am not sure it can be cleanly fixed just there. (But I would be very happy to be proved wrong as I'm very new to this.) The above
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
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 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
2019 Mar 02
3
Legalising seems to lose critical information needed for lowering return values properly?
I'm a new LLVM developer contributing patches for the AVR platform and I'm trying to understand which parts of the code base are malfunctioning in my case. This LLVM IR... define hidden i32 @setServoAngle3(i32) local_unnamed_addr { entry: %1 = call i32 @myExternalFunction1(i32 %0, i32 119) ret i32 %1 } declare i32 @myExternalFunction1(i32, i32) Is being lowered to this assembly
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
2014 Jul 12
2
[LLVMdev] MCFixup for distance from instruction to end of .text section
Hi, I would like to use a MCFixup to encode the distance in number of bytes from an instruction to the end of the .text section. Is there an existing MCFixup type I can use for this? If not, does anyone have any suggestions for how to add a new MCFixup type that will do this? Thanks, Tom
2012 Jan 18
7
[LLVMdev] [RFC] Module Flags Metadata
Hello, This is a proposal for implementing "module flags". Please take a look at this and give any feedback you may have. Thanks! -bw Module Flags Metadata Information about the module as a whole is difficult to convey to LLVM's subsystems. The LLVM IR isn't sufficient to transmit this information. One should instead use the llvm.module.flags named
2010 Oct 21
0
[LLVMdev] [llvm-commits] Fwd: Proof of concept patch for unifying the .s/ELF emission of .ARM.attributes
On Thu, Oct 21, 2010 at 11:42 AM, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote: >> Also what is the preferred method for MC way of setting out subsection >> sizes after the fact? I am guessing I need to use an MCFixup? >> How do I get an MCExpr to evaluate a method for the subsection size? >> Is there an equivalent use in the places using MCFixup? >>
2010 Nov 12
0
[LLVMdev] Collapse OBJC_CLASSLIST_REFERENCES globals in llvm-link?
Hello list, I'm wondering about the feasibility of collapsing the following two globals within llvm-link: @"OBJC_CLASSLIST_REFERENCES_$_2" = private global %struct.objc_class* bitcast (%struct._class_t* @"OBJC_CLASS_$_NSString" to %struct.objc_class*), section "__DATA, __objc_classrefs, regular, no_dead_strip", align 4 @"OBJC_CLASSLIST_REFERENCES_$_8"
2012 Mar 23
0
[LLVMdev] Sorting relocation entries
Hi Jim, Thanks for reviewing the patch. I couldn't get rid of STLExtras.h, but other than that, I followed all the suggestions in your email. Please let me know if you notice anything else that needs fixing. On Thu, Mar 22, 2012 at 4:42 PM, Jim Grosbach <grosbach at apple.com> wrote: > Hi Akira, > > This is looking good. Some specific comments on the details below. > >
2012 Mar 23
1
[LLVMdev] Sorting relocation entries
Hi Akira, Just two very minor things that I missed the first time around. 1. The 'fixup" member of ELFRelocation entry should be "Fixup" instead. 2. Since we're always passing in a non-NULL fixup, that should probably be a reference, not a pointer. Good for commit with those tweaks. Thanks! -Jim On Mar 23, 2012, at 1:07 PM, Akira Hatanaka wrote: > Hi Jim, >
2011 Nov 15
2
[LLVMdev] MCELFStreamer subclassing
On Tue, Nov 15, 2011 at 11:06 AM, Jim Grosbach <grosbach at apple.com> wrote: > > On Nov 15, 2011, at 10:36 AM, Carter, Jack wrote: > >> Jim, >> >> Ok, you are where I am in the understanding. This is exactly what I do for relocations applied to code. Now I want to apply fixup information to relocations applied to data. >> >> The issue I was having was
2012 Mar 22
2
[LLVMdev] Sorting relocation entries
Hi Akira, This is looking good. Some specific comments on the details below. Thanks! Jim > diff --git a/include/llvm/MC/MCELFObjectWriter.h b/include/llvm/MC/MCELFObjectWriter.h > index 6e9f5d8..220ecd0 100644 > --- a/include/llvm/MC/MCELFObjectWriter.h > +++ b/include/llvm/MC/MCELFObjectWriter.h > @@ -13,6 +13,7 @@ > #include "llvm/MC/MCObjectWriter.h" >
2010 Oct 21
0
[LLVMdev] [llvm-commits] Fwd: Proof of concept patch for unifying the .s/ELF emission of .ARM.attributes
On Thu, Oct 21, 2010 at 7:50 AM, Rafael EspĂ­ndola <rafael.espindola at gmail.com> wrote: >> Hmm, I wish we had this discussion way earlier.. >> >> How would I emit things in different subsections? I can do a high >> level switch to .ARM.attributes, and if I were emitting one blob from >> begin to end, using the higher level interface would be preferable,
2016 Feb 29
0
Possible Memory Savings for tools emitting large amounts of existing data through MC
Hi David, The way I imagined that we might want to extend the MCStreamer API (this was motivated by DIEData) is by allowing clients to move bytes and fixups into the MC layer. This is the sort of API that I was imagining: void MoveAndEmitFragment(SmallVectorImpl<char> &&Data, SmallVectorImpl<MCFixup> &&Fixups); Note that this mirrors the
2010 Oct 21
5
[LLVMdev] [llvm-commits] Fwd: Proof of concept patch for unifying the .s/ELF emission of .ARM.attributes
> Also what is the preferred method for MC way of setting out subsection > sizes after the fact? I am guessing I need to use an MCFixup? > How do I get an MCExpr to evaluate a method for the subsection size? > Is there an equivalent use in the places using MCFixup? > Do I need to add a new subclass to MCExpr for doing this? > > JimG, can you please comment on the MachO