Displaying 11 results from an estimated 11 matches for "gendagisel".
2008 Sep 10
1
[LLVMdev] ReplaceUses: curious
Hi
I am looking at some of the existing targets to try to understand more
about writing a backend. I was a little puzzled by the use of a method
ReplaceUses in *ISelDAGToDAG.cpp (*= most targets, e.g. ARM, X86..).
I found its definition in the *GenDAGISel.inc file that is
autogenerated from the target description. I can only assume TableGen
emits this method definition for every traget. Is this method
implementation, in some way that I cannot see, specific to a given
target? I cannot see a reason for it not being a method of
SelectionDAGISel...
2019 Apr 01
3
Please expose predicates to MachineVerifier
...cific configuration. In such a case it would be nice if the MachineVerifier could detect this for me.
Example predicate IsCore8 usage:
def ADDx: BINOP<...>, Requires<[IsCore8]>;
let Predicates=[IsCore8] in {
def : SUBX: BINOP<...>;
}
The predicates are encoded into the targets GenDAGIsel file but not anywhere else that I can find:
OPC_CheckPatternPredicate, 4, // (Subtarget.isCore8())
Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190401/b46c6b83/attachment.html>
2016 Jun 02
2
BPF backend with vector operations - error "Could not infer all types in, pattern!"
Hello.
I come back to this older thread.
Again, because of i64immSExt32 I receive TableGen error "Could not infer all types
in, pattern!" (exact details written below). So far I'm not able to generate selection
code with TableGen for the ADD_r* instructions, etc:
def i64immSExt32 : PatLeaf<(imm),
[{return
2016 Jun 22
2
LLVM Backend Issues
...ing testcase with -debug-only=isel and you'll see all the steps being
> taken up to the moment of failure. The last few messages will be something
> like "match failed at nnn". In your build directory in
> lib/Target/<yourtarget> there will be a file <yourtarget>GenDAGISel.inc.
> It contains the matching "script". The numbers nnn are shown in comments
> in that file and correspond to the steps the matcher performs. You'll be
> able to see what exactly it's trying to match.
>
> -Krzysztof
>
>
> --
> Qualcomm Innovation Cen...
2008 Jan 03
2
[LLVMdev] Building LLVM on Windows
...:%=$(ObjDir)/%GenCodeEmitter.inc.tmp): \
$(ObjDir)/%GenCodeEmitter.inc.tmp: %.td $(ObjDir)/.dir
$(Echo) "Building $(<F) code emitter with tblgen"
- $(Verb) $(TableGen) -gen-emitter -o $@ $<
+ $(Verb) $(TableGen) -gen-emitter -o $(call SYSPATH, $@) $<
$(TARGET:%=$(ObjDir)/%GenDAGISel.inc.tmp): \
$(ObjDir)/%GenDAGISel.inc.tmp : %.td $(ObjDir)/.dir
$(Echo) "Building $(<F) instruction selector implementation with tblgen"
- $(Verb) $(TableGen) -gen-dag-isel -o $@ $<
+ $(Verb) $(TableGen) -gen-dag-isel -o $(call SYSPATH, $@) $<
$(TARGET:%=$(ObjDir)/%GenSub...
2012 Apr 19
0
[LLVMdev] Tablegen to match a literal in an instruction
...through the path it takes when matching the AND node, and try to figure out why it ends up selecting the register-register version rather than the register-immediate version. Fortunately, the debug output from llc will contain a complete trace of what happened, so you just need to line it up with GenDAGISel.inc and determine which step did the wrong thing.
At a guess, I'd say you probably have a type declared wrong somewhere.
--Owen
On Apr 19, 2012, at 4:05 PM, "Villmow, Micah" <Micah.Villmow at amd.com> wrote:
> I'm not at the machine that has the changes, but it was fa...
2016 Jun 21
3
LLVM Backend Issues
Hi,
I am having issues running a new backend that I created for a new
architecture. I suspect these errors may have something to do with how I
have the string setup in LLVMTargetMachine() below?
Also - It would be great if someone could point me to a document that
describes some of these error messages? For example what does t26 ..t4 mean?
Thanks in advance for taking your valuable time to help
2017 Aug 15
3
How to debug instruction selection
Hi there,
I try to JIT compile some bitcode and seeing the following error:
LLVM ERROR: Cannot select: 0x28ec830: ch,glue = X86ISD::CALL 0x28ec7c0, 0x28ef900, Register:i32 %EDI, Register:i8 %AL, RegisterMask:Untyped, 0x28ec7c0:1
0x28ef900: i32 = X86ISD::Wrapper TargetGlobalAddress:i32<void (i8*, ...)* @_ZN5FooBr7xprintfEPKcz> 0
0x28ec520: i32 = TargetGlobalAddress<void (i8*, ...)*
2012 Apr 19
3
[LLVMdev] Tablegen to match a literal in an instruction
I'm not at the machine that has the changes, but it was failing at index 0.
Micah
From: Owen Anderson [mailto:resistor at mac.com]
Sent: Thursday, April 19, 2012 3:35 PM
To: Villmow, Micah
Cc: LLVM Developers Mailing List
Subject: Re: [LLVMdev] Tablegen to match a literal in an instruction
Micah,
I don't see anything wrong with this offhand. Have you tried getting the debug output
2007 Mar 22
1
[LLVMdev] Backend: 2 address + 17bit immediate
Hello,
Im (trying) to write a backend for a simple 32bit processor architecture,
with a single instruction format having no condition code registers.
www.docm.mmu.ac.uk/STAFF/A.Nisbet/Sabre.pdf is the short 15 page document
describing the architecture of Sabre. It is a Celoxica developed
research/teaching processor, pages 5-8 contain relevant information for
targetting it from a new compiler
2016 Aug 02
2
Instruction selection problems due to SelectionDAGBuilder
Hello.
I'm having problems at instruction selection with my back end with the following
basic-block due to a vector add with immediate constant vector (obtained by vectorizing a
simple C program doing vector sum map):
vector.ph: ; preds = %vector.memcheck50
%.splatinsert = insertelement <8 x i64> undef, i64 %i.07.unr, i32 0