search for: isthumb1only

Displaying 4 results from an estimated 4 matches for "isthumb1only".

2015 Jan 11
3
[LLVMdev] [RFC] [PATCH] add tail call optimization to thumb1-only targets
...====================================================== --- ARMSubtarget.cpp (Revision 225589) +++ ARMSubtarget.cpp (Arbeitskopie) @@ -262,7 +262,7 @@ SupportsTailCall = !isTargetIOS() || !getTargetTriple().isOSVersionLT(5, 0); } else { IsR9Reserved = ReserveR9; - SupportsTailCall = !isThumb1Only(); + SupportsTailCall = true; } if (Align == DefaultAlign) { Index: ARMISelLowering.cpp =================================================================== --- ARMISelLowering.cpp (Revision 225589) +++ ARMISelLowering.cpp (Arbeitskopie) @@ -1671,6 +1671,26 @@ InFlag = SDValue();...
2013 Jun 25
2
[LLVMdev] Adding a new ARM RegisterClass
...cretely, there is a RegisterClass in ARMRegisterInfo.td defined as def rGPR : RegisterClass<"ARM", [i32], 32, (sub GPR, SP, PC)> { let AltOrders = [(add LR, rGPR), (trunc rGPR, 8)]; let AltOrderSelect = [{ return 1 + MF.getTarget().getSubtarget<ARMSubtarget>().isThumb1Only(); }]; } However, I'd like the instruction NOT to use the LR. I don't see an existing RegisterClass defined with R0_R12; something like: def newGPR : RegisterClass<"ARM", [i32], 32, (add (sequence "R%u", 0, 12))>; I can add this new RegisterClass m...
2013 Jan 09
0
[LLVMdev] ARM vectorizer cost model
...to model and we have all of the hooks already. We can use the Subtarget when we implement the hooks. This is an example from the ARMTTI unsigned getNumberOfRegisters(bool Vector) const { if (Vector) { if (ST->hasNEON()) return 16; return 0; } if (ST->isThumb1Only()) return 8; return 16; } unsigned getMaximumUnrollFactor() const { // These are out of order CPUs: if (ST->isCortexA15() || ST->isSwift()) return 2; return 1; } > Thanks, Nadav > > cheers, > --renato
2013 Jan 09
2
[LLVMdev] ARM vectorizer cost model
Hi Nadav, I'm interested in knowing how you'll work up the ARM cost model and how easy it'd be to split the work. As far as I can see, LoopVectorizationCostModel is the class that does all the work, with assistance from the target transform info. Do you think that updating ARMTTI would be the best course of action now, and inspect the differences in the CostModel later? I also