search for: variad

Displaying 20 results from an estimated 367 matches for "variad".

Did you mean: varias
2012 Sep 26
2
[LLVMdev] Distinguish variadic register defines/uses in MCInstrDesc?
Am Mittwoch, 26. September 2012, 11:18:20 schrieb Jakob Stoklund Olesen: > Hi Christoph, > > As you noticed, MCInstrDesc doesn't distinguish between variadic uses and > defs. Since variadic instructions will always require some kind of special > handling, it doesn't seem worthwhile to make the model more detailed. I don't see what makes them so different from other instructions. MCInstrDesc provides the information which operands are de...
2012 Oct 05
0
[LLVMdev] Distinguish variadic register defines/uses in MCInstrDesc?
Hallo, I worked on how to handle the distinction between variadic defines and uses and my current solution is this: I introduce a new dag item in Instruction called VariadicOperandList, which by default is undefined. It keeps a marker variable_* and all operands which are placeholders for variable lists (like 'reglist' on ARM). I think it's the...
2012 Sep 25
2
[LLVMdev] Distinguish variadic register defines/uses in MCInstrDesc?
...for most cases, except if there are Thumb pop instructions involved. Pop has a variable number of output registers, so MCInstrDesc::getNumDefs returns zero and, as far as I can see, in the tablegen files 'variable_ops' is always in the 'ins' list and MCInstrDesc only provides isVariadic(); My current workaround is to assume that all variadic arguments of instructions that have zero register definitions but are marked as mayLoad are register definitions. I'm not very happy with this solution. Is it possible to extend LLVM to check if 'variable_ops' is in 'ins&...
2014 Oct 09
2
[LLVMdev] PSA: Perfectly forwarding thunks can now be expressed in LLVM IR with musttail and varargs
...s/macosx. After thinking a bit more, I think this forwarding thunk representation works fine even on that target. Typically a forwarding thunk is called indirectly, or at least through a bitcast, so the LLVM IR call site would look like: MIPS also has some subtle (and annoying) differences between variadic and non-variadic function calls. Most notably (o32-only) that the stack pointer will be in a different place in the callee for variadic and non-variadic calls. The variadic calling convention that we're using for our extension currently requires all variadic arguments to be spilled to the...
2012 Sep 26
0
[LLVMdev] Distinguish variadic register defines/uses in MCInstrDesc?
On Sep 24, 2012, at 6:39 PM, Christoph Grenz <christophg+llvm at grenz-bonn.de> wrote: > Is it possible to extend LLVM to check if 'variable_ops' is in 'ins' and/or > 'outs' in tablegen, so that MCInstrDesc could provide something like > hasVariadicDefs() and hasVariadicUses()? > > That way handling variadic instructions when disassembling would be much > easier and only instructions with variadic uses and defines would need > explicit special casing - if they even exist. Hi Christoph, As you noticed, MCInstrDesc doesn't...
2013 Jan 09
1
[LLVMdev] Using C++'11 language features in LLVM itself
On Wed, Jan 9, 2013 at 3:01 AM, Óscar Fuentes <ofv at wanadoo.es> wrote: > David Blaikie <dblaikie at gmail.com> writes: > > [snip] > > >> MSVC 2010 as the baseline precludes > >> you primarily from the following features: > > [snip] > > > variadic templates > > Irrelevant. The LLVM project discourages any non-trivial use of > templates. I'm not sure why you say this. We have a fake form of variadic templates because we wanted them so badly. We have many non-trivial templates where they make sense and provide value... I mea...
2020 Oct 05
2
Question about using IRBuilder::CreateIntrinsic for a variadic intrinsic
I have a variadic intrinsic that is defined as something like this: def int_foobar : Intrinsic<[llvm_anyint_ty], [llvm_vararg_ty], [IntrNoMem, IntrSpeculatable]>; When I construct a call to the above intrinsic with IRBuilder::CreateIntrinsic,...
2010 Jun 11
2
[LLVMdev] r98938 broke argument passing on MSP430?
...being preceded by instructions that put the arguments into registers. I backtracked my working copy and then stepped forward until it broke between r98937 and r98938. Refining further, I found that rolling back the single-statement change to utils/TableGen/DAGISelMatcherGen.cpp -- something about variadic instructions that was probably OK for x86, but MSP430 doesn't have variadic instructions -- restored the correct behavior. Seems like r98938 either introduced a bug in DAGISelMatcherGen.cpp or exposed a bug in MSP430InstrInfo.td (or similar). That's Chris's commit; could he or someo...
2017 Nov 11
0
Wine release 2.21
...stringency a bit. d3dx9/tests: Use a helper function to set matrix values in math tests. Alexandre Julliard (23): configure: Require floating point support on ARM. setupapi: Use correct architecture for fake dlls on ARM and ARM64. wldap32: Use WINAPIV calling convention for variadic functions. ntdll: Use WINAPIV calling convention for variadic functions. kernel32/tests: Use WINAPIV calling convention for variadic functions. msvcrt: Use WINAPIV calling convention for variadic functions. include: Use WINAPIV calling convention for variadic functions....
2014 Sep 02
2
[LLVMdev] PSA: Perfectly forwarding thunks can now be expressed in LLVM IR with musttail and varargs
...n the absence of inreg and for x86_64 in the general case, but I'd like to see it implemented for the CPU backends. I'm happy to do some of them, but I don't have the time to do all of them. Alternatively, it would be great if we could handle forwarding of unused register parameters in variadic functions in a general way. Perhaps CCState should surface this information. Thoughts? This seemed like a reasonable way to represent such thunks, but I'd like to know if there are objections. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.ll...
2010 Jun 21
0
[LLVMdev] r98938 broke argument passing on MSP430?
...structions that put the > arguments into registers.  I backtracked my working copy and then > stepped forward until it broke between r98937 and r98938.  Refining > further, I found that rolling back the single-statement change to > utils/TableGen/DAGISelMatcherGen.cpp -- something about variadic > instructions that was probably OK for x86, but MSP430 doesn't have > variadic instructions -- restored the correct behavior.  Seems like > r98938 either introduced a bug in DAGISelMatcherGen.cpp or exposed a > bug in MSP430InstrInfo.td (or similar).  That's Chris's commi...
2012 May 09
2
[LLVMdev] Calling C-language variadic functions
...ocs (the docs talk about how to do varargs in LLVM ASM, but not how to call an external vararg function that exists in a library that gets linked to the LLVM module). Is there something special I need to do? Simply calling IRBuilder::CreateCall() isn't working for me. I see the call to the variadic function in the asm dump, and also in the generated code, but the code (x86_64) doesn't seem to have enough activity going on at the call site (and I get a possibly predictable "illegal instruction" abort when I try to run the code). Any ideas? Thanks Greg
2011 Jul 14
1
[LLVMdev] code generation for variadic function
Hi All, I am trying to understand how a back-end generates code for a function that has variable number of arguments. I would also to like to know what changes do i have to do to the corresponding ISAs InstrInfo.td when a call to such a function is made? Any pointers or documentation in this regard is greatly appreciated. -- Ankit -------------- next part -------------- An HTML attachment
2012 May 09
0
[LLVMdev] Calling C-language variadic functions
...sVarArg=*/true " part. These are excerpts taken from the online LLVM demo, which is very useful as a quick method for seeing how the C++ API is used (it doesn't use IRBuilder, though). > Simply calling > IRBuilder::CreateCall() isn't working for me. I see the call to the > variadic function in the asm dump, and also in the generated code, but > the code (x86_64) doesn't seem to have enough activity going on at the > call site (and I get a possibly predictable "illegal instruction" abort > when I try to run the code). I guess that you are not using...
2017 Nov 28
2
variadic functions on X86_64 should (conditionally) save XMM regs even if -no-implicit-float
Specifying -no-implicit-float prevents LLVM from using non-GPR registers for purely integer operations. This is useful for operating systems (such as Wind River's VxWorks) that support tasks that do not save all registers on context switch. This presents an interesting problem for variadic functions that may optionally take non-integer arguments (e.g. printf style functions). Should non-GPR registers be spilled to the stack when -no-implicit-float is specified? Ideally we would do so only if non-GPR register arguments are actually passed by the caller. This would require a runtime...
2009 Mar 04
2
[LLVMdev] Fwd: PPC Nightly Build Result
...ghtlyTest/ > llvmgcc42.roots/llvmgcc42~obj/obj-powerpc-powerpc/./prev-gcc/ -B/ > Developer/usr/llvm-gcc-4.2/powerpc-apple-darwin9/bin/ -c -g -O2 - > mdynamic-no-pic -DIN_GCC -W -Wall -Wwrite-strings -Wstrict- > prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno- > variadic-macros -Wno-overlength-strings -Wold-style-definition - > Wmissing-format-attribute -Werror -DHAVE_CONFIG_H -I. -I. -I/ > Volumes/SandBox/NightlyTest/llvmgcc42.roots/llvmgcc42~obj/src/gcc -I/ > Volumes/SandBox/NightlyTest/llvmgcc42.roots/llvmgcc42~obj/src/gcc/. - > I/Volumes/Sa...
2009 Apr 15
2
[LLVMdev] Patch: MSIL backend global pointers initialization
Hello, > So, looking for type of callee (not result, but function type!) you'll > obtain the > real "signature" of callee and if you'll strip all pointer cast you'll > obtain the "declaration" (=variadic) type of the callee. Maybe I misunderstood something but I just get the variadic declaration not the real "signature", like this: const CallInst *I = dyn_cast<CallInst>(A); my CallInst looks like: %1 = tail call i32 (i8*, ...)* @printf(i8* noalias %0, i32 123) nounwind const...
2009 Apr 07
0
[LLVMdev] Patch: MSIL backend global pointers initialization
Artur, > OK, I just need the same signature for both of those instructions. Both are callinsts of same function, isn't that enough? Since it's a variadic function there is also a bitcast to proper type. So, looking for type of callee (not result, but function type!) you'll obtain the real "signature" of callee and if you'll strip all pointer cast you'll obtain the "declaration" (=variadic) type of the callee. This s...
2009 Mar 05
0
[LLVMdev] Fwd: PPC Nightly Build Result
...llvmgcc42.roots/llvmgcc42~obj/obj-powerpc-powerpc/./prev-gcc/ -B/ > > Developer/usr/llvm-gcc-4.2/powerpc-apple-darwin9/bin/ -c   -g -O2 - > > mdynamic-no-pic -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict- > > prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno- > > variadic-macros -Wno-overlength-strings -Wold-style-definition - > > Wmissing-format-attribute -Werror    -DHAVE_CONFIG_H -I. -I. -I/ > > Volumes/SandBox/NightlyTest/llvmgcc42.roots/llvmgcc42~obj/src/gcc -I/ > > Volumes/SandBox/NightlyTest/llvmgcc42.roots/llvmgcc42~obj/src/gcc/. - > &...
2020 Feb 20
3
[RFC] Allowing debug intrinsics to reference multiple SSA Values
...stack. Two proposed syntaxes for the list of SSA values - though suitable alternatives may be worth considering - are to either replace the first argument of the intrinsic function with an MDNode containing the SSA values as operands, or to remove the first argument and make the intrinsic function variadic, passing the SSA value list as vargs: %c = add i32 %a, %b llvm.dbg.value(metadata i32 %c, DILocalVariable("x"), DIExpression()) ; Salvage... llvm.dbg.value(!{metadata i32 %a, metadata i32 %b}, DILocalVariable("x"), DIExpression(DW_OP_LLVM_register, 0, DW_OP_LLVM_register, 1,...