- Jul 07, 2005
-
-
Chris Lattner authored
module to the ELF file. Test it by adding support for emitting common symbols. This allows us to compile this: %X = weak global int 0 %Y = weak global int 0 %Z = weak global int 0 to an elf file that 'readelf's this: Symbol table '.symtab' contains 4 entries: Num: Value Size Type Bind Vis Ndx Name 0: 00000000 0 NOTYPE LOCAL DEFAULT UND 1: 00000004 4 OBJECT GLOBAL DEFAULT COM X 2: 00000004 4 OBJECT GLOBAL DEFAULT COM Y 3: 00000004 4 OBJECT GLOBAL DEFAULT COM Z llvm-svn: 22343
-
Chris Lattner authored
llvm-svn: 22342
-
Nate Begeman authored
llvm-svn: 22341
-
- 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
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. llvm-svn: 22338
-
Andrew Lenharth authored
1: Legalize operand in UINT_TO_FP expanision 2: SRA x, const i8 was not promoting the constant to shift amount type. llvm-svn: 22337
-
Chris Lattner authored
llvm-svn: 22336
-
Chris Lattner authored
llvm-svn: 22335
-
Andrew Lenharth authored
llvm-svn: 22334
-
Andrew Lenharth authored
llvm-svn: 22333
-
- 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
-
-
Andrew Lenharth authored
and legalizing the extload. Strange. Should fix most alpha regressions. llvm-svn: 22329
-
Jeff Cohen authored
llvm-svn: 22328
-
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
-
-
Andrew Lenharth authored
llvm-svn: 22320
-
Andrew Lenharth authored
llvm-svn: 22319
-
Chris Lattner authored
The optimization for locally used allocas was not safe for allocas that were read before they were written. This change disables that optimization in that case. llvm-svn: 22318
-
Chris Lattner authored
llvm-svn: 22317
-
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
-
Chris Lattner authored
Sameer D. Sahasrabuddhe for pointing this out! llvm-svn: 22314
-
John Criswell authored
llvm-svn: 22313
-
John Criswell authored
llvm-svn: 22312
-
Andrew Lenharth authored
tracking the instructions causing loads and stores provides more information than just the pointer being loaded or stored llvm-svn: 22311
-
John Criswell authored
is a mismatch in their character type pointers (i.e. fprintf() prints an array of ubytes while fwrite() takes an array of sbytes). We can probably do better than this (such as casting the ubyte to an sbyte). llvm-svn: 22310
-
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
-
-
Jeff Cohen authored
llvm-svn: 22304
-
Andrew Lenharth authored
llvm-svn: 22303
-