similar to: [LLVMdev] Increase the number of registers in ARM

Displaying 20 results from an estimated 1000 matches similar to: "[LLVMdev] Increase the number of registers in ARM"

2012 Dec 06
2
[LLVMdev] Increase the number of registers in ARM
On 6 Dec 2012, at 07:46, 陳韋任 (Wei-Ren Chen) wrote: > The code below in lib/Target/ARM/ARMRegisterInfo.td is where you > should look into, > > // Integer registers > def R0 : ARMReg< 0, "r0">, DwarfRegNum<[0]>; > def R1 : ARMReg< 1, "r1">, DwarfRegNum<[1]>; > > ... That's the easy part. ARM (AArch32) has 16 registers
2012 Dec 07
0
[LLVMdev] Increase the number of registers in ARM
On Thu, Dec 06, 2012 at 09:13:53AM +0000, David Chisnall wrote: > On 6 Dec 2012, at 07:46, 陳韋任 (Wei-Ren Chen) wrote: > > > The code below in lib/Target/ARM/ARMRegisterInfo.td is where you > > should look into, > > > > // Integer registers > > def R0 : ARMReg< 0, "r0">, DwarfRegNum<[0]>; > > def R1 : ARMReg< 1,
2012 Dec 06
0
[LLVMdev] Increase the number of registers in ARM
On Wed, Dec 05, 2012 at 09:17:12PM -0600, Amir Yazdanbakhsh wrote: > Hi, > > I want to increase the number of integer registers in the ARM machine. > I don't have any idea how/where I can start. Can anybody help me? The code below in lib/Target/ARM/ARMRegisterInfo.td is where you should look into, // Integer registers def R0 : ARMReg< 0, "r0">,
2012 Dec 07
2
[LLVMdev] Increase the number of registers in ARM
I almost change all the instruction formats. It was a huge work. I am going to compile and run it now. Best Regards, A. Yazdanbakhsh >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PhD. Student School of Electrical and Computer Engineering University of Wisconsin-Madison E-mail: yazdanbakhsh
2011 Aug 24
1
[LLVMdev] proposal: add macro expansion of for-loop to TableGen
Hi folks, TableGen provides sufficiently rich syntax for expressing target instruction set. Nevertheless, when I wrote the PTX backend, I observed that some redundancy in TableGen can be further eliminated through macro expansion of for-loops. The semantics of a for-loop is expanding the for-loop body, and so it is equivalent to manually unroll the loop (see example #1). I believe the for-loop
2012 Dec 08
0
[LLVMdev] Compile code for arm
Ok, These are the three options you should be playing with: -ccc-host-triple $(CCC_HOST_TRIPLE_ARM) \ --sysroot=$(SYSROOT_ARM) \ -gcc-toolchain $(GCC_TOOLCHAIN) Where the (sic) host triple defines the "target" triple too. Sysroot and gcc-toolchain is where you'll find the libraries and binutils for the ARM targets (you'll need them, since LLVM still can't cross-compile on
2012 Dec 08
2
[LLVMdev] Compile code for arm
OK. Thanks for your help. My problem is I am playing with the size of registerfile in ARM. I thought I can do it with only modifying the Target in the LLVM directory. But if it is going to use gcc-toolchain, then I need to modify them as well which is a huge work! Best Regards, A. Yazdanbakhsh
2012 Dec 08
2
[LLVMdev] Compile code for arm
Thanks for your help. But I got this warning which it seems it doesn't use -triple "clang: warning: argument unused during compilation: '-triple arm-none-eabi' " Best Regards, A. Yazdanbakhsh >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PhD. Student School of
2012 Dec 08
1
[LLVMdev] Compile code for arm
Thanks Tim. I just need the assembly file. Anyway, I still have problem with generating assembly for the ARM without having any thumb and other fancy instructions. Best Regards, A. Yazdanbakhsh >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PhD. Student School of Electrical and Computer
2012 Dec 08
4
[LLVMdev] Compile code for arm
Hi, I've installed clang version 3.3 on ubuntu. I want to cross-compile a C code into ARM (preferably) ARMv7. I want to get both assembly code and binary. Can anyone help me what are the steps which should I take? Second question, Is there anyway to tell compiler not to use any Thumb/NEON/VFP instructions? Thanks Best Regards, A. Yazdanbakhsh
2012 Dec 08
0
[LLVMdev] Compile code for arm
On 8 December 2012 19:10, Amir Yazdanbakhsh <amir.yazdanbakhsh at gmail.com> wrote: > Hi, > > I've installed clang version 3.3 on ubuntu. > I want to cross-compile a C code into ARM (preferably) ARMv7. I want to get > both assembly code and binary. Can anyone help me what are the steps which > should I take? clang -triple arm-none-eabi (or many other variations
2012 Dec 08
0
[LLVMdev] Compile code for arm
Hi Amir, On Dec 8, 2012 8:13 PM, "Amir Yazdanbakhsh" <amir.yazdanbakhsh at gmail.com> wrote: > My problem is I am playing with the size of registerfile in ARM. I thought I can do it with only modifying the Target in the LLVM directory. But if it is going to use gcc-toolchain, then I need to modify them as well which is a huge work! That sort of depends how you modify it. If
2012 Dec 09
3
[LLVMdev] ARM assembly
Hi All, I am working to cross compile (just generate assembly code) a simple C code in ARM. First, I use CLANG to get LLVM bytecode, then I use llc to generate assembly for ARM. The problem is it never uses any other register except r0-r3 and always uses spill code even if other register are available to use. Anyone has any idea? Thanks Best Regards, A. Yazdanbakhsh
2012 Dec 07
0
[LLVMdev] Increase the number of registers in ARM
> I almost change all the instruction formats. It was a huge work. I am going > to compile and run it now. We have done the similar work[1] on this topic by gcc and we have start migrate our platform to LLVM. In my experience, you need to take care the follow part: * ARMBaseRegisterInfo::getRegPressureLimit * ARMBaseRegisterInfo::getRawAllocationOrder * CalleeSavedRegs *
2012 Jan 09
3
[LLVMdev] Calling conventions for YMM registers on AVX
On Jan 9, 2012, at 10:00 AM, Jakob Stoklund Olesen wrote: > > On Jan 8, 2012, at 11:18 PM, Demikhovsky, Elena wrote: > >> I'll explain what we see in the code. >> 1. The caller saves XMM registers across the call if needed (according to DEFS definition). >> YMMs are not in the set, so caller does not take care. > > This is not how the register allocator
2012 Jan 10
0
[LLVMdev] Calling conventions for YMM registers on AVX
This is the wrong code: declare <16 x float> @foo(<16 x float>) define <16 x float> @test(<16 x float> %x, <16 x float> %y) nounwind { entry: %x1 = fadd <16 x float> %x, %y %call = call <16 x float> @foo(<16 x float> %x1) nounwind %y1 = fsub <16 x float> %call, %y ret <16 x float> %y1 } ./llc -mattr=+avx
2006 Nov 17
1
[LLVMdev] LLVM backend Issues
Here's the PDF version. On Thu, 2006-11-16 at 20:50 -0800, Chris Lattner wrote: > On Fri, 17 Nov 2006, [ks_c_5601-1987] "̽" wrote: > > > > The attached document contains the present issues I met while developing > > a LLVM backend emits text assembly code for a new architecture. Most of > > them are problems should be resolved. > > I sincerely ask
2007 Feb 14
2
[LLVMdev] Linux/ppc backend
Hi Chris, Chris Lattner wrote: >> 2) Line 369 of PPCInstrInfo.td, we declare the non-callee saved registers. >> However, Linux and Darwin do not have the same set >> of non-callee saved registers. I don't know how to make the if(isDarwin) test >> in here >> > > Take a look at ARM/ARMRegisterInfo.td for an example of this I tried to define Defs just
2010 Sep 03
0
[LLVMdev] [LLVMDev] [Question] How do I get the number of machine registers.
On Sep 3, 2010, at 10:46 AM, Jeff Kunkel wrote: > It's not too much of a problem then. I can make a DenseMap between the registers and my registers. It's just one more intermediate step for a lookup. > > I wish to mimic all the of the registers on the machine with my std::vector<RegisterInfo> RegisterIndexes; vector. Then when a register is used I can assign it easily. I
2007 Feb 02
0
[LLVMdev] Linux/ppc backend
On Fri, 2 Feb 2007, Nicolas Geoffray wrote: > I have almost completed the implementation of a linux/ppc backend in llvm. Cool! > There were a few things to modify in > lib/Target/PowerPC with a lot of "if (!isDarwin)". Some meta comments: 1. Please don't change PPC -> llvmPPC. I assume that you did this because PPC is a #define in some system header. Please