Displaying 20 results from an estimated 400 matches similar to: "[Target] AsmParser Error : key functions missing"
2020 May 15
2
RFC] Shrink-wrapping improvement
Hi Francis,
Thanks for getting back to me. Could you please provide more details about the problems you encounter with those tools and what improvements required to improve compact unwinding format? Most of my experience is in the mid end, but it is still surprising to me that an improved shrink wrap will break that many tools, considering the fact that gcc has a good shrink wrapping pass and
2020 May 13
2
RFC] Shrink-wrapping improvement
Hi,
Sorry for bringing back such an old thread. I am interested in the latest status of the shrink wrapping pass in LLVM. I have found some active work back in 2017 from Francis Visoiu Mistrih and Kit Barton from the following links. However, it seems that all the work suddenly stops and the improvement for the existing shrink wrapping did not make it into the trunk. Is this work abandoned?
2017 Dec 21
5
llc: Unknown command line argument '-debug-only=isel'
Hi LLVM developers,
llc -march=mips -debug-only=isel was able to work in Nov 8 2017
https://reviews.llvm.org/D39723
But it doesn't work now:
$ clang --version
LLVM China clang version 6.0.0 (git at github.com:llvm-mirror/clang.git
9b7b03045ee9b5622028537266aafeb9ea218ac1)
(git at github.com:llvm-mirror/llvm.git
3a26601a88394c02603b8756527c55df9ab94d78) (based on LLVM 6.0.0svn)
Target:
2018 Feb 05
1
Dumping the static stack reservation sizes for functions
Cool this is better than I expected - I never thought about the YAML support. And the document reference is really very good.
Thanks Francis,
MartinO
-----Original Message-----
From: Francis Visoiu Mistrih [mailto:francisvm at yahoo.com]
Sent: 05 February 2018 21:43
To: Martin J. O'Riordan <MartinO at theheart.ie>
Cc: LLVM Developers <llvm-dev at lists.llvm.org>; Adam Nemet
2018 Sep 12
2
PR36144: X86 Intel syntax and masm flavor
Hi,
We have a significant regression since llvm 5.0.0 in the x86 assembler.
The following snippets fail:
1)
.intel_syntax
0:
jmp 0b
2)
.intel_syntax
and edi, 0b010101
when running through `llvm-mc -arch x86-64`.
This regression was introduced in r301390, which was driven by PR27884.
I think https://llvm.org/PR36144 describes this very well, and I think we should
get this fixed, since
2017 May 03
2
RFC: Shrink wrapping vs SplitCSR
Hi all,
We've seen several examples recently of performance opportunities on
POWER if we can improve the location of save/restore code for
callee-saved registers. Both Nemanja and myself have discussed this with
several people, and it seems that there are two possibilities for
improving this:
1. Extend shrink wrapping to make the analysis of callee-saved
registers more precise.
2.
2018 Feb 05
0
Dumping the static stack reservation sizes for functions
Hi Martin,
> On Feb 5, 2018, at 11:46 AM, Martin J. O'Riordan via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> I would like to be able to emit a list of functions by name and their fixed stack reservation size information, so that a programmer can gauge how much stack they are likely to need in tightly constrained embedded systems. Despite the rich number of options, the
2019 May 08
2
RFC: Extending optimization reporting
Hi Adam,
Thanks for your input.
If I understand correctly, you’re saying that we can handle the loop versioning issue by explicitly identifying new loops as they are created. So, the unswitching optimization, for example, would report that it unswitched loop-0 at source location X, creating loop-1 and loop-2, and then later the vectorizer would report that it was unable to vectorize loop-1 at
2018 Mar 09
1
Relationship between MachineMemOperand and X86II::getMemoryOperandNo
Thanks for the details!
How should we think of the case where an instruction has memory operands
(in the sense that X86II::getMemoryOperandNo >=0), but doesn't have
MachineMemOperands?
I'm seeing an example in the case of __builtin_prefetch (lowered via
SelectionDAG::getMemIntrinsicNode, which produces a MachineMemOperand) vs
__builtin_ia32_gatherpfdpd, lowered through getPrefetchNode
2018 Feb 05
2
Dumping the static stack reservation sizes for functions
I would like to be able to emit a list of functions by name and their fixed
stack reservation size information, so that a programmer can gauge how much
stack they are likely to need in tightly constrained embedded systems.
Despite the rich number of options, the only option I can find that is even
relatively close is:
-warn-stack-size=<uint>
Is there some existing way of getting this
2018 Apr 10
0
Issue with shrink wrapping
Hello Momchil,
(CC’ing more people that could correct me if I’m wrong)
Thanks for looking into this. More answers below:
> On 9 Apr 2018, at 17:57, Momchil Velikov via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hello,
>
> So, I have this testcase:
>
> void f(int n, int x[]) {
> if (n < 0)
> return;
>
> int a[n];
>
2017 Dec 27
1
Convert MachineInstr to MCInst in AsmPrinter.cpp
Hello everyone,
In the file *lib/CodeGen/AsmPrinter/AsmPrinter.cpp*, I would like to obtain
an MCInst corresponding to its MachineInstr. Can anyone tell me a way to do
that?
If that is not possible, then, I would like to know if a given MachineInstr
is an *lea *instruction and I would like to know if the symbol involved
with this lea instruction is a jump-table.
For instance, given a
2018 Mar 08
0
Relationship between MachineMemOperand and X86II::getMemoryOperandNo
Hello Mircea,
> On 8 Mar 2018, at 18:52, Mircea Trofin via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hello,
>
> I'm trying to understand the relationship between MachineMemOperand and, on X86, memory operands of machine instructions. The latter seem to be operands held in order by the MachineInstr, from an offset onwards - Base, Scale, Index, Displacement,
2019 Jul 23
2
[RFC] Optimization Remark for derived function / argument attributes
Hello all,
During the compilation process, LLVM automatically derives various
attributes about functions and values (for example that a pointer is
nonnull, a function is constant, etc) that are used within a translation
unit.
I propose adding a pass to LLVM that allows front-ends to output derived
attributes. Such a pass would be useful both for developers and end users
to debug programs,
2018 Jun 05
2
How to get optimization remarks while testing with lnt in llvm
Hi, I'm new to llvm and am trying to run benchmarks from the test-suite
using lnt to check loop-vectorization for various benchmarks.
Test are compiling and executing fine, but I am not getting optimization
remarks while using flags like -Rpass-missed=loop-vectorize and
-Rpass-analysis=loop-vectorize
I've tried running it like this:
lnt runtest test-suite --sandbox SANDBOX --cc
2018 Mar 08
2
Relationship between MachineMemOperand and X86II::getMemoryOperandNo
Hello,
I'm trying to understand the relationship between MachineMemOperand and, on
X86, memory operands of machine instructions. The latter seem to be
operands held in order by the MachineInstr, from an offset onwards - Base,
Scale, Index, Displacement, Segment. The former, if I understand it
correctly, is used to hold a relationship back to IR load/store
instructions.
Is it possible to have
2018 Apr 09
2
Issue with shrink wrapping
Hello,
So, I have this testcase:
void f(int n, int x[]) {
if (n < 0)
return;
int a[n];
for (int i = 0; i < n; i++)
a[i] = x[n - i - 1];
for (int i = 0; i < n; i++)
x[i] = a[i] + 1;
}
that, compiled with -O1/-Os for AArch64 and X86, generates machine code,
which
fails to properly restore the stack pointer upon function return.
2018 Dec 04
2
MC Assembler / tablegen: actually parsing variable_ops
variable_ops is used in the tablegen defs for many targets to denote
instructions that a variable number of inputs, but it seems that there
aren't any targets for which this results in variable elements in the
instruction encoding (and thus in assembler parsing), since the tablegen
generated assembly matcher ($(Target)GenAsmMatcher.inc) simply assumes that
variable_ops are not to be parsed
2020 Jan 06
2
Question about opt-report strings
Hi all,
I tried to poke my head into opt-report a while ago and didn't get very far. Now I'm looking at it again. I'm not sure I understand everything that's in place so my question here may be misguided.
I'm trying to understand the way strings are handled. When a remark is emitted, it seems that the string is constructed on the fly based on streaming inputs. For example,
2013 Mar 21
0
[LLVMdev] [llvm-mc/AsmParser] Using validateTargetOperandClass in llvm-mc
This is per Vladimir Medic:
Hi all,
I have looked at the commits 174488 and174487 by Jim Grosbach as this
is something that could be very useful for the mips llvm assembler that
I'm working on. In fact, I came up with a similar idea myself a few months
ago but I rejected it in the end for one reason only:
The MatchKindClass enumerated value is defined inside the
GET_MATCHER_IMPLEMENTATION