Chris Lattner
d313b92b66
Varargs is apparently currently broken on PPC. This hacks it so that it
...
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
2005-07-01 23:11:56 +00:00
Chris Lattner
b97404687a
Refactor X86AsmPrinter.cpp into multiple files. Patch contributed
...
by Aaron Gray, cleaned up by me.
llvm-svn: 22324
2005-07-01 22:44:09 +00:00
Andrew Lenharth
21da9b669e
simplify call code, remove pseudo ops for div and rem, track more loads and stores
...
llvm-svn: 22323
2005-07-01 19:14:02 +00:00
Andrew Lenharth
dd55b1566b
simplify call code, remove pseudo ops for div and rem, track more loads and stores
...
llvm-svn: 22322
2005-07-01 19:12:13 +00:00
Chris Lattner
e8ab64b5c3
remove some debugging code
...
llvm-svn: 22321
2005-07-01 06:40:58 +00:00
Andrew Lenharth
0a370f4de5
oops
...
llvm-svn: 22320
2005-06-30 19:32:57 +00:00
Andrew Lenharth
b5597e38f6
FP EXTLOAD is not support on all archs, expand to LOAD and FP_EXTEND
...
llvm-svn: 22319
2005-06-30 19:22:37 +00:00
Chris Lattner
937c71f2b3
Fix PR590 and Transforms/Mem2Reg/2005-06-30-ReadBeforeWrite.ll.
...
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
2005-06-30 07:29:44 +00:00
Chris Lattner
ba613f478a
new testcase for PR590
...
llvm-svn: 22317
2005-06-30 07:28:54 +00:00
Nate Begeman
718387e491
Make the x86 asm printer darwin-aware. This mostly entails doing the same
...
thing as cygwin most of the time, and printing our alignments in log2
rather than number of bytes.
llvm-svn: 22316
2005-06-30 00:53:20 +00:00
Andrew Lenharth
2edc1881ac
restore old srcValueNode behavior and try to to work around it
...
llvm-svn: 22315
2005-06-29 18:54:02 +00:00
Chris Lattner
f550554c02
Don't crash on a query where the block is not in any loop. Thanks to
...
Sameer D. Sahasrabuddhe for pointing this out!
llvm-svn: 22314
2005-06-29 17:41:25 +00:00
John Criswell
51e2a48b35
Bug fixed.
...
llvm-svn: 22313
2005-06-29 16:22:34 +00:00
John Criswell
810b4f8d55
Doh! Forgot to LLVMify the style.
...
llvm-svn: 22312
2005-06-29 15:57:50 +00:00
Andrew Lenharth
8192568fbc
tracking the instructions causing loads and stores provides more information than just the pointer being loaded or stored
...
llvm-svn: 22311
2005-06-29 15:57:19 +00:00
John Criswell
4642afdcc1
Basic fix for PR#591; don't convert an fprintf() to an fwrite() if there
...
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
2005-06-29 15:03:18 +00:00
Andrew Lenharth
4401049f05
thinko
...
llvm-svn: 22309
2005-06-29 13:35:05 +00:00
Andrew Lenharth
d0a2f0f95a
unify SelectExpr and SelectFP
...
llvm-svn: 22308
2005-06-29 12:49:51 +00:00
Andrew Lenharth
d0f59dedf8
fix most regressions
...
llvm-svn: 22307
2005-06-29 12:23:34 +00:00
Andrew Lenharth
47a9c4715a
support more relocations for stores also
...
llvm-svn: 22306
2005-06-29 00:39:17 +00:00
Andrew Lenharth
1ef3c0c798
Get rid of all symbolic loads. I now do gernate all relocations sequences
...
rather than relying on the assembler. Only a few more pseudo instructions
left. Also merge load code paths.
llvm-svn: 22305
2005-06-29 00:31:08 +00:00
Jeff Cohen
8d9d9d7af0
Add ElfWriter stuff to Visual Studio
...
llvm-svn: 22304
2005-06-28 02:43:03 +00:00
Andrew Lenharth
93bf000891
some call work
...
llvm-svn: 22303
2005-06-27 23:59:51 +00:00
Andrew Lenharth
d74877a46d
Adapt the code for handling uint -> fp conversion for the 32 bit case to
...
handling it in the 64 bit case. The two code paths should probably be merged.
llvm-svn: 22302
2005-06-27 23:28:32 +00:00
Andrew Lenharth
a50adcf57d
So, it turns out I forgot that one valid way of restoring GP after a call
...
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
2005-06-27 23:24:11 +00:00
Nate Begeman
db32921535
Initial set of .td file changes necessary to get scalar fp in xmm registers
...
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
2005-06-27 21:20:31 +00:00
Andrew Lenharth
595646f934
get rid of another pseudo op
...
llvm-svn: 22299
2005-06-27 21:11:40 +00:00
Andrew Lenharth
1291a85883
generate address of constant pool entries
...
llvm-svn: 22298
2005-06-27 21:02:56 +00:00
Andrew Lenharth
02ffa5a7ed
Misha happification patch
...
llvm-svn: 22297
2005-06-27 17:39:17 +00:00
Andrew Lenharth
7aba58ab89
Reduce use of pseudo ops
...
Namely, output the rellocation flags explicitly when loading constants.
Added benifit: save a load when loading from the constant pool.
llvm-svn: 22296
2005-06-27 17:15:36 +00:00
Andrew Lenharth
fcb112eb7a
missed a load
...
llvm-svn: 22295
2005-06-27 16:40:26 +00:00
Andrew Lenharth
96db51a3b6
make constant pool labels local
...
llvm-svn: 22294
2005-06-27 16:29:54 +00:00
Andrew Lenharth
53bb83bc43
who said we had to use the return address in the return address register. Might save a move in many cases
...
llvm-svn: 22293
2005-06-27 15:36:48 +00:00
Chris Lattner
10594206f4
Add support to the X86 backend for emitting ELF files. To use this, we
...
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
2005-06-27 06:30:12 +00:00
Chris Lattner
386b151ce6
iniital checkin of ELFWriter implementation
...
For now, the elf writer is only capable of emitting an empty elf file, with
a section table and a section table string table. This will be enhanced
in the future :)
llvm-svn: 22291
2005-06-27 06:29:00 +00:00
Chris Lattner
a1debbc634
iniital checkin of ELFWriter header.
...
For now, the elf writer is only capable of emitting an empty elf file, with
a section table and a section table string table. This will be enhanced
in the future :)
llvm-svn: 22290
2005-06-27 06:28:45 +00:00
Andrew Lenharth
dac0b3cb8a
depend more on legalize putting constants on the RHS
...
llvm-svn: 22289
2005-06-26 23:01:11 +00:00
Andrew Lenharth
331380b2e2
With setOperationAction(ISD::UINT_TO_FP, MVT::i64, Expand), Legalize
...
should be able to handle this case. The code is there, so let's see
if it works.
llvm-svn: 22288
2005-06-26 22:23:06 +00:00
Chris Lattner
06fcc4cb75
add a new -filetype argument to llc.
...
llvm-svn: 22287
2005-06-25 03:32:05 +00:00
Chris Lattner
4c661789c1
add some new file types
...
llvm-svn: 22286
2005-06-25 03:31:43 +00:00
Chris Lattner
09b0eb387a
minor cleanups, use copy ctor instead of manually doing it.
...
llvm-svn: 22285
2005-06-25 03:00:34 +00:00
Chris Lattner
6a7b48e747
refactor this interface
...
llvm-svn: 22284
2005-06-25 02:50:35 +00:00
Chris Lattner
f11f48ba61
Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFile
...
interface.
llvm-svn: 22282
2005-06-25 02:48:37 +00:00
Chris Lattner
f96366550c
refactor these interfaces a bit
...
llvm-svn: 22281
2005-06-25 02:47:50 +00:00
Chris Lattner
aad30b0dc9
improve comments
...
llvm-svn: 22280
2005-06-24 18:17:33 +00:00
Chris Lattner
805ecf0c79
Fix grammar
...
llvm-svn: 22279
2005-06-24 18:00:40 +00:00
Chris Lattner
c0ad71edd4
add a note about variable length array
...
llvm-svn: 22278
2005-06-24 17:22:57 +00:00
Chris Lattner
9610c6f287
add a debug type
...
llvm-svn: 22277
2005-06-24 16:00:46 +00:00
Andrew Lenharth
af1e825112
remove a pseudo instruction, make ret always right, and fix vararg chains
...
llvm-svn: 22276
2005-06-23 23:42:05 +00:00
Andrew Lenharth
01cebcc131
finally, Working varargs
...
llvm-svn: 22275
2005-06-23 16:48:51 +00:00