summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86TargetMachine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* x86 CPU detection and proper subtarget supportEvan Cheng2006-01-271-36/+1
| | | | llvm-svn: 25679
* Added preliminary x86 subtarget support.Evan Cheng2006-01-261-2/+12
| | | | llvm-svn: 25645
* Add explicit #includes of <iostream>Chris Lattner2006-01-221-0/+1
| | | | llvm-svn: 25515
* Stop doing that accidental commit.Evan Cheng2006-01-201-1/+1
| | | | llvm-svn: 25474
* A few more SH{L|R}D peepholes.Evan Cheng2006-01-201-1/+1
| | | | llvm-svn: 25473
* Didn't mean to commit the last one.Evan Cheng2006-01-191-1/+1
| | | | llvm-svn: 25469
* Added i16 SH{L|R}D patterns.Evan Cheng2006-01-191-1/+1
| | | | llvm-svn: 25468
* SSE2 floating point load / store patterns. SSE2 fp to int conversion patterns.Evan Cheng2005-12-201-0/+3
| | | | llvm-svn: 24886
* Only lower SELECT when using DAG based isel.Evan Cheng2005-12-171-4/+7
| | | | llvm-svn: 24755
* remove some never-completed and now-obsolete code.Chris Lattner2005-12-121-11/+0
| | | | llvm-svn: 24671
* initial step at adding a dag-to-dag isel for X86 backend. Patch contributedChris Lattner2005-11-161-2/+11
| | | | | | by Evan Cheng! llvm-svn: 24371
* Separate X86ISelLowering stuff out from the X86ISelPattern.cpp file. PatchChris Lattner2005-11-151-2/+2
| | | | | | contributed by Evan Cheng. llvm-svn: 24358
* Add a new option to indicate we want the code generator to emit code ↵Chris Lattner2005-11-081-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 Laskey2005-09-011-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 hasNate Begeman2005-08-181-10/+4
| | | | | | passed. llvm-svn: 22886
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-1/+1
| | | | llvm-svn: 22523
* Implement Subtarget supportNate Begeman2005-07-121-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 Lattner2005-07-111-1/+8
| | | | | | | | code emitter after itself. llvm-svn: 22376
* First round of support for doing scalar FP using the SSE2 ISA extension andNate Begeman2005-07-061-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, weChris Lattner2005-06-271-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 addPassesToEmitFileChris Lattner2005-06-251-3/+5
| | | | | | interface. llvm-svn: 22282
* Enable pattern isel by defaultChris Lattner2005-05-121-4/+4
| | | | llvm-svn: 21898
* * Remove trailing whitespaceMisha Brukman2005-04-211-3/+3
| | | | | | * Convert tabs to spaces llvm-svn: 21426
* Make pattern isel default for ppcNate Begeman2005-04-151-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 Lattner2005-01-071-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 Cohen2005-01-031-0/+7
| | | | llvm-svn: 19273
* Eliminate the use of the global variable hack in the X86 target that was usedJeff Cohen2005-01-021-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 Lattner2004-12-121-1/+7
| | | | llvm-svn: 18830
* Fix a warningChris Lattner2004-11-021-1/+2
| | | | llvm-svn: 17431
* Add placeholder variable to make Win32 work, applied for Morten OfstadChris Lattner2004-11-011-0/+6
| | | | llvm-svn: 17406
* Improve compatibility with VC++, patch contributed by Morten Ofstad!Chris Lattner2004-10-181-1/+1
| | | | llvm-svn: 17126
* The person who was planning to add SSE support isn't anymore, so disableChris Lattner2004-10-081-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 352Reid Spencer2004-09-011-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 LLCChris Lattner2004-08-241-0/+14
| | | | llvm-svn: 16018
* Disable the pattern iselChris Lattner2004-08-151-14/+2
| | | | llvm-svn: 15787
* Completely disable the pattern isel until it is more substantial.Chris Lattner2004-08-011-0/+4
| | | | llvm-svn: 15380
* Remove some (LARGE) abandoned code for the release. If this is ever neededChris Lattner2004-07-221-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 Lattner2004-07-111-9/+1
| | | | | | The shared command line options are now in a header that makes sense. llvm-svn: 14756
* Make these format a bit nicerChris Lattner2004-07-111-1/+1
| | | | llvm-svn: 14747
* Auto-registrate targetChris Lattner2004-07-111-0/+22
| | | | llvm-svn: 14745
* Remove dead blocksChris Lattner2004-07-021-0/+6
| | | | llvm-svn: 14564
* I believe that the code generator now properly handles dead basic blocks. ↵Chris Lattner2004-06-291-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 PR346Chris Lattner2004-06-201-2/+2
| | | | llvm-svn: 14266
* Fix the fixed stack offset, patch contributed by Vladimir PrusChris Lattner2004-06-101-1/+1
| | | | llvm-svn: 14110
* Add support for accurate garbage collection to the LLVM code generatorsChris Lattner2004-05-231-0/+5
| | | | llvm-svn: 13696
* Tablgen files for really simple instruction selectorJakub Staszak2004-04-061-1/+5
| | | | llvm-svn: 12714
* The X86 backend no longer needs the select lowering pass.Chris Lattner2004-03-311-6/+0
| | | | llvm-svn: 12578
* Add direct support for integer select instructions, though we still don't ↵Chris Lattner2004-03-301-2/+2
| | | | | | | | support folding compares into the select yet. llvm-svn: 12553
* Add the select lowering pass to get initial support for select instructionsChris Lattner2004-03-301-0/+6
| | | | llvm-svn: 12541
* make -print-machineinstrs work for both SparcV9 and X86Brian Gaeke2004-03-041-10/+8
| | | | llvm-svn: 12122
OpenPOWER on IntegriCloud