- Feb 08, 2007
-
-
Bill Wendling authored
definition of it into the CodeGen library. This is so that a backend doesn't necessarily add in these writers if it doesn't use them (like in the lli program). llvm-svn: 34034
-
- Nov 15, 2006
-
-
Chris Lattner authored
llvm-svn: 31754
-
- Sep 04, 2006
-
-
Chris Lattner authored
This pass: 1. Splits TargetMachine into TargetMachine (generic targets, can be implemented any way, like the CBE) and LLVMTargetMachine (subclass of TM that is used by things using libcodegen and other support). 2. Instead of having each target fully populate the passmgr for file or JIT output, move all this to common code, and give targets hooks they can implement. 3. Commonalize the target population stuff between file emission and JIT emission. 4. All (native code) codegen stuff now happens in a FunctionPassManager, which paves the way for "fast -O0" stuff in the CFE later, and now LLC could lazily stream .bc files from disk to use less memory. 5. There are now many fewer #includes and the targets don't depend on the scalar xforms or libanalysis anymore (but codegen does). 6. Changing common code generator pass ordering stuff no longer requires touching all targets. 7. The JIT now has the option of "-fast" codegen or normal optimized codegen, which is now orthogonal to the fact that JIT'ing is being done. llvm-svn: 30081
-
- Aug 29, 2006
-
-
Evan Cheng authored
- Also disable isel load folding if -fast. llvm-svn: 29956
-
- Jul 25, 2006
-
-
Evan Cheng authored
method. - Added synchronizeICache() to TargetJITInfo. It is called after each block of code is emitted to flush the icache. This ensures correct execution on targets that have separate dcache and icache. - Added PPC / Mac OS X specific code to do icache flushing. llvm-svn: 29276
-
- Mar 14, 2006
-
-
Evan Cheng authored
llvm-svn: 26742
-
- Feb 17, 2006
-
-
Nate Begeman authored
llvm-svn: 26246
-
- Feb 03, 2006
-
-
Chris Lattner authored
obsolete. yaay :) llvm-svn: 25939
-
- Jan 27, 2006
-
-
Evan Cheng authored
llvm-svn: 25700
-
Evan Cheng authored
llvm-svn: 25679
-
- Jan 26, 2006
-
-
Evan Cheng authored
llvm-svn: 25645
-
- Dec 17, 2005
-
-
Evan Cheng authored
llvm-svn: 24755
-
- Dec 12, 2005
-
-
Chris Lattner authored
llvm-svn: 24671
-
- Nov 15, 2005
-
-
Chris Lattner authored
contributed by Evan Cheng. llvm-svn: 24358
-
- Aug 19, 2005
-
-
Nate Begeman authored
passed. llvm-svn: 22886
-
- Jul 11, 2005
-
-
Chris Lattner authored
after itself. llvm-svn: 22376
-
Chris Lattner authored
llvm-svn: 22372
-
- Jul 06, 2005
-
-
Nate Begeman authored
XMM registers. There are many known deficiencies and fixmes, which will be addressed ASAP. The major benefit of this work is that it will allow the LLVM register allocator to allocate FP registers across basic blocks. The x86 backend will still default to x87 style FP. To enable this work, you must pass -enable-sse-scalar-fp and either -sse2 or -sse3 to llc. An example before and after would be for: double foo(double *P) { double Sum = 0; int i; for (i = 0; i < 1000; ++i) Sum += P[i]; return Sum; } The inner loop looks like the following: x87: .LBB_foo_1: # no_exit fldl (%esp) faddl (%eax,%ecx,8) fstpl (%esp) incl %ecx cmpl $1000, %ecx #FP_REG_KILL jne .LBB_foo_1 # no_exit SSE2: addsd (%eax,%ecx,8), %xmm0 incl %ecx cmpl $1000, %ecx #FP_REG_KILL jne .LBB_foo_1 # no_exit llvm-svn: 22340
-
- Jun 27, 2005
-
-
Chris Lattner authored
currently use: llc t.bc --filetype=obj This will produce a t.o file which is dumpable with readelf. Currently the file produced is empty, but the scaffolding to do more is now in place. llvm-svn: 22292
-
- Apr 22, 2005
-
-
Misha Brukman authored
* Convert tabs to spaces llvm-svn: 21426
-
- Jan 07, 2005
-
-
Chris Lattner authored
llvm-svn: 19332
-
- Aug 24, 2004
-
-
Chris Lattner authored
llvm-svn: 16018
-
- Aug 16, 2004
-
-
Chris Lattner authored
llvm-svn: 15787
-
- Jul 22, 2004
-
-
Chris Lattner authored
again in the future, it can be resurrected out of CVS llvm-svn: 15112
-
- Apr 06, 2004
-
-
Jakub Staszak authored
Tablgen files for really simple instruction selector llvm-svn: 12714
-
- Dec 28, 2003
-
-
Chris Lattner authored
implementation from the TargetMachine directly. llvm-svn: 10636
-
Chris Lattner authored
llvm-svn: 10629
-
- Dec 13, 2003
-
-
Alkis Evlogimenos authored
allocaton on the X86 to add information to the machine code denoting that our floating point stackifier cannot handle virtual point register that are alive across basic blocks. This pass adds an implicit def of all virtual floating point register at the end of each basic block. llvm-svn: 10446
-
- Dec 01, 2003
-
-
Chris Lattner authored
Eventually this pass will provide substantially better code in the interim between when we have a crappy isel and nice isel. Unfortunately doing so requires fixing the backend to actually SUPPORT all of the fancy addressing modes that we now generate, and writing a DCE pass for machine code. Each of these is a fairly substantial job, so this will remain disabled for the immediate future. :( llvm-svn: 10276
-
- Nov 11, 2003
-
-
Brian Gaeke authored
llvm-svn: 9903
-
- Oct 21, 2003
-
-
John Criswell authored
llvm-svn: 9321
-
- Aug 13, 2003
-
-
Brian Gaeke authored
Correct one of the functions' comments. llvm-svn: 7816
-
- Aug 11, 2003
-
-
Chris Lattner authored
the early implementation phases, so it is disabled by default llvm-svn: 7719
-
- Aug 03, 2003
-
-
Chris Lattner authored
llvm-svn: 7542
-
Chris Lattner authored
llvm-svn: 7512
-
- Jul 27, 2003
-
-
Chris Lattner authored
llvm-svn: 7352
-
- Jul 23, 2003
-
-
Brian Gaeke authored
Printer::doFinalization() out in the cold. Now we pass in a TargetMachine to Printer's constructor and get the TargetData from the TargetMachine. Don't pass TargetMachine or MRegisterInfo objects around in the Printer. Constify TargetData references. X86.h: Update comment and prototype of createX86CodePrinterPass(). X86TargetMachine.cpp: Update callers of createX86CodePrinterPass(). llvm-svn: 7275
-
- Jun 03, 2003
-
-
Chris Lattner authored
llvm-svn: 6581
-
- Jan 13, 2003
-
-
Chris Lattner authored
llvm-svn: 5227
-
- Dec 28, 2002
-
-
Chris Lattner authored
* New createPrologEpilogCodeInserter() function llvm-svn: 5181
-