Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | x86 CPU detection and proper subtarget support | Evan Cheng | 2006-01-27 | 1 | -36/+1 |
| | | | | llvm-svn: 25679 | ||||
* | Added preliminary x86 subtarget support. | Evan Cheng | 2006-01-26 | 1 | -2/+12 |
| | | | | llvm-svn: 25645 | ||||
* | Add explicit #includes of <iostream> | Chris Lattner | 2006-01-22 | 1 | -0/+1 |
| | | | | llvm-svn: 25515 | ||||
* | Stop doing that accidental commit. | Evan Cheng | 2006-01-20 | 1 | -1/+1 |
| | | | | llvm-svn: 25474 | ||||
* | A few more SH{L|R}D peepholes. | Evan Cheng | 2006-01-20 | 1 | -1/+1 |
| | | | | llvm-svn: 25473 | ||||
* | Didn't mean to commit the last one. | Evan Cheng | 2006-01-19 | 1 | -1/+1 |
| | | | | llvm-svn: 25469 | ||||
* | Added i16 SH{L|R}D patterns. | Evan Cheng | 2006-01-19 | 1 | -1/+1 |
| | | | | llvm-svn: 25468 | ||||
* | SSE2 floating point load / store patterns. SSE2 fp to int conversion patterns. | Evan Cheng | 2005-12-20 | 1 | -0/+3 |
| | | | | llvm-svn: 24886 | ||||
* | Only lower SELECT when using DAG based isel. | Evan Cheng | 2005-12-17 | 1 | -4/+7 |
| | | | | llvm-svn: 24755 | ||||
* | remove some never-completed and now-obsolete code. | Chris Lattner | 2005-12-12 | 1 | -11/+0 |
| | | | | llvm-svn: 24671 | ||||
* | initial step at adding a dag-to-dag isel for X86 backend. Patch contributed | Chris Lattner | 2005-11-16 | 1 | -2/+11 |
| | | | | | | by Evan Cheng! llvm-svn: 24371 | ||||
* | Separate X86ISelLowering stuff out from the X86ISelPattern.cpp file. Patch | Chris Lattner | 2005-11-15 | 1 | -2/+2 |
| | | | | | | contributed by Evan Cheng. llvm-svn: 24358 | ||||
* | Add a new option to indicate we want the code generator to emit code ↵ | Chris Lattner | 2005-11-08 | 1 | -1/+2 |
| | | | | | | quickly,not spending tons of time microoptimizing it. This is useful for an -O0style of build. llvm-svn: 24233 | ||||
* | 1. Use SubtargetFeatures in llc/lli. | Jim Laskey | 2005-09-01 | 1 | -2/+4 |
| | | | | | | | | 2. Propagate feature "string" to all targets. 3. Implement use of SubtargetFeatures in PowerPCTargetSubtarget. llvm-svn: 23192 | ||||
* | Remove the X86 and PowerPC Simple instruction selectors; their time has | Nate Begeman | 2005-08-18 | 1 | -10/+4 |
| | | | | | | passed. llvm-svn: 22886 | ||||
* | Eliminate all remaining tabs and trailing spaces. | Jeff Cohen | 2005-07-27 | 1 | -1/+1 |
| | | | | llvm-svn: 22523 | ||||
* | Implement Subtarget support | Nate Begeman | 2005-07-12 | 1 | -1/+3 |
| | | | | | | | | | | | | | | | | Implement the X86 Subtarget. This consolidates the checks for target triple, and setting options based on target triple into one place. This allows us to convert the asm printer and isel over from being littered with "forDarwin", "forCygwin", etc. into just having the appropriate flags for each subtarget feature controlling the code for that feature. This patch also implements indirect external and weak references in the X86 pattern isel, for darwin. Next up is to convert over the asm printers to use this new interface. llvm-svn: 22389 | ||||
* | Refactor things a bit to allow the ELF code emitter to run the X86 machine ↵ | Chris Lattner | 2005-07-11 | 1 | -1/+8 |
| | | | | | | | | code emitter after itself. llvm-svn: 22376 | ||||
* | First round of support for doing scalar FP using the SSE2 ISA extension and | Nate Begeman | 2005-07-06 | 1 | -2/+7 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | ||||
* | Add support to the X86 backend for emitting ELF files. To use this, we | Chris Lattner | 2005-06-27 | 1 | -2/+15 |
| | | | | | | | | | 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 | ||||
* | Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFile | Chris Lattner | 2005-06-25 | 1 | -3/+5 |
| | | | | | | interface. llvm-svn: 22282 | ||||
* | Enable pattern isel by default | Chris Lattner | 2005-05-12 | 1 | -4/+4 |
| | | | | llvm-svn: 21898 | ||||
* | * Remove trailing whitespace | Misha Brukman | 2005-04-21 | 1 | -3/+3 |
| | | | | | | * Convert tabs to spaces llvm-svn: 21426 | ||||
* | Make pattern isel default for ppc | Nate Begeman | 2005-04-15 | 1 | -5/+4 |
| | | | | | | | | | | Add new ppc beta option related to using condition registers Make pattern isel control flag (-enable-pattern-isel) global and tristate 0 == off 1 == on 2 == target default llvm-svn: 21309 | ||||
* | Allow the selection-dag based selector to be diabled with -disable-pattern-isel. | Chris Lattner | 2005-01-07 | 1 | -2/+11 |
| | | | | | | | For now, this is the default, as the current selector is missing some big pieces. To enable the new selector, pass -disable-pattern-isel=false to llc or lli. llvm-svn: 19335 | ||||
* | Revert elimination of global variable hack... still needed. | Jeff Cohen | 2005-01-03 | 1 | -0/+7 |
| | | | | llvm-svn: 19273 | ||||
* | Eliminate the use of the global variable hack in the X86 target that was used | Jeff Cohen | 2005-01-02 | 1 | -7/+0 |
| | | | | | | | to get Visual Studio to link in X86.lib to the executables that need it. There is another way of doing it. llvm-svn: 19252 | ||||
* | Use the target triple to pick this target. | Chris Lattner | 2004-12-12 | 1 | -1/+7 |
| | | | | llvm-svn: 18830 | ||||
* | Fix a warning | Chris Lattner | 2004-11-02 | 1 | -1/+2 |
| | | | | llvm-svn: 17431 | ||||
* | Add placeholder variable to make Win32 work, applied for Morten Ofstad | Chris Lattner | 2004-11-01 | 1 | -0/+6 |
| | | | | llvm-svn: 17406 | ||||
* | Improve compatibility with VC++, patch contributed by Morten Ofstad! | Chris Lattner | 2004-10-18 | 1 | -1/+1 |
| | | | | llvm-svn: 17126 | ||||
* | The person who was planning to add SSE support isn't anymore, so disable | Chris Lattner | 2004-10-08 | 1 | -1/+3 |
| | | | | | | | | | the -sse* options (to avoid misleading people). Also, the stack alignment of the target doesn't depend on whether SSE is eventually implemented, so remove a comment. llvm-svn: 16860 | ||||
* | Changes For Bug 352 | Reid Spencer | 2004-09-01 | 1 | -2/+2 |
| | | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137 | ||||
* | Add -sse[,2,3] arguments to LLC | Chris Lattner | 2004-08-24 | 1 | -0/+14 |
| | | | | llvm-svn: 16018 | ||||
* | Disable the pattern isel | Chris Lattner | 2004-08-15 | 1 | -14/+2 |
| | | | | llvm-svn: 15787 | ||||
* | Completely disable the pattern isel until it is more substantial. | Chris Lattner | 2004-08-01 | 1 | -0/+4 |
| | | | | llvm-svn: 15380 | ||||
* | Remove some (LARGE) abandoned code for the release. If this is ever needed | Chris Lattner | 2004-07-22 | 1 | -5/+1 |
| | | | | | | again in the future, it can be resurrected out of CVS llvm-svn: 15112 | ||||
* | Delete the allocate*TargetMachine function, which is now dead . | Chris Lattner | 2004-07-11 | 1 | -9/+1 |
| | | | | | | The shared command line options are now in a header that makes sense. llvm-svn: 14756 | ||||
* | Make these format a bit nicer | Chris Lattner | 2004-07-11 | 1 | -1/+1 |
| | | | | llvm-svn: 14747 | ||||
* | Auto-registrate target | Chris Lattner | 2004-07-11 | 1 | -0/+22 |
| | | | | llvm-svn: 14745 | ||||
* | Remove dead blocks | Chris Lattner | 2004-07-02 | 1 | -0/+6 |
| | | | | llvm-svn: 14564 | ||||
* | I believe that the code generator now properly handles dead basic blocks. ↵ | Chris Lattner | 2004-06-29 | 1 | -8/+0 |
| | | | | | | | | If not, this is a bug, and should be fixed. llvm-svn: 14476 | ||||
* | Move the IntrinsicLowering header into the CodeGen directory, as per PR346 | Chris Lattner | 2004-06-20 | 1 | -2/+2 |
| | | | | llvm-svn: 14266 | ||||
* | Fix the fixed stack offset, patch contributed by Vladimir Prus | Chris Lattner | 2004-06-10 | 1 | -1/+1 |
| | | | | llvm-svn: 14110 | ||||
* | Add support for accurate garbage collection to the LLVM code generators | Chris Lattner | 2004-05-23 | 1 | -0/+5 |
| | | | | llvm-svn: 13696 | ||||
* | Tablgen files for really simple instruction selector | Jakub Staszak | 2004-04-06 | 1 | -1/+5 |
| | | | | llvm-svn: 12714 | ||||
* | The X86 backend no longer needs the select lowering pass. | Chris Lattner | 2004-03-31 | 1 | -6/+0 |
| | | | | llvm-svn: 12578 | ||||
* | Add direct support for integer select instructions, though we still don't ↵ | Chris Lattner | 2004-03-30 | 1 | -2/+2 |
| | | | | | | | | support folding compares into the select yet. llvm-svn: 12553 | ||||
* | Add the select lowering pass to get initial support for select instructions | Chris Lattner | 2004-03-30 | 1 | -0/+6 |
| | | | | llvm-svn: 12541 | ||||
* | make -print-machineinstrs work for both SparcV9 and X86 | Brian Gaeke | 2004-03-04 | 1 | -10/+8 |
| | | | | llvm-svn: 12122 |