Displaying 10 results from an estimated 10 matches for "lowervaarg".
2016 Apr 20
3
va_arg on Windows 64
Hi everyone,
I'm interested in variadic functions and how llvm handles them. I
discovered that the Clang frontend is doing a great job at lowering the
va_arg (precisely __builtin_va_arg) function into target dependent
code. I have also seen the va_arg function that exist at IR level.
I found some information about va_arg (IR one) that currently does not
support all platform. But since 2009,
2010 Jun 22
1
[LLVMdev] Var Args on X86-64
...g instruction working on X86-64 Linux. This requires
implementing VAARG lowering for X86-64.
I am fine with implementing it, but I am unsure of what approach I should
take. The straightforward option is to add the DAG nodes required to perform
the operation during lowering. (in X86TargetLowering::LowerVAARG()).
However, the resulting code will be relatively long to accommodate the
complexity of what va_arg must do. It would be easier to operate on a higher
level, for example, by implementing va_arg in LLVM assembly. Is it possible
(or preferable) to implement an intrinsic (va_arg) using target-specif...
2008 May 11
1
[LLVMdev] building llvm on Windows
...ase (2.2)
2. I copied the file SimplifyLibCalls.cpp from lib/Transforms/Scalar to
lib/Transforms/IPO. I think the position of this file was updated but the
MSVC project wasn't.
3. I put a "return SDOperand();" on X86ISelLowering.cpp, on function
"SDOperand X86TargetLowering::LowerVAARG(SDOperand Op, SelectionDAG &DAG)"
after "abort()", to make compiler happy to compile it.
4. I needed to give "Build Solution" more times, because there are some
incorrect dependencies between projects and some of them expect results from
the future builded ones.
Af...
2008 May 11
9
[LLVMdev] Preferring to use GCC instead of LLVM
Not that I sympathize with the OP's manners but...
Bill Wendling <isanbard at gmail.com> writes:
> On May 10, 2008, at 7:55 PM, kr512 wrote:
>
>> See how gcc is invoked to generate the final executable
>> file. This means LLVM is an incomplete backend,
>> unfortunately.
>>
> That's only a convenience. GCC generates assembly code too and calls
2012 Mar 31
0
[LLVMdev] Help with PR12201
I'm trying to fix PR12201, and would like some advice. Here's what is
happening:
On PPC32 VAARG is custom lowered (in PPCTargetLowering::LowerVAARG) and
can create two ISD::SELECT nodes that use a ISD::SETCC node with a
ISD::SETLT parameter. On PPC, ISD::SELECT is expanded, and here both
of these SELECT nodes are expanded into ISD::SELECT_CC nodes with
a ISD::SETLT node used by both.
These SELECT_CC nodes are not directly instruction selected...
2008 May 12
0
[LLVMdev] building llvm on Windows
...o
> lib/Transforms/IPO. I think the position of this file was updated
> but the
> MSVC project wasn't.
Please update the project file and send a patch for it.
> 3. I put a "return SDOperand();" on X86ISelLowering.cpp, on function
> "SDOperand X86TargetLowering::LowerVAARG(SDOperand Op, SelectionDAG
> &DAG)"
> after "abort()", to make compiler happy to compile it.
This went into mainline, Tanya, can we pull this patch into 2.3?
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080512/062268.html
> 4. I needed to give "...
2007 Jul 03
0
[LLVMdev] Solaris 9 compilation
...describe this problem.
The solution is simple. (use floor(x + 0.5))
Patch below. This solves the MS compiler issue too (same thing).
Other possibility is to use configure to determine the presence of round().
3) /home/ggreif/llvm/lib/Target/PowerPC/PPCISelLowering.cpp: In function `llvm::SDOperand LowerVAARG(llvm::SDOperand, llvm::SelectionDAG&, int, int, unsigned int, unsigned int, const
llvm::PPCSubtarget&)':
/home/ggreif/llvm/lib/Target/PowerPC/PPCISelLowering.cpp:1104: warning: no return statement in function returning non-void
4) /home/ggreif/llvm/lib/CodeGen/SimpleRegisterCoalescing....
2011 Aug 25
0
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
...VT::Other, Custom);
> + setOperationAction(ISD::ADJUST_TRAMPOLINE, MVT::Other, Custom);
>
> // VASTART needs to be custom lowered to use the VarArgsFrameIndex
> setOperationAction(ISD::VASTART , MVT::Other, Custom);
> @@ -1369,8 +1371,13 @@ SDValue PPCTargetLowering::LowerVAARG(SDValue Op, SelectionDAG &DAG,
> return DAG.getLoad(VT, dl, InChain, Result, MachinePointerInfo(), false, false, 0);
> }
>
> -SDValue PPCTargetLowering::LowerTRAMPOLINE(SDValue Op,
> - SelectionDAG &DAG) const {
> +SDValue PPCT...
2011 Aug 23
2
[LLVMdev] [RFC] Splitting init.trampoline into init.trampoline and adjust.trampoline
Hi!
Attached set of patches splits llvm.init.trampoline into an "init"
phase and an "adjust" phase, as discussed on the "Go on dragonegg"
thread.
Thanks!
--
Sanjoy Das
http://playingwithpointers.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Split-intrinsics-and-DAG-nodes.patch
Type: text/x-diff
Size: 8808 bytes
Desc:
2016 Apr 27
2
[Sparc] builtin setjmp / longjmp - need help to get past last problem
...hasHardQuad);
+ case ISD::EH_SJLJ_SETJMP: return LowerEH_SJLJ_SETJMP(Op, DAG, *this);
+ case ISD::EH_SJLJ_LONGJMP: return LowerEH_SJLJ_LONGJMP(Op, DAG, *this);
case ISD::VASTART: return LowerVASTART(Op, DAG, *this);
case ISD::VAARG: return LowerVAARG(Op, DAG);
case ISD::DYNAMIC_STACKALLOC: return LowerDYNAMIC_STACKALLOC(Op, DAG,
***************
*** 3052,3057 ****
--- 3073,3085 ----
case SP::SELECT_CC_DFP_FCC:
case SP::SELECT_CC_QFP_FCC:
return expandSelectCC(MI, BB, SP::FBCOND);
+ case SP::EH_SJLJ_SETJMP32ri:
+ case SP::EH...