- 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
-
- Jul 05, 2005
-
-
Chris Lattner authored
1. Pass Value*'s into lowering methods so that the proper pointers can be added to load/stores from the valist 2. Intrinsics that return void should only return a token chain, not a token chain/retval pair. 3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone. 4. Now that we have Value*'s available in the lowering methods, pass them into any load/stores from the valist that are emitted llvm-svn: 22339
-
Chris Lattner authored
llvm-svn: 22336
-
Chris Lattner authored
llvm-svn: 22335
-
- Jul 04, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22332
-
- Jul 03, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22331
-
Chris Lattner authored
llvm-svn: 22330
-
- Jul 02, 2005
-
-
Nate Begeman authored
llvm-svn: 22327
-
Chris Lattner authored
is at least overloading the right virtual methods. The implementations are currently wrong though. This fixes Ptrdist/bc, but not other programs (e.g. siod). llvm-svn: 22326
-
Chris Lattner authored
by Aaron Gray, cleaned up by me. llvm-svn: 22324
-
- Jul 01, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22323
-
Andrew Lenharth authored
llvm-svn: 22322
-
Chris Lattner authored
llvm-svn: 22321
-
- Jun 30, 2005
-
-
Nate Begeman authored
thing as cygwin most of the time, and printing our alignments in log2 rather than number of bytes. llvm-svn: 22316
-
- Jun 29, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22315
-
Andrew Lenharth authored
tracking the instructions causing loads and stores provides more information than just the pointer being loaded or stored llvm-svn: 22311
-
Andrew Lenharth authored
llvm-svn: 22309
-
Andrew Lenharth authored
llvm-svn: 22308
-
Andrew Lenharth authored
llvm-svn: 22307
-
Andrew Lenharth authored
llvm-svn: 22306
-
Andrew Lenharth authored
rather than relying on the assembler. Only a few more pseudo instructions left. Also merge load code paths. llvm-svn: 22305
-
- Jun 28, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22303
-
Andrew Lenharth authored
is to use RA, which assumes the called function uses RA for the register holding the return address when it issues a ret. llvm-svn: 22301
-
- Jun 27, 2005
-
-
Nate Begeman authored
working. The instruction selector changes will hopefully be coming later this week once they are debugged. This is necessary to support the darwin x86 FP model, and is recommended by intel as the replacement for x87. As a bonus, the register allocator knows how to deal with these registers across basic blocks, unliky the FP stackifier. This leads to significantly better codegen in several cases. llvm-svn: 22300
-
Andrew Lenharth authored
llvm-svn: 22299
-
Andrew Lenharth authored
llvm-svn: 22298
-
Andrew Lenharth authored
llvm-svn: 22297
-
Andrew Lenharth authored
Namely, output the rellocation flags explicitly when loading constants. Added benifit: save a load when loading from the constant pool. llvm-svn: 22296
-
Andrew Lenharth authored
llvm-svn: 22295
-
Andrew Lenharth authored
llvm-svn: 22294
-
Andrew Lenharth authored
who said we had to use the return address in the return address register. Might save a move in many cases llvm-svn: 22293
-
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
-
Andrew Lenharth authored
llvm-svn: 22289
-
Andrew Lenharth authored
should be able to handle this case. The code is there, so let's see if it works. llvm-svn: 22288
-
- Jun 25, 2005
-
-
Chris Lattner authored
interface. llvm-svn: 22282
-
- Jun 24, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22276
-
- Jun 23, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22275
-
Andrew Lenharth authored
llvm-svn: 22274
-
- Jun 22, 2005
-
-
Andrew Lenharth authored
See last commit for LangRef, this implements it on all targets. llvm-svn: 22273
-
Andrew Lenharth authored
of memory instructions in the assembly, to allow later linking of traces with LLVM Value*s. llvm-svn: 22271
-