search for: mcbinaryexpr

Displaying 11 results from an estimated 11 matches for "mcbinaryexpr".

2014 Apr 08
2
[LLVMdev] 3.4.1 Release Plans
On Tue, Apr 08, 2014 at 04:08:13PM +0400, Robert Khasanov wrote: > Hi Reid, > > Would you approve your patches r203146 and r202774 to be backported to > 3.4.1? They fix stability issues in x86 asm. > Hi Robert, I was able to merge r203146, but it used a c++11 feature: std::string::back() which I replaced with std::string::at(std::string::size() - 1). r202774 was not merged,
2011 Oct 18
4
[LLVMdev] Question about MCExpr and subclasses
I have a question about MCExpr and its subclasses defined in MCExpr.h. I am trying to get Mips' direct object emission working. Line 283 of MCElfStreamer.cpp reads like this: 00283 case MCExpr::Target: llvm_unreachable("Can't handle target exprs yet!"); Does this mean that if I use a subclass of MCTargetExpr to lower MachineOperands to MCOperands, it won't work?
2011 Oct 19
0
[LLVMdev] Question about MCExpr and subclasses
...MCExpr::print (MCExpr.cpp:37) in order to print symbol > operands for MIps? I am hesitant to add my code here, since it looks a > little disorganized already. > > Also, wtih MCSymbolRefExpr, how do I print symbols with offsets? > lw $7, %lo(f1.s1+4)($16) > > I tried creating MCBinaryExpr with MCSymbolRefExpr and MCConstantExpr > operands, but I am getting something like this, which is not what I > want: > lw $7, %lo(f1.s1)+4($16) > > On Mon, Oct 17, 2011 at 5:30 PM, Jim Grosbach <grosbach at apple.com> wrote: >> That just means the ELF writer doesn't...
2011 Jul 25
0
[LLVMdev] Memory leaks in the JIT and how will MC-objects be deallocated in the MCJIT?
...the infinite growth of symbols memory. The assumption is that those symbols are only needed during generation of a functions' code. But when I looked into the MCJIT, I noticed that this approach won't work for it, because it uses AsmPrinter, which will create MC abstraction objects like MCBinaryExpr, that are all allocated into the BumpPtrAllocator of the MCContext. It seems to me that's a major source of memory growth in the MCJIT, because that memory cannot be released anymore. So I have two questions: 1. Is the approach I took to stop memory growth for the non-MC JIT alright? Or a...
2011 Sep 17
0
[LLVMdev] Problem with Linux PPC64 assembly output.
...DotTypeDotSizeDirective()) { // Create a symbol for the end of function, so we can get the size as // difference between the function label and the temp label. MCSymbol *FnEndLabel = OutContext.CreateTempSymbol(); OutStreamer.EmitLabel(FnEndLabel); const MCExpr *SizeExp = MCBinaryExpr::CreateSub(MCSymbolRefExpr::Create(FnEndLabel, OutContext), MCSymbolRefExpr::Create(CurrentFnSym, OutContext), OutContext); OutStreamer.EmitELFSize(CurrentFnSym, SizeExp); } I've filed a bug for this: http://llvm.org/bugs/show_...
2011 Oct 18
0
[LLVMdev] Question about MCExpr and subclasses
That just means the ELF writer doesn't know yet how to deal with the target-specific data. It needs taught how to map them onto relocations and such. Do you really need to subclass MCTargetExpr? That's ordinarily only for operands that aren't representable via the normal MC stuff (for example, the ARM movw/movt relocations). You should be able represent normal symbol operands w/o
2010 Jul 16
0
[LLVMdev] Win32 COFF Support - Patch 3
...(Expr->getKind()) { > + case MCExpr::Target: > + dbg_unexpected("unsupported expression type '" << *Expr << "'"); > + break; > + > + case MCExpr::Constant: > + break; > + > + case MCExpr::Binary: > + { > + MCBinaryExpr const *BinaryExpr = cast<MCBinaryExpr>(Expr); > + > + VisitSymbols(BinaryExpr->getLHS()); > + VisitSymbols(BinaryExpr->getRHS()); > + } > + break; Please use: -- case A: { break; } -- style instead. > + > + case MCExpr::SymbolRef: > +...
2013 Dec 12
3
[LLVMdev] [RFC PATCH 1/2] x86: Fix ModR/M byte output in 16-bit addressing mode
This attempts to address http://llvm.org/bugs/show_bug.cgi?id=18220 It also fixes a test which was requiring the *wrong* output. I'm relatively happy with this part, and it even solves most of the hard part of feature request for .code16 in bug 8684 — which was actually why I started prodding at this. But I could do with some help with the 16-bit signed relocation handling, which I've
2010 Jul 14
2
[LLVMdev] Win32 COFF Support - Patch 3
On Sun, Jul 11, 2010 at 6:10 PM, Chris Lattner <clattner at apple.com> wrote: > This probably needs to be slightly tweaked to work with mainline.  I don't see anything objectionable, but I think Daniel needs to review this one. Updated patch to work with mainline. http://github.com/Bigcheese/llvm-mirror/commit/d19a4c82c18afc4830c09b70f02d162292231c94 - Michael Spencer
2018 Sep 28
3
error: expected memory with 32-bit signed offset
Hi, I want to encode Loongson ISA initially https://gist.github.com/xiangzhai/8ae6966e2f02a94e180dd16ff1cd60ac gslbx           $2,0($3,$4) It is equivalent to: dadd $1, $3, $4 lb $2,0($1) I just use  mem_simmptr  as the default value of  DAGOperand MO , because  MipsMemAsmOperand  use  parseMemOperand  to parse general  MemOffset  and only *one*  AnyRegister , for example: 0($1) But 
2013 Sep 25
1
[LLVMdev] arm64 / iOS support
...*Mang, MachineModuleInfo *MMI, + unsigned Encoding, MCStreamer &Streamer) const { + MCSymbol *sym = getContext().CreateTempSymbol(); + Streamer.EmitLabel(sym); + const MCExpr *expr = MCSymbolRefExpr::Create( + Mang->getSymbol(GV), MCSymbolRefExpr::VK_GOT, getContext()); + expr = MCBinaryExpr::CreateSub( + expr, + MCSymbolRefExpr::Create(sym, MCSymbolRefExpr::VK_None, getContext()), + getContext()); + return expr; +} diff --git a/lib/Target/AArch64/AArch64TargetObjectFile.h b/lib/Target/AArch64/AArch64TargetObjectFile.h index bf0565a..91e9d5e 100644 --- a/lib/Target/AArc...