Displaying 18 results from an estimated 18 matches for "reg1031".
Did you mean:
reg1030
2006 Jun 30
3
[LLVMdev] Removing dead code
...x8602d30):
%reg1024 = OR4 %r3, %r3
%reg1025 = OR4 %r4, %r4
%reg1026 = LWZ 0, %reg1025
%reg1027 = LIS <ga:.str_1>
%reg1028 = LIS <ga:.str_2>
%reg1029 = LBZ 0, %reg1026
ADJCALLSTACKDOWN 56
%reg1030 = IMPLICIT_DEF_GPR
%reg1031 = LA %reg1027, <ga:.str_1>
%r3 = OR4 %reg1031, %reg1031
BL <ga:printf>, %r3
%reg1032 = OR4 %r3, %r3 <-------------------
%reg1033 = EXTSB %reg1029
%reg1034 = LA %reg1028, <ga:.str_2>
ADJCALLSTACKUP 56
ADJCALLSTACKDOWN...
2010 Sep 09
2
[LLVMdev] Possible missed optimization? 2.0
...Joined. Result = R15,inf = [0,38:0)[110,118:2)[118,146:1) 0 at 0*-(38) 1 at 118-(146) 2 at 110-(118)
132 %R14<def> = MOVRdRr %reg1029<kill>
Inspecting %reg1029,0.000000e+00 = [62,134:0) 0 at 62-(134) and R14,inf = [0,94:0)[134,146:1) 0 at 0*-(94) 1 at 134-(146): Interference!
76 %reg1031<def> = MOVRdRr %R1<kill>
Inspecting R1,inf = [38,39:1)[54,78:0)[94,95:2) 0 at 54-(78) 1 at 38-(39) 2 at 94-(95) and %reg1031,0.000000e+00 = [78,86:1)[86,118:0) 0 at 86-(118) 1 at 78-(86): Interference!
108 %R15<def> = MOVRdRr %R0<kill>
Can not coalesce physregs.
44 %reg...
2006 Jun 30
0
[LLVMdev] Removing dead code
On Thu, 29 Jun 2006, Fernando Magno Quintao Pereira wrote:
> I am working in a register allocator for LLVM, and I realized that,
> after I perform register allocation, there is many move instructions that
> are dead code, and can safely be removed. It is easy for the RA algorithm
> to remove these instructions. It seems to me that the only instructions
> with dead definitions
2006 Jun 30
2
[LLVMdev] Removing dead code
Dear guys,
I am working in a register allocator for LLVM, and I realized that,
after I perform register allocation, there is many move instructions that
are dead code, and can safely be removed. It is easy for the RA algorithm
to remove these instructions. It seems to me that the only instructions
with dead definitions that I should not remove are the calls. Is it true?
I would like to know
2004 Jul 06
1
[LLVMdev] Moving between registers of different classes
...o even boundary. Since address
register can't be AND-ed with anything, I move the value into general purpose
register, to "and" and then move it into address register. Unfortunately, the
register allocator crashes. Here's machine code:
%reg1030 = - %reg1027, 1
%reg1031 = move %reg1030
%reg1032 = + %reg1031, -2
%reg1033 = move %reg1032
%ar1 = load64 %gr1<def>, %reg1033
and here's assertion:
llc: LiveIntervals.cpp:507: void llvm::LiveIntervals::joinIntervals():
Assertion `rcA == rcB && "registers must be of the same...
2009 Jan 09
2
[LLVMdev] implicit CC register Defs cause "physreg was not killed in defining block!" assert
...imp-def>
%reg1096<def> = addC %reg1029<kill>, 0, %CCFLAGS<imp-def>
%reg1097<def> = addC %reg1033<kill>, 0, %CCFLAGS<imp-def>
%reg1098<def> = addC %reg1028<kill>, 0, %CCFLAGS<imp-def>
%reg1099<def> = addC %reg1031<kill>, 0, %CCFLAGS<imp-def>
%reg1100<def> = addC %reg1030, 0, %CCFLAGS<imp-def>
%reg1101<def> = addC %reg1032<kill>, 0, %CCFLAGS<imp-def>
%reg1102<def> = addC %reg1030<kill>, 0, %CCFLAGS<imp-def>
br mbb<i...
2010 Aug 11
1
[LLVMdev] Need advice on writing scheduling pass
...eg0
%reg1030<def> = MOVr %reg1027<kill>, pred:14, pred:%reg0, opt:%reg0
%reg1037<def>, %reg1030<def> = LDR_POST %reg1030, %reg0, 4, pred:14,
pred:%reg0
%reg1029<def> = ADDrr %reg1037<kill>, %reg1028, pred:14, pred:%reg0,
opt:%reg0
%reg1031<def> = SUBri %reg1026<kill>, 1, pred:14, pred:%reg0,
opt:%reg0
CMPzri %reg1031, 0, pred:14, pred:%reg0, %CPSR<imp-def>
%reg1038<def> = MOVr %reg1031<kill>, pred:14, pred:%reg0, opt:%reg0
%reg1039<def> = MOVr %reg1030<kill>, pred:14,...
2009 Jan 09
0
[LLVMdev] implicit CC register Defs cause "physreg was not killed in defining block!" assert
...%reg1096<def> = addC %reg1029<kill>, 0, %CCFLAGS<imp-def>
> %reg1097<def> = addC %reg1033<kill>, 0, %CCFLAGS<imp-def>
> %reg1098<def> = addC %reg1028<kill>, 0, %CCFLAGS<imp-def>
> %reg1099<def> = addC %reg1031<kill>, 0, %CCFLAGS<imp-def>
> %reg1100<def> = addC %reg1030, 0, %CCFLAGS<imp-def>
> %reg1101<def> = addC %reg1032<kill>, 0, %CCFLAGS<imp-def>
> %reg1102<def> = addC %reg1030<kill>, 0, %CCFLAGS<imp-def>
>...
2010 May 18
2
[LLVMdev] Fast register allocation
...eters for a call:
%reg1028<def> = MOV32rm <fi#2>, 1, %reg0, 0, %reg0
%reg1029<def> = MOV32rm <fi#2>, 1, %reg0, 4, %reg0
ADJCALLSTACKDOWN64 0, %RSP<imp-def>, %EFLAGS<imp-def>, %RSP<imp-use>
%reg1030<def> = LEA64r %RIP, 1, %reg0, <ga:@.str>
%reg1031<def> = MOV8r0 %EFLAGS<imp-def,dead>
%RDI<def> = MOV64rr %reg1030
%ESI<def> = MOV32rr %reg1028
%EDX<def> = MOV32rr %reg1029
%AL<def> = MOV8rr %reg1031
CALL64pcrel32 <ga:@printf>, %RDI, %ESI, %EDX, %AL, %RAX<imp-def>, %RDX<imp-def>, %RSI<i...
2006 Jun 26
2
[LLVMdev] Mapping bytecode to X86
...%reg1028 = ADD32rr %reg1026, %reg1027
%reg1029 = IMUL32rr %reg1028, %reg1027
MOV32mr %ESP, 1, %NOREG, 4, %reg1029
MOV32mi %ESP, 1, %NOREG, 0, <ga:.str_1>
CALLpcrel32 <ga:printf>
ADJCALLSTACKUP 8, 0
%reg1030 = MOV32rr %EAX
%reg1031 = IMPLICIT_DEF_GR32
%EAX = MOV32rr %reg1031
RET
My allocator produces this mapping:
FNSTCW16m :=
MOV8mi :=
FLDCW16m :=
MOV32rm EAX :=
MOV32rm EAX := EAX
MOVSX32rm8 ECX := EAX
MOVSX32rm8 EAX := EAX...
2007 Jul 12
1
[LLVMdev] backend problem with LiveInterval::removeRange
...Final schedule ***
SU(0): 0x88c8eb0: ch = EntryToken
SU(1): 0x88c8f08: i32 = ADDiu 0x88c8bf0, 0x88c90f8
SU(2): 0x88c9298: ch = SW 0x88c8f08, 0x88c8800, 0x88c8c88, 0x88c8eb0
Selected machine code:
cond_false: 0x88c7db8, LLVM BB @0x88be190, ID#2:
Predecessors according to CFG: 0x88c7918 (#0)
%reg1031 = ADDiu %ZERO, 17000
SW %reg1031, 0, <fi#3>
Successors according to CFG: 0x88c7e48 (#3)
Total amount of phi nodes to update: 0
Lowered selection DAG:
SelectionDAG has 11 nodes:
0x88c8bf0: ch = EntryToken
0x88c87e0: i32 = FrameIndex <3>
0x88c90f8: <multiple use>...
2010 Apr 15
0
[LLVMdev] Question About Cloning Machine Basic Block
On Wed, 2010-04-14 at 17:30 -0700, Hisham Chowdhury wrote:
>
>
>
> - Is there a utility to clone a MachineBasicBlock in LLVM
>
>
>
>
>
>
There is CloneBasicBlock routine
in ./lib/Transforms/Utils/CloneFunction.cpp
- Sanjiv
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu
2004 Jun 22
3
[LLVMdev] Linearscan allocator bug?
...ntry.selecttrue (0x80659d0, LLVM BB @0x80639b0):
%reg1070 = move 1
entry.selectcont (0x8065a30, LLVM BB @0x80638b0):
%reg1030 = phi %reg1070, mbb<entry.selecttrue,0x80659d0>, %reg1071, mbb<entry,0x8065970>
%reg1029 = move %reg1030
shortcirc_next.0 (0x8065a90, LLVM BB @0x805ffc8):
%reg1031 = move 1
setcc %reg1026, %reg1031
if v< goto %disp(label shortcirc_next.0.selecttrue)
%reg1073 = move 0
goto %disp(label shortcirc_next.0.selectcont)
shortcirc_next.0.selecttrue (0x8065af0, LLVM BB @0x8063bb0):
%reg1072 = move 1
shortcirc_next.0.selectcont (0x8065b50, LLVM BB @0x8063b08):...
2009 Feb 13
3
[LLVMdev] Modeling GPU vector registers, again (with my implementation)
...// each %reg is a sub-register
// r1, r2, r3, r4 here are virtual register number
mul %reg1024, r1, r2 // x
mul %reg1025, r1, r2 // y
mul %reg1026, r1, r2 // z
add %reg1027, r3, r4 // w
sub %reg1028, %reg1024, r1
sub %reg1029, %reg1025, r1
sub %reg1030, %reg1026, r1
sub %reg1031, %reg1027, r1
So I decided to model each 4-element register as one Register in *.td file.
Here are the details.
Since all the 4 elements of a vector register occupy the same 'alloca',
during the conversion of shader assembly to LLVM IR, I check if a vector
register is written (to differe...
2010 Apr 15
1
[LLVMdev] Question About Cloning Machine Basic Block
Hello,
I am trying to clone a machine basic block when I ran into some issues, where I am not able to make some headway. Any of yours help is highly appreciated here:
My question is about Machine Basic Block Duplication:
- Is there a utility to clone a MachineBasicBlock in LLVM? I found utility to clone machineInstrs, but couldn’t find similar utility for MachineBasicBlock. So, I
2009 Jan 12
1
[LLVMdev] implicit CC register Defs cause "physreg was not killed in defining block!" assert
...1096<def> = addC %reg1029<kill>, 0, %CCFLAGS<imp-def>
>> %reg1097<def> = addC %reg1033<kill>, 0, %CCFLAGS<imp-def>
>> %reg1098<def> = addC %reg1028<kill>, 0, %CCFLAGS<imp-def>
>> %reg1099<def> = addC %reg1031<kill>, 0, %CCFLAGS<imp-def>
>> %reg1100<def> = addC %reg1030, 0, %CCFLAGS<imp-def>
>> %reg1101<def> = addC %reg1032<kill>, 0, %CCFLAGS<imp-def>
>> %reg1102<def> = addC %reg1030<kill>, 0, %CCFLAGS<imp-def...
2009 Feb 13
0
[LLVMdev] Modeling GPU vector registers, again (with my implementation)
...4 here are virtual register number
>
> mul %reg1024, r1, r2 // x
> mul %reg1025, r1, r2 // y
> mul %reg1026, r1, r2 // z
>
> add %reg1027, r3, r4 // w
>
> sub %reg1028, %reg1024, r1
> sub %reg1029, %reg1025, r1
> sub %reg1030, %reg1026, r1
> sub %reg1031, %reg1027, r1
>
> So I decided to model each 4-element register as one Register in
> *.td file.
>
> Here are the details.
>
> Since all the 4 elements of a vector register occupy the same
> 'alloca',
> during the conversion of shader assembly to LLVM IR, I che...
2010 Sep 04
3
[LLVMdev] Possible missed optimization?
On Sep 4, 2010, at 11:21 AM, Borja Ferrer wrote:
> I've noticed this pattern happening with other operators aswell, but used xor in this example. As i said before, i tried with different register allocation orders, but it will produce always the same result. GCC is emitting longer code, but since LLVM is so nearer to the optimal code sequence i wanted to reach it.
In LLVM, copies are