search for: aarch64isellow

Displaying 18 results from an estimated 18 matches for "aarch64isellow".

2013 Sep 25
1
[LLVMdev] arm64 / iOS support
...AArch64/AArch64AsmPrinter.cpp @@ -281,6 +281,8 @@ void AArch64AsmPrinter::EmitEndOfAsmFile(Module &M) { } Stubs.clear(); } + } else if (Subtarget->isTargetDarwin()) { + OutStreamer.EmitAssemblerFlag(MCAF_SubsectionsViaSymbols); } } diff --git a/lib/Target/AArch64/AArch64ISelLowering.cpp b/lib/Target/AArch64/AArch64ISelLowering.cpp index 48f34c0..0feaa0d 100644 --- a/lib/Target/AArch64/AArch64ISelLowering.cpp +++ b/lib/Target/AArch64/AArch64ISelLowering.cpp @@ -32,6 +32,8 @@ using namespace llvm; static TargetLoweringObjectFile *createTLOF(AArch64TargetMachine &TM) {...
2018 Feb 28
2
How to handle UMULO?
...get's multiply instruction doesn't care (detect) overflow. I am wondering if I can always set the boolean to false. I am not sure about this as I see AArch64 [1] seems trying to emulate the overflow behavior. Thanks. [1] https://github.com/llvm-mirror/llvm/blob/master/lib/Target/AArch64/AArch64ISelLowering.cpp ​Regards, chenwj​ -- Wei-Ren Chen (陳韋任) Homepage: https://people.cs.nctu.edu.tw/~chenwj -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180228/a45f4ba0/attachment.html>
2018 Aug 08
2
Passing arguments to var args function
Hey, I am working on a new back-end, in my back end, I require to pass every argument through a register when calling a function, unless the argument is part of the ellipsis (...) and then pass it through the stack, I've tried creating a CCCustom function to analyze the operands when a function has var args, however, the information whether the out val is fixed or not is not passed into the
2016 Feb 02
2
creating Intrinsic DAG Node
Matt, Thanks for the response. Is there an example in the code somewhere of doing the intrinsic ID method? I don't need to put it a lot of places so I'm not sure it warrants adding a node. Thanks. On Tue, Feb 2, 2016 at 12:35 PM, Matt Arsenault <arsenm2 at gmail.com> wrote: > > > On Feb 2, 2016, at 09:29, Ryan Taylor via llvm-dev < > llvm-dev at lists.llvm.org>
2018 Feb 28
0
How to handle UMULO?
...sn't care (detect) overflow. I am > wondering if I can always set the boolean to false. I am not sure about > this as I see AArch64 [1] seems trying to emulate the overflow behavior. > > Thanks. > > [1] https://github.com/llvm-mirror/llvm/blob/master/lib/Target/AArch64/ > AArch64ISelLowering.cpp > > ​Regards, > chenwj​ > > -- > Wei-Ren Chen (陳韋任) > Homepage: https://people.cs.nctu.edu.tw/~chenwj > > _______________________________________________ > LLVM Developers mailing list > llvm-dev at lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/...
2013 Nov 28
2
[LLVMdev] [llvm] r195903 - AArch64: Fix a bug about disassembling post-index load single element to 4 vectors
...ler/llvm_3_ 2/install/bin/clang++ You should run debug and retail builds too because the warnings can become serious if there is something used in a DEBUG that is only referenced there. llvm[3]: Compiling HexagonAsmPrinter.cpp for Debug+Asserts build /home/rkotler/llvm_trunk/lib/Target/AArch64/AArch64ISelLowering.cpp:4244:22: error: comparison of integers of different signs: 'int' and 'unsigned int' [-Werror,-Wsign-compare] assert((Lane < V1.getOperand(0).getValueType().getVectorNumElements()) ~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~...
2018 Feb 28
1
How to handle UMULO?
...get's multiply instruction doesn't care (detect) overflow. I am wondering if I can always set the boolean to false. I am not sure about this as I see AArch64 [1] seems trying to emulate the overflow behavior. Thanks. [1] https://github.com/llvm-mirror/llvm/blob/master/lib/Target/AArch64/AArch64ISelLowering.cpp ​Regards, chenwj​ -- Wei-Ren Chen (陳韋任) Homepage: https://people.cs.nctu.edu.tw/~chenwj _______________________________________________ LLVM Developers mailing list llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-de...
2013 Nov 28
0
[LLVMdev] [llvm] r195903 - AArch64: Fix a bug about disassembling post-index load single element to 4 vectors
...g++ > > > You should run debug and retail builds too because the warnings can become > serious if there is something used in a DEBUG that is only referenced there. > > llvm[3]: Compiling HexagonAsmPrinter.cpp for Debug+Asserts build > /home/rkotler/llvm_trunk/lib/Target/AArch64/AArch64ISelLowering.cpp:4244:22: > error: > comparison of integers of different signs: 'int' and 'unsigned int' > [-Werror,-Wsign-compare] > assert((Lane < > V1.getOperand(0).getValueType().getVectorNumElements()) > ~~~~ ^ > ~~~~~~~~~~~~~...
2013 Nov 28
1
[LLVMdev] [llvm] r195903 - AArch64: Fix a bug about disassembling post-index load single element to 4 vectors
...t; You should run debug and retail builds too because the warnings can become >> serious if there is something used in a DEBUG that is only referenced there. >> >> llvm[3]: Compiling HexagonAsmPrinter.cpp for Debug+Asserts build >> /home/rkotler/llvm_trunk/lib/Target/AArch64/AArch64ISelLowering.cpp:4244:22: >> error: >> comparison of integers of different signs: 'int' and 'unsigned int' >> [-Werror,-Wsign-compare] >> assert((Lane < >> V1.getOperand(0).getValueType().getVectorNumElements()) >>...
2018 Aug 08
2
Passing arguments to var args function
...-dev > <llvm-dev at lists.llvm.org> wrote: > > Did anyone else come by such requirement? is there any other way anyone > could recommend handling such requirement? > > Apple's calling convention on iOS does this. We have two separate > CC_Whatever definitions and then AArch64ISelLowering.cpp chooses which > one to use based on whether the argument is fixed or not (see line > 3446 onwards). > > Cheers. > > Tim. > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20180808/...
2016 Feb 02
2
creating Intrinsic DAG Node
...an example in the code somewhere of > doing the intrinsic ID method? I don't need to put it a lot of places so > I'm not sure it warrants adding a node. > > > > Thanks. > > Just do a git grep “getNode(ISD::INTRINSIC_WO_CHAIN”. It looks like there > are a bunch in AArch64ISelLowering -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160202/555b3dde/attachment.html>
2017 Sep 27
0
Custom lower multiple return values
...requested ResNo (which asserts when asked for ResNo == 1 and returning ResNo == 0) and returning a ISD::MERGE_VALUES without mutating the ResNo (which leads to constant folding merging the two result values together, effectively dropping the second one). The code I based this on is LowerXALUO in AArch64ISelLowering which returns a MERGE_VALUES without mutating the ResNo. I’m concerned that AArch64 may be dropping the carry bit based on the semantics observed above, but don’t know AArch64 well enough to verify. SDValue MyTarget::LowerXMUL_LOHI(SDValue Op, SelectionDAG &DAG) const { EVT VT = Op.g...
2014 Aug 13
2
[LLVMdev] Pseudo load and store instructions for AArch64
...PR64:$Rt, GPR64sp:$Rn, GPR32:$Rm, ro_Wextend64:$extend), []>; } def AArch64fakeload64 : SDNode<"AArch64ISD::FakeLoad64", SDTIntBinOp, [SDNPHasChain]>; def AArch64fakestore64 : SDNode<"AArch64ISD::FakeStore64", SDTIntBinOp, [SDNPHasChain]>; to AArch64ISD in AArch64ISelLowering.h below ISD::FIRST_TARGET_MEMORY_OPCODE: FakeLoad64, FakeStore64 in AArch64SelectionDAGInfo::EmitTargetCodeForMemcpy(): SmallVector<SDValue, 4> Ops; Ops.push_back(Chain); Ops.push_back(DAG.getNode(ISD::ADD, dl, MVT::i64, Src, DAG.getConstant(SrcOf...
2019 Apr 26
10
Automatically backing up and restoring x18 around function calls on AArch64?
Hi, When using Wine to run Windows ARM64 executables on Linux, there's one major ABI incompatibility between the two; Windows treats the x18 register as the reserved platform register, while it is free to be clobbered anywhere in code on Linux. The Wine code sets up this register before passing control over to the Windows executable code, but whenever the Windows code calls a function
2017 Mar 07
2
Current preferred approach for handling 'byval' struct arguments
As many of you will know, handling of struct arguments in LLVM is actually slightly more fiddly than you might expect. For targets where aggregates are always passed on the stack it's easy enough, the Clang ABI code marks these arguments as byval and the call lowering code in LLVM will copy the object to the stack when needed. There are more options for when the target has more complex ABI
2017 Mar 08
3
Current preferred approach for handling 'byval' struct arguments
...know the backend will place it on the stack, as demanded by the calling convention). ARM will also coerce structures below a certain size, however the call lowering code in ARMISelLowering still has logic to split a byval aggregate between the stack and registers (why not I have to say looking at AArch64ISelLowering and the clang code it's not immediately obvious to me where aggregates get split between the stack and registers (which is quite clear in MipsTargetLowering::passByValArg). What am I missing here? It seems to me there are a few possibilities for targets where the ABI indicates aggregates...
2018 Jan 04
0
Options for custom CCState, CCAssignFn, and GlobalISel
I haven't dug into the GlobalISel calling convention code much but I can comment on the MipsCCState. > On 3 Jan 2018, at 14:00, Alex Bradbury via llvm-dev <llvm-dev at lists.llvm.org> wrote: > > This question came about through reviewing work from Leslie Zhai on GlobalISel > support for RISC-V, which also motivated me to revisit code which I've always > felt was a
2018 Jan 03
7
Options for custom CCState, CCAssignFn, and GlobalISel
This question came about through reviewing work from Leslie Zhai on GlobalISel support for RISC-V, which also motivated me to revisit code which I've always felt was a bit clunky. Calling convention lowering in LLVM is typically handled by functions conforming to the CCAssignFn typedef: typedef bool CCAssignFn(unsigned ValNo, MVT ValVT, MVT LocVT,