similar to: [LLVMdev] Makefile for SPEC 2000

Displaying 20 results from an estimated 10000 matches similar to: "[LLVMdev] Makefile for SPEC 2000"

2007 Dec 13
1
[LLVMdev] Puzzle solver on LLVM 2.1
Dear guys, I've put the puzzle solver running on LLVM 2.1. Well, at least partially, for it is failing three of SPEC2000 benchmarks. I will try to debug it now. The results are not as good as before. I mean, the puzzle solver is still the same, but the default allocator is producing very good code now. Even though, the puzzle solver produces faster code for half the benchmarks. It
2007 Feb 25
1
[LLVMdev] 254.gap SPEC2000
Dear guys, I am writing some scripts to allow me to compile the programs in SPEC2000 using llvm-gcc. I have been successfull with almost all of them, but need some help with 254.gap. I am producing a .bc file using llvm-gcc, and then a .s using llc. Then I use gcc to produce an executable. In this last phase, I am getting: /usr/bin/ld: Undefined symbols: _SyLibname _SyMemory _SyTime
2008 Jan 27
2
[LLVMdev] BreakCriticalMachineEdge.h
Hi LLVMers, what is the status of breaking critical edges in machine functions? I just compiled the top of the LLVM tree, and I found llvm/CodeGen/BreakCriticalMachineEdge.h. But this file seems not to be up-to-date with the other classes in the top of the tree. For instance, it calls isTerminatorInstr on llvm::TargetInstrInfo, but this method is no longer there. If I want to break
2007 Apr 03
5
[LLVMdev] Graph Coloring Regalloc
I'm just starting to dive into llvm, hoping to implement a good graph coloring register allocator. I gather that this has been discussed before. What is the RegAllocGraphColoring.cpp currently in the sources? It seems to be the Fred Chow algorithm but it's not mentioned in the documentation anywhere. Does it work? -Dave
2007 Apr 03
0
[LLVMdev] Graph Coloring Regalloc
On 4/3/07, David Greene <greened at obbligato.org> wrote: > > I'm just starting to dive into llvm, hoping to implement a > good graph coloring register allocator. I gather that this > has been discussed before. > > What is the RegAllocGraphColoring.cpp currently in the > sources? It seems to be the Fred Chow algorithm but > it's not mentioned in the
2007 Aug 17
2
[LLVMdev] MBB Critical edges
Thanks, Evan. Actually I've solved my problem with some hints from Dale and Anton. At least I think I've solved it. I had to add one method to TargetInstrInfo to tell me when an instruction is an indirect jump - TargetInstrInfo::tii.isIndirectJump(opcode). When that is the case, I update the jump table using: // Change jumps to go to the new basic block:
2007 Apr 03
1
[LLVMdev] Graph Coloring Regalloc
Hey, Anton, yes, I have an implementation of a register allocator for LLVM. I Don't build the interference graph though. I perform a linear scan on the dominator tree. The difference from my algorithm to LLVM's linear scan is that I perform register allocation before the SSA-elimination step. I have it working, but did not commit, because I did not implement it using LLVM's
2008 Jan 27
0
[LLVMdev] BreakCriticalMachineEdge.h
Fernando, The code there should be more or less functional, though it's not currently used by anything. Eventually it should probably be moved to a method on MachineBasicBlock. The API breakage you're seeing is because some methods moved around. Feel free to fix it. :-) --Owen On Jan 26, 2008, at 6:31 PM, Fernando Magno Quintao Pereira wrote: > > Hi LLVMers, > >
2007 Nov 23
2
[LLVMdev] global register allocation.
On 11/23/07, Fernando Magno Quintao Pereira <fernando at cs.ucla.edu> wrote: > > > Hi, Sanjiv, > > those passes operate on the whole machine function. Each machine > function contains many basic blocks. If a program has many functions, the > register allocator will be called as many times, i.e it does not do > interprocedural allocation. > > best, > >
2007 Dec 16
3
[LLVMdev] Question about coalescing
Dear guys, I want to coalesce some copies, and I would like to know if there is any method that I can call, like JoinCopy from the old (LLVM 1.9) LiveIntervals class. I found it in SimpleRegisterCoalescing (LLVM 2.1), but I do not want to call this analysis, as I have my own. basically, I can determine that two virtuals do not overlap, and I know that it is safe to join them. In
2020 Feb 22
3
The AnghaBench collection of compilable programs
Hi Florian, we though about using UIUC, like in LLVM. Do you guys know if that could be a problem, given that we are mining the functions from github? > Have you thought about integrating the benchmarks as external tests into LLVM’s test-suite? That would make it very easy to play around with. We did not think about it actually. But we would be happy to do it, if the community accepts
2007 Apr 12
0
[LLVMdev] Regalloc Refactoring
>> And I have a quite fast algo that I believe is simpler than [Budimlic02] >> and I can share it with you :) > > Do you have a paper on this? I'd be interested in seeing it. > Yes, I have a tech report on this page: http://compilers/fernando/projects/soc/ and I have submitted a paper to SAS, and now I am waiting for the review. The coalescing algorithm is described in
2007 Nov 23
0
[LLVMdev] global register allocation.
Hi, again, I think you can do it in the same way that the other allocators have been coded, i.e extend RA, register the pass and so forth. I am not sure about the best way to pass information among a run of RegAlloc to the other, maybe the other guys in the list could suggest something. Yet, you can always dump it into a file, and read it again, everytime it is necessary. Remember that
2007 Nov 25
1
[LLVMdev] global register allocation.
Thanks again. One more question here: Since the regalloc works once per function, do I stil have access to the Call graph? Just saving information between regalloc passes for different functions may not be enough for my case. I will need to maintain the regalloc info of various passes in the call graph order. Anyways thanks for your inputs. I will get back if I need to learn more. Sanjiv On Nov
2007 Apr 12
4
[LLVMdev] Regalloc Refactoring
> And I have a quite fast algo that I believe is simpler than [Budimlic02] > and I can share it with you :) Do you have a paper on this? I'd be interested in seeing it. -Tanya > > Fernando > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >
2007 Feb 22
2
[LLVMdev] Reference to recently created move
Hey, guys, I am creating some move instructions with MRegisterInfo::copyRegToReg. How do I get a pointer to the instruction that I just created? Is there a way to do something like: // mbb is MachineBasicBlock, reg_info is MRegisterInfo MachineBasicBlock::iterator iter = mbb.getFirstTerminator(); reg_info->copyRegToReg(mbb, iter, dst, src, rc); iter--; (???) MachineInstr *
2007 Jul 13
3
[LLVMdev] NO-OP
Guys, I am in need of a no-op instruction: an instruction that does not do anything, and has no operands. Does LLVM predefine such an instruction? I want to transform the program so that there is no empty basic block. Fernando
2007 Aug 17
2
[LLVMdev] Debugger for Register Allocation
Hi guys, I have been using a debugger for my register allocator. The debugger happened to be very useful at catching register assignment errors. I've put the debugger on-line, if anyone who is working with register allocation wants to use. The debugger itself has nothing to do with LLVM, but I've coded a spiller that prints the code in a format that the debugger can read. The
2007 Jul 03
2
[LLVMdev] Swaps of FP registers
Dear guys, what is the best way to implement a swap of floating point registers in X86? For the integer registers, I am using xchg. Is there a similar instruction for floating point? My function to insert swaps is like: void X86RegisterInfo::swapRegs( MachineBasicBlock & mbb, MachineBasicBlock::iterator mi, unsigned r1, unsigned r2, const TargetRegisterClass
2007 Sep 25
2
[LLVMdev] Profiling llc
Hey guys, I am trying to speed up some of my LLVM/llc passes. Is there a way to use something like gprof on llc? If not, do you guys know anything that I can use to discover which routines of my passes are taking most of the time? thanks, Fernando