Displaying 20 results from an estimated 118 matches for "is64bit".
2008 Jul 08
3
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...CustomDAGSchedInserter = 1 in {
> + let Uses = [CR0] in {
> + let Uses = [R0] in
> + def ATOMIC_LOAD_ADD_I32 : Pseudo<
>
> The "let Uses = [R0]" is not needed. The pseudo instruction will be
> expanded like this later:
>
> + BuildMI(BB, TII->get(is64bit ? PPC::LDARX : PPC::LWARX), dest)
> + .addReg(ptrA).addReg(ptrB);
> + BuildMI(BB, TII->get(is64bit ? PPC::ADD4 : PPC::ADD8), PPC::R0)
> + .addReg(incr).addReg(dest);
> + BuildMI(BB, TII->get(is64bit ? PPC::STDCX : PPC::STWCX))
> + .addReg(PPC::R0).addReg(pt...
2014 Mar 13
3
[LLVMdev] Possible bug in getCallPreservedMask for CallingConv::Intel_OCL_BI
..._source.html
case CallingConv::Intel_OCL_BI <http://llvm.org/docs/doxygen/html/namespacellvm_1_1CallingConv.html#a4f861731fc6dbfdccc05af5968d98974ad47327c131a0990283111588b89587cb>: {
if (IsWin64 && HasAVX512)
return CSR_Win64_Intel_OCL_BI_AVX512_RegMask;
if (Is64Bit && HasAVX512)
return CSR_64_Intel_OCL_BI_AVX512_RegMask;
if (IsWin64 && HasAVX)
return CSR_Win64_Intel_OCL_BI_AVX_RegMask;
if (Is64Bit && HasAVX)
return CSR_64_Intel_OCL_BI_AVX_RegMask;
if (!HasAVX && !IsWin64 &&...
2010 Mar 03
0
[LLVMdev] [PATCH] New calling convention for use by GHC
...the GHC calling conv intended to be target specific? If it is x86 specific, it should get an X86 prefix. If not, it should move up to be #10 after Cold.
2) In either case, please document the new calling convention in docs/LangRef.html#callingconv
3) IN X86RegisterInfo.cpp, this patch:
if (Is64Bit) {
if (IsWin64)
- return CalleeSavedRegsWin64;
+ return (ghcCall ? GhcCalleeSavedRegsWin64 : CalleeSavedRegsWin64);
else
- return (callsEHReturn ? CalleeSavedRegs64EHRet : CalleeSavedRegs64Bit);
+ if (ghcCall)
+ return (callsEHReturn ?
+ GhcCall...
2010 Mar 07
1
[LLVMdev] [PATCH] New calling convention for use by GHC
...ust x86 and SPARC at the moment. At the moment I've just
done X86, will try to work on getting it implemented on SPARC next.
> 2) In either case, please document the new calling convention in docs/LangRef.html#callingconv
Done.
> 3) IN X86RegisterInfo.cpp, this patch:
>
> if (Is64Bit) {
> if (IsWin64)
> - return CalleeSavedRegsWin64;
> + return (ghcCall ? GhcCalleeSavedRegsWin64 : CalleeSavedRegsWin64);
> else
> - return (callsEHReturn ? CalleeSavedRegs64EHRet : CalleeSavedRegs64Bit);
> + if (ghcCall)
> + return (calls...
2011 Oct 13
0
[LLVMdev] llvm-objdump related patch
...patch according to your suggestion. And I have read
> binutil/objdump source code and found that it has a logic that if there's no
> symtab, it will use dynsym, which is missing in llvm-objdump.
>
> Songmao
>
@@ -747,12 +747,28 @@ error_code ELFObjectFile<target_endianness, is64Bits>
template<support::endianness target_endianness, bool is64Bits>
error_code ELFObjectFile<target_endianness, is64Bits>
::sectionContainsSymbol(DataRefImpl Sec,
DataRefImpl Symb,...
2008 Jul 08
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...n {
>> + let Uses = [CR0] in {
>> + let Uses = [R0] in
>> + def ATOMIC_LOAD_ADD_I32 : Pseudo<
>>
>> The "let Uses = [R0]" is not needed. The pseudo instruction will be
>> expanded like this later:
>>
>> + BuildMI(BB, TII->get(is64bit ? PPC::LDARX : PPC::LWARX), dest)
>> + .addReg(ptrA).addReg(ptrB);
>> + BuildMI(BB, TII->get(is64bit ? PPC::ADD4 : PPC::ADD8), PPC::R0)
>> + .addReg(incr).addReg(dest);
>> + BuildMI(BB, TII->get(is64bit ? PPC::STDCX : PPC::STWCX))
>> + .addRe...
2011 Oct 12
2
[LLVMdev] llvm-objdump related patch
Michael,
I have rework the patch according to your suggestion. And I have
read binutil/objdump source code and found that it has a logic that if
there's no symtab, it will use dynsym, which is missing in llvm-objdump.
Songmao
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-Fix-the-address-calculation-for-llvm-objdump.patch
Type: text/x-patch
2010 Mar 03
2
[LLVMdev] [PATCH] New calling convention for use by GHC
Hi all,
As previously mentioned on this list the Haskell compiler GHC has a new
LLVM based back-end. The back-end needs a new calling convention to
efficiently use LLVM and that is what this patch does, just for X86 at
the moment.
Breakdown:
1) Need actual calling convention
Touches:
- include/llvm/CallingConv.h
- lib/Target/X86/X86CallingConv.td
2) Handling new calling
2003 May 15
2
R as 64 bit application
In a package test I have a problem that needs over 4G of memory. This requires
that I use R compiled as a 64 bit application. Is there a way within R to test
if R has been compile as a 64 bit application? This would allow me to
automatically skip the test when I know it is going to fail.
Thanks,
Paul Gilbert
2003 May 15
2
R as 64 bit application
In a package test I have a problem that needs over 4G of memory. This requires
that I use R compiled as a 64 bit application. Is there a way within R to test
if R has been compile as a 64 bit application? This would allow me to
automatically skip the test when I know it is going to fail.
Thanks,
Paul Gilbert
2008 Jul 04
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...t. But I do have one comment:
+let usesCustomDAGSchedInserter = 1 in {
+ let Uses = [CR0] in {
+ let Uses = [R0] in
+ def ATOMIC_LOAD_ADD_I32 : Pseudo<
The "let Uses = [R0]" is not needed. The pseudo instruction will be
expanded like this later:
+ BuildMI(BB, TII->get(is64bit ? PPC::LDARX : PPC::LWARX), dest)
+ .addReg(ptrA).addReg(ptrB);
+ BuildMI(BB, TII->get(is64bit ? PPC::ADD4 : PPC::ADD8), PPC::R0)
+ .addReg(incr).addReg(dest);
+ BuildMI(BB, TII->get(is64bit ? PPC::STDCX : PPC::STWCX))
+ .addReg(PPC::R0).addReg(ptrA).addReg(ptrB);
The se...
2008 Jul 10
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Evan Cheng wrote:
> How about?
>
> const TargetRegisterClass *RC = is64Bit ? &PPC:GPRCRegClass :
> &PPC:G8RCRegClass;
> unsigned TmpReg = RegInfo.createVirtualRegister(RC);
I tried something like that yesterday:
const TargetRegisterClass *RC =
is64bit ? &PPC::GPRCRegClass : &PPC::G8RCRegClass;
but I kept getting this error no matter how I...
2008 Jul 10
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
Just cast both values to const TargetRegisterClass*.
Evan
On Jul 10, 2008, at 7:36 AM, Gary Benson wrote:
> Evan Cheng wrote:
>> How about?
>>
>> const TargetRegisterClass *RC = is64Bit ? &PPC:GPRCRegClass :
>> &PPC:G8RCRegClass;
>> unsigned TmpReg = RegInfo.createVirtualRegister(RC);
>
> I tried something like that yesterday:
>
> const TargetRegisterClass *RC =
> is64bit ? &PPC::GPRCRegClass : &PPC::G8RCRegClass;
>
> but I kept...
2008 Jul 10
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...patch attached...
Cheers,
Gary
Evan Cheng wrote:
> Just cast both values to const TargetRegisterClass*.
>
> Evan
>
> On Jul 10, 2008, at 7:36 AM, Gary Benson wrote:
> > Evan Cheng wrote:
> > > How about?
> > >
> > > const TargetRegisterClass *RC = is64Bit ? &PPC:GPRCRegClass :
> > > &PPC:G8RCRegClass;
> > > unsigned TmpReg = RegInfo.createVirtualRegister(RC);
> >
> > I tried something like that yesterday:
> >
> > const TargetRegisterClass *RC =
> > is64bit ? &PPC::GPRCRegClass : &PP...
2008 Jul 02
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...I), MI->getOperand(0).getReg())
+ .addReg(MI->getOperand(3).getReg()).addMBB(copy0MBB)
+ .addReg(MI->getOperand(2).getReg()).addMBB(thisMBB);
+ }
+ else if (MI->getOpcode() == PPC::ATOMIC_LOAD_ADD_I32 ||
+ MI->getOpcode() == PPC::ATOMIC_LOAD_ADD_I64) {
+ bool is64bit = MI->getOpcode() == PPC::ATOMIC_LOAD_ADD_I64;
+
+ unsigned dest = MI->getOperand(0).getReg();
+ unsigned ptrA = MI->getOperand(1).getReg();
+ unsigned ptrB = MI->getOperand(2).getReg();
+ unsigned incr = MI->getOperand(3).getReg();
+
+ MachineBasicBlock *loopMBB = new...
2008 Jul 09
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...I), MI->getOperand(0).getReg())
+ .addReg(MI->getOperand(3).getReg()).addMBB(copy0MBB)
+ .addReg(MI->getOperand(2).getReg()).addMBB(thisMBB);
+ }
+ else if (MI->getOpcode() == PPC::ATOMIC_LOAD_ADD_I32 ||
+ MI->getOpcode() == PPC::ATOMIC_LOAD_ADD_I64) {
+ bool is64bit = MI->getOpcode() == PPC::ATOMIC_LOAD_ADD_I64;
+
+ unsigned dest = MI->getOperand(0).getReg();
+ unsigned ptrA = MI->getOperand(1).getReg();
+ unsigned ptrB = MI->getOperand(2).getReg();
+ unsigned incr = MI->getOperand(3).getReg();
+
+ MachineBasicBlock *loopMBB = new...
2008 Jul 08
2
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...{
> >> + let Uses = [R0] in
> >> + def ATOMIC_LOAD_ADD_I32 : Pseudo<
> >>
> >> The "let Uses = [R0]" is not needed. The pseudo instruction will be
> >> expanded like this later:
> >>
> >> + BuildMI(BB, TII->get(is64bit ? PPC::LDARX : PPC::LWARX), dest)
> >> + .addReg(ptrA).addReg(ptrB);
> >> + BuildMI(BB, TII->get(is64bit ? PPC::ADD4 : PPC::ADD8), PPC::R0)
> >> + .addReg(incr).addReg(dest);
> >> + BuildMI(BB, TII->get(is64bit ? PPC::STDCX : PPC::STWCX))
&g...
2008 Jul 11
0
[LLVMdev] Implementing llvm.atomic.cmp.swap.i32 on PowerPC
...> Evan Cheng wrote:
>> Just cast both values to const TargetRegisterClass*.
>>
>> Evan
>>
>> On Jul 10, 2008, at 7:36 AM, Gary Benson wrote:
>>> Evan Cheng wrote:
>>>> How about?
>>>>
>>>> const TargetRegisterClass *RC = is64Bit ? &PPC:GPRCRegClass :
>>>> &PPC:G8RCRegClass;
>>>> unsigned TmpReg = RegInfo.createVirtualRegister(RC);
>>>
>>> I tried something like that yesterday:
>>>
>>> const TargetRegisterClass *RC =
>>> is64bit ? &PPC::GPRCR...
2008 Mar 27
0
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
...t?
Index: lib/Target/X86/X86Subtarget.h
===================================================================
--- lib/Target/X86/X86Subtarget.h (revision 48879)
+++ lib/Target/X86/X86Subtarget.h (working copy)
@@ -144,9 +144,12 @@
std::string getDataLayout() const {
const char *p;
- if (is64Bit())
- p = "e-p:64:64-s:64-f64:64:64-i64:64:64-f80:128:128";
- else {
+ if (is64Bit()) {
+ if (isTargetDarwin())
+ p = "e-p:64:64-s:64-f64:64:64-i64:64:64-f80:128:128";
+ else
+ p = "e-p:64:64-s:64-f64:64:64-i64:64:64-f80:32:32";
+ }...
2008 Mar 27
1
[LLVMdev] llvm-gcc 4.2 assertion failed on linux x86_64
...et.h
> ===================================================================
> --- lib/Target/X86/X86Subtarget.h (revision 48879)
> +++ lib/Target/X86/X86Subtarget.h (working copy)
> @@ -144,9 +144,12 @@
>
> std::string getDataLayout() const {
> const char *p;
> - if (is64Bit())
> - p = "e-p:64:64-s:64-f64:64:64-i64:64:64-f80:128:128";
> - else {
> + if (is64Bit()) {
> + if (isTargetDarwin())
> + p = "e-p:64:64-s:64-f64:64:64-i64:64:64-f80:128:128";
> + else
> + p = "e-p:64:64-s:64-f64:64:6...