Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Comment "FIXME" in X86MachObjectWriter::RecordX86Relocation"
2012 Jun 29
2
[LLVMdev] Comment "FIXME" in X86MachObjectWriter::RecordX86Relocation
Can I assume we're talking about MCJIT since a file format and relocations are involved?
Some changes are required in order to get MCJIT to generate ELF object files. Eli Bendersky submitted a patch some time ago to modify the target triple code to enable this, but after a bit of discussion there didn't seem to be a consensus for accepting this proposal.
If you want to try it out, the
2012 Jun 29
0
[LLVMdev] Comment "FIXME" in X86MachObjectWriter::RecordX86Relocation
Hi Verena,
Windows + MachO is likely to run into lots of problems once you start passing in non-trivial code. The relocation model is very tied to Darwin.
I believe some folks doing JIT on Windows have had some success w/ ELF. Hopefully someone more familiar with the specifics of that will chime in.
-Jim
On Jun 29, 2012, at 8:58 AM, Verena Beckham <verena at codeplay.com> wrote:
>
2012 Jul 02
0
[LLVMdev] Comment "FIXME" in X86MachObjectWriter::RecordX86Relocation
Hi Jim, Andrew,
Thanks, I read the discussions about using ELF + MCJIT + Windows and was
hoping MachO would work just as well. Since you don't need to modify
LLVM to be able to output MachO this was my first choice.
But are you saying MachO will not work as well as ELF?
Thanks for the patch Andrew, that will have to be my plan B in this case.
Verena
On 29/06/2012 23:47, Kaylor, Andrew
2018 Aug 09
2
[DWARF] prologue_end fix not working for VLIW
Hi,
I found that prologue_end markers where badly placed in my test, and
applied https://reviews.llvm.org/D41762 in the hope that it would fix it
(I'm on 4.0.1).
However, this fix doesn't work for VLIW architectures. At this point
we're iterating over bundles, not MachineInstructions, and the
FrameSetup flag is set on MachineInstructions, not bundles.
If bundling happens in the
2012 Jun 27
3
[LLVMdev] Counting instructions in MCJIT
Hi there,
I wondered whether anyone could give me any advice about counting
assembly instructions when using MCJIT?
For performance regression testing I would like to be able to count the
number of instructions generated during the jit compilation of a given
module.
The Statistic class, as far as I understand, cannot collect this data
per-module (per-ExecutionEngine/per-MCJIT), and there is
2017 Jul 26
2
isSSA computation in MIR parser
Hi,
I noticed that a while ago the isSSA flag was removed from MIR, and this
property is now computed. However, the deduction only checks the virtual
registers (whether they are assigned to more than once). Now I have MIR
tests which live after RA, so they only contain physical registers, so
the parser determines they are in SSA form. These tests now fail because
some of our passes can be
2017 Sep 18
1
Resend: assertion in MachineCopyPropagation::isNopCopy
Hi, anyone know anything about copy propagation? Matthias, I see this
was your code originally? Was there some assumptions you made?
I'm hitting an assertion in MachineCopyPropagation::isNopCopy:
if (Src == PreviousSrc) {
assert(Def == PreviousDef);
return true;
}
This code compares two COPY instruction to see whether they are
effectively "the same". The assert assumes
2012 Jun 28
0
[LLVMdev] Counting instructions in MCJIT
Hi Verena,
I think that we can count the number of instructions with "-stats"
command line option. As you mentioned, this option uses Statistic class
like "STATISTIC(EmittedInsts, "Number of machine instrs printed");"
I don't know exactly about parallel code generation environment but
this option seems like to work correctly in common case as following.
This is
2012 Jul 31
3
[LLVMdev] mcjit
Thu Jul 12 03:42:12 CDT 2012, Verena Beckham verena at codeplay.com :
> I would not say it is trivial, having done it myself.
>
> MCJIT also doesn't support multiple modules, and it does not do JITing
> on demand, instead, it does all of it at the same time in the
> constructor (unless that is what you call "not lazy").
> So depending on how you've written your
2012 Jul 31
0
[LLVMdev] mcjit
Hi Pawel,
Some of the issues I have come across (from memory!) are
* MCJIT doesn't work on Windows, because it doesn't support COFF. If you
want to use it on Windows you have to either target Mach-O (not clear
whether that will work in general) or ELF (need to get a patch from
Intel to be able to use this).
* Make sure you include MCJIT.h and link in MCJIT.lib, otherwise (even
if
2012 Jul 24
1
[LLVMdev] Cannot remove module from empty JIT
Hi,
You cannot call removeModule on a JIT with no modules: jitstate will be
0 and therefore we have a null-pointer exception.
The function returns a boolean for success/failure, however, so you
would expect to be able to call it and get false back.
Should we be checking for jitstate != 0 before accessing the variable?
- if (jitstate->getModule() == M) {
+ if (jitstate &&
2013 Jul 22
0
[LLVMdev] Predication bug in AggressiveAntiDepBreaker?
Hi,
I wondered whether the AggressiveAntiDepBreaker can properly handle
predicated instructions.
At the end of PrescanInstruction the "DefIndices" array is updated with
the destination register without checking whether the instruction is
predicated. That shortens the live range: Later on, in HandleLastUse we
check whether the register IsLive, which considers only
2018 May 16
0
Bug in TailDuplicator?
Hi,
I think there might be a bug in the tail duplicator (called from
MachineBlockPlacement in my case), when duplicating a block that
contains an implicit fall-through.
Suppose you have the following blocks
BB#1:
Predecessors according to CFG: BB#2
...
conditional_branch <BB#3>
< implicit fall-through to BB#2 >
Successors according to CFG: BB#2 BB#3
BB#2:
2013 Nov 21
1
[LLVMdev] [PATCH] Making Type::getScalarSizeInBits() const
Hi, while using this function I noticed that Type::getScalarSizeInBits()
is not marked as const even if inside its body it just uses only other
"const" functions and types.
This prevents the usage of the function through const
pointers/references to Type without any apparent reason.
I propose of marking the function as const. (attached is a patch that
does so).
Cheers,
Marcello
--
2012 Oct 19
0
[LLVMdev] Predication on SIMD architectures and LLVM
We are currently doing something similar to your third option in Hexagon
backend. But it is a VLIW so predication is not the only reason for that.
Sergei
---
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by
The Linux Foundation
> -----Original Message-----
> From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu]
> On Behalf Of Marcello
2012 Oct 19
0
[LLVMdev] Predication on SIMD architectures and LLVM
On Fri, Oct 19, 2012 at 04:38:29PM +0100, Marcello Maggioni wrote:
> Hello,
> I'm working on a compiler based on LLVM for a SIMD architecture that
> supports instruction predication. We would like to implement
> branching on this architecture using predication.
> As you know the LLVM-IR doesn't support instruction predication, so
> I'm not exactly sure on what is the
2013 May 09
2
[LLVMdev] Scheduling with RAW hazards
I have an instruction that takes no operands, and produces two results,
in two consecutive cycles.
I tried both of the following to my Schedule.td file:
InstrItinData<IIMyInstr, [InstrStage<2, [FuncU]>], [1, 2]>,
InstrItinData<IIMyInstr, [InstrStage<1, [FuncU]>, InstrStage<1,
[FuncU]>], [1, 2]>,
From what I can see in examples, these say that the first
2012 Oct 19
11
[LLVMdev] Predication on SIMD architectures and LLVM
Hello,
I'm working on a compiler based on LLVM for a SIMD architecture that
supports instruction predication. We would like to implement branching
on this architecture using predication.
As you know the LLVM-IR doesn't support instruction predication, so I'm
not exactly sure on what is the best way to implement it.
We came up with some ways to do it in LLVM:
- Do not add any
2018 Nov 15
2
Per-write cycle count with ReadAdvance - Do I really need that?
Hi list,
I happened to read below thread (written in 3 years ago). I think I may
need this ReadAdvance feature to work with my ARCH.
It is about the scheduler info which describes reading my ARCH's vector
register. There are different latencies since forwarding/bypass appears. I
give it as below example:
def : WriteRes<WriteVector, [MyArchVALU]> { let Latency = 6; }
...
def
2014 Mar 03
2
[LLVMdev] Question about per-operand machine model
On Mar 3, 2014, at 8:53 AM, Pierre-Andre Saulais <pierre-andre at codeplay.com> wrote:
> Hi Andrew,
>
> We are currently using a custom model where scheduling information is attached to each MCInstrDesc through tablegen, and we're trying to move to one of LLVM's models.
>
> To expand on what JinGu mentioned, our target has explicit ports that are used to read and