search for: asmmatcheremitter

Displaying 20 results from an estimated 29 matches for "asmmatcheremitter".

2018 Jan 08
0
about AsmMatcherEmitter rules for setting matchables precedence
Hi, In AsmMatcherEmitter.cpp, the operator “<” for comparing matchables (MatchableInfo objects) only checks matches that require more features as the last rule. I would like to propose that we check for that rule earlier, in the case of unrelated UserClasses, before we decide to set precedence based on UserClass name...
2017 Oct 15
2
darwin bootstrap failure
...failure? This was from building Clang + LLVM on Windows 10 with MSVC 2017 x64 Debug. My cmake command to generate the VS solution is pretty uninteresting: cmake -G "Visual Studio 15 Win64" ..\llvm I fixed a few of the link errors that Jack pointed out before stumbling on the problem in AsmMatcherEmitter::run(). I wasn't comfortable attempting to work around it there because the DEBUG_WITH_TYPE macro was conflicting with trying to guard calls to MatchableInfo::dump() with LLVM_ENABLE_DUMP. I think this is another instance of "TableGen wasn't done along with the rest of llvm" -- n...
2017 Oct 15
2
darwin bootstrap failure
...nding of LLVM's tablegen than I have. Error LNK2019 unresolved external symbol "public: void __cdecl `anonymous namespace'::MatchableInfo::dump(void)const " (?dump at MatchableInfo@?A0xf4f1c304@@QEBAXXZ) referenced in function "public: void __cdecl `anonymous namespace'::AsmMatcherEmitter::run(class llvm::raw_ostream &)" (?run at AsmMatcherEmitter@?A0xf4f1c304@@QEAAXAEAVraw_ostream at llvm@@@Z) llvm-tblgen D:\llvm\2017\utils\TableGen\AsmMatcherEmitter.obj 1 Since this has been broken for over a day and the fixes are nontrivial, I've reverted your commit (r315590) in r3...
2017 Oct 15
2
darwin bootstrap failure
...VM on Windows 10 with MSVC 2017 x64 >> Debug. My cmake command to generate the VS solution is pretty >> uninteresting: cmake -G "Visual Studio 15 Win64" ..\llvm >> >> I fixed a few of the link errors that Jack pointed out before >> stumbling on the problem in AsmMatcherEmitter::run(). I wasn't >> comfortable attempting to work around it there because the >> DEBUG_WITH_TYPE macro was conflicting with trying to guard calls to >> MatchableInfo::dump() with LLVM_ENABLE_DUMP. >> >> I think this is another instance of "TableGen wasn't...
2017 Dec 15
2
InstAlias with tied operands - can it be supported?
Hello, InstAlias does not allow tied operands (repeated operands) in the asm string to be matched. It seems this situation is explicitly prevented in AsmMatcherEmitter.cpp: if (!Hack) PrintFatalError(TheDef->getLoc(), "ERROR: matchable with tied operand '" + Tok + "' can never be matched!"); // FIXME: Should reject these. The ARM backend hits this with $lane i...
2017 Dec 15
0
InstAlias with tied operands - can it be supported?
...allow this for InstAlias too. > On 15 Dec 2017, at 02:12, via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > Hello, > > InstAlias does not allow tied operands (repeated operands) in the asm string to be matched. > > It seems this situation is explicitly prevented in AsmMatcherEmitter.cpp: > > if (!Hack) > PrintFatalError(TheDef->getLoc(), > "ERROR: matchable with tied operand '" + Tok + > "' can never be matched!"); > // FIXME: Should reject these. The ARM backend hit...
2017 Oct 14
3
darwin bootstrap failure
...rameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -O3 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o CMakeFiles/obj.llvm-tblgen.dir/C...
2017 Oct 15
2
darwin bootstrap failure
...:34 AM, Aaron Ballman <aaron at aaronballman.com> > wrote: >> >> FWIW, most of the ones I was fixing up were guarded by NDEBUG instead >> of LLVM_ENABLE_DUMP. Switching to LLVM_ENABLE_DUMP fixed the link >> errors for me -- the only one I struggled with was >> AsmMatcherEmitter::run(). But it sounds like you're saying switching >> the configuration type in MSVC from Debug to Release would have >> possibly caused issues as well? > > > This is what I believe is going on -- hope this isn't too convoluted... > > I don't know how you invo...
2018 Jan 04
1
InstAlias with tied operands - can it be supported?
Hi Daniel, I defined checkEarlyTargetMatchPredicate() to explicitly check for the tied operands, and it worked. I could define an alias like: InstAlias<"oldOP $rd, $rd, $rs1", (NEWOP $rd, $rs1)> However, I had to additionally change AsmMatcherEmitter 'Hack' variable setting to allow the repeated operand $rd in the AsmString. Do you or anyone else know the history with this 'Hack' flag? Thanks, Ana. diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp index 1a820a5..252fd51 100644 --- a/ut...
2017 Oct 14
2
darwin bootstrap failure
...rameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -O3 -Wl,-search_paths_first -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o CMakeFiles/obj.llvm-tblgen.dir/CodeEmitterGen.cpp.o CMakeFiles/obj.llvm-tblgen.dir/C...
2017 Oct 14
2
darwin bootstrap failure
...-Wmissing-field-initializers -pedantic -Wno-long-long >> -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor >> -Wstring-conversion -O3 -Wl,-search_paths_first >> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip >> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o >> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o >> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o >> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o >> CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o >> CMakeFiles/obj.llvm-tblgen.dir/CodeEmit...
2013 Apr 25
0
[LLVMdev] [PATCH] Handle tied sub-operands in AsmMatcherEmitter
On Apr 25, 2013, at 4:44 AM, Ulrich Weigand <Ulrich.Weigand at de.ibm.com> wrote: > Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote on 24.04.2013 23:47:54: > >> I would like to add one more case here: Fixed register operands. >> >> Some instructions, like x86's MUL and DIV, take operands in fixed >> registers. Currently, we handle that with COPY
2013 Apr 24
0
[LLVMdev] [PATCH] Handle tied sub-operands in AsmMatcherEmitter
On Apr 23, 2013, at 11:06 AM, Jim Grosbach <grosbach at apple.com> wrote: > There are two core issues. First, the tied operands are an artifact of the way we do instruction selection for the compiler. They’re how we represent read-modify-write operands, basically. The assembler shouldn’t have to know or care about them at all. Specifically, they shouldn’t even be represented at all as an
2017 Oct 14
2
darwin bootstrap failure
...dantic -Wno-long-long >>>> -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor >>>> -Wstring-conversion -O3 -Wl,-search_paths_first >>>> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o >>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o >>>> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o >>>> CMakeFiles/obj.llvm-tblgen.dir/CallingConvEmitter.cpp.o >>>>...
2013 Apr 25
1
[LLVMdev] [PATCH] Handle tied sub-operands in AsmMatcherEmitter
Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote on 25.04.2013 18:58:05: > On Apr 25, 2013, at 4:44 AM, Ulrich Weigand <Ulrich.Weigand at de.ibm.com> wrote: > > > Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote on 24.04.2013 23:47:54: > > > >> I would like to add one more case here: Fixed register operands. > >> > >> Some
2013 Apr 25
2
[LLVMdev] [PATCH] Handle tied sub-operands in AsmMatcherEmitter
Jakob Stoklund Olesen <stoklund at 2pi.dk> wrote on 24.04.2013 23:47:54: > I would like to add one more case here: Fixed register operands. > > Some instructions, like x86's MUL and DIV, take operands in fixed > registers. Currently, we handle that with COPY instructions to and > from the fixed registers, but that is making code motion passes more > complicated than
2017 Oct 14
2
darwin bootstrap failure
...t;>>> -Wcovered-switch-default -Wnon-virtual-dtor -Wdelete-non-virtual-dtor >>>>>> -Wstring-conversion -O3 -Wl,-search_paths_first >>>>>> -Wl,-headerpad_max_install_names -L/sw/lib -Wl,-dead_strip >>>>>> CMakeFiles/obj.llvm-tblgen.dir/AsmMatcherEmitter.cpp.o >>>>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterEmitter.cpp.o >>>>>> CMakeFiles/obj.llvm-tblgen.dir/AsmWriterInst.cpp.o >>>>>> CMakeFiles/obj.llvm-tblgen.dir/Attributes.cpp.o >>>>>> CMakeFiles/obj.llvm-tblgen.dir/CallingCo...
2019 Jan 23
2
Windows/Clang build instrumented/PGO
...in\llvm-tblgen.exe FAILED: bin/llvm-tblgen.exe cmd.exe /C "cd . && C:\.conan\6785u87h\1\bin\cmake.exe -E vs_link_exe --intdir=utils\TableGen\CMakeFiles\llvm-tblgen.dir --manifests -- C:\code\clang-builder\src\bootstrap\bin\lld-link.exe /nologo utils\TableGen\CMakeFiles\llvm-tblgen.dir\AsmMatcherEmitter.cpp.obj utils\TableGen\CMakeFiles\llvm-tblgen.dir\AsmWriterEmitter.cpp.obj utils\TableGen\CMakeFiles\llvm-tblgen.dir\AsmWriterInst.cpp.obj utils\TableGen\CMakeFiles\llvm-tblgen.dir\Attributes.cpp.obj utils\TableGen\CMakeFiles\llvm-tblgen.dir\CallingConvEmitter.cpp.obj utils\TableGen\CMakeFiles\llvm...
2012 Oct 17
3
[LLVMdev] Hexagon Assembly parser question
...But.. Hexagon assembly does not follow the "Mnemonic Rx Rx ." format that is expected by the assembly parsing infrastructure, represented by: StringRef Mnemonic = ((ARMOperand*)Operands[0])->getToken(); This Mnemonic location assumption applies to both the Tablegen Backend AsmMatcherEmitter processing, and the .inc file it produces where MatchInstructionImpl is the entry point by which the assembly input is parsed. However Hexagon assembly has some features that make it more readable, such as r1 = r2, or if(r1) r2 = mem(#immediate). This makes taking advantage of the existing LL...
2013 Apr 24
0
[LLVMdev] [PATCH] Handle tied sub-operands in AsmMatcherEmitter
...thing. As a first step towards the goal of removing the duplicate operands from MCInst, would it make sense to move the ARM approach to common code: that is, have common code simply emit dummy entries for all operand slots not named in the AsmString? This would have several advantages: - TableGen AsmMatcherEmitter would not have to track matching constraints at all, simplifying that code a bit - it would work even in those cases where the back-end needs a custom matcher for multi-operand operands, where my current patch does not work - most (all?) of the ARM custom converters could simply be removed,...