Andrew Lenharth
898efb338a
restore old srcValueNode behavior and try to to work around it
...
llvm-svn: 22315
2005-06-29 18:54:02 +00:00
Chris Lattner
83170cd9ba
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
3ea45d49cd
Bug fixed.
...
llvm-svn: 22313
2005-06-29 16:22:34 +00:00
John Criswell
a6620d4a6e
Doh! Forgot to LLVMify the style.
...
llvm-svn: 22312
2005-06-29 15:57:50 +00:00
Andrew Lenharth
edccb834bb
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
1bafe064da
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
781dd8e05f
thinko
...
llvm-svn: 22309
2005-06-29 13:35:05 +00:00
Andrew Lenharth
6b4dbd7cd5
unify SelectExpr and SelectFP
...
llvm-svn: 22308
2005-06-29 12:49:51 +00:00
Andrew Lenharth
88491475e2
fix most regressions
...
llvm-svn: 22307
2005-06-29 12:23:34 +00:00
Andrew Lenharth
172871ba0f
support more relocations for stores also
...
llvm-svn: 22306
2005-06-29 00:39:17 +00:00
Andrew Lenharth
41d08a0bbe
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
d8982d4282
Add ElfWriter stuff to Visual Studio
...
llvm-svn: 22304
2005-06-28 02:43:03 +00:00
Andrew Lenharth
d1dbc8ab27
some call work
...
llvm-svn: 22303
2005-06-27 23:59:51 +00:00
Andrew Lenharth
d534c5cb2a
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
cc12cd8c5a
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
032a94775d
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
34630b5ab0
get rid of another pseudo op
...
llvm-svn: 22299
2005-06-27 21:11:40 +00:00
Andrew Lenharth
b80c19b01a
generate address of constant pool entries
...
llvm-svn: 22298
2005-06-27 21:02:56 +00:00
Andrew Lenharth
6e30e970ed
Misha happification patch
...
llvm-svn: 22297
2005-06-27 17:39:17 +00:00
Andrew Lenharth
a3f70592a7
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
573514894c
missed a load
...
llvm-svn: 22295
2005-06-27 16:40:26 +00:00
Andrew Lenharth
ac3ecf5338
make constant pool labels local
...
llvm-svn: 22294
2005-06-27 16:29:54 +00:00
Andrew Lenharth
f50cb3fad2
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
cd6b5c5011
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
8be1980730
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
85b1b5aa24
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
9dc5d846ee
depend more on legalize putting constants on the RHS
...
llvm-svn: 22289
2005-06-26 23:01:11 +00:00
Andrew Lenharth
91bc570aac
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
879a78ea54
add a new -filetype argument to llc.
...
llvm-svn: 22287
2005-06-25 03:32:05 +00:00
Chris Lattner
82cdeff6db
add some new file types
...
llvm-svn: 22286
2005-06-25 03:31:43 +00:00
Chris Lattner
704a543530
minor cleanups, use copy ctor instead of manually doing it.
...
llvm-svn: 22285
2005-06-25 03:00:34 +00:00
Chris Lattner
c8a5e80f4f
refactor this interface
...
llvm-svn: 22284
2005-06-25 02:50:35 +00:00
Chris Lattner
06282f51cf
Refactor the addPassesToEmitAssembly interface into a addPassesToEmitFile
...
interface.
llvm-svn: 22282
2005-06-25 02:48:37 +00:00
Chris Lattner
37688fa81f
refactor these interfaces a bit
...
llvm-svn: 22281
2005-06-25 02:47:50 +00:00
Chris Lattner
24bcb4753a
improve comments
...
llvm-svn: 22280
2005-06-24 18:17:33 +00:00
Chris Lattner
6f3c7b46ee
Fix grammar
...
llvm-svn: 22279
2005-06-24 18:00:40 +00:00
Chris Lattner
8842bcc3fc
add a note about variable length array
...
llvm-svn: 22278
2005-06-24 17:22:57 +00:00
Chris Lattner
eb08628106
add a debug type
...
llvm-svn: 22277
2005-06-24 16:00:46 +00:00
Andrew Lenharth
17f46306d6
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
51d9d1b763
finally, Working varargs
...
llvm-svn: 22275
2005-06-23 16:48:51 +00:00
Andrew Lenharth
eda77c60a0
more complete Lowering for vacopy and vaarg
...
llvm-svn: 22274
2005-06-22 23:04:28 +00:00
Andrew Lenharth
4fd2bde906
If we support structs as va_list, we must pass pointers to them to va_copy
...
See last commit for LangRef, this implements it on all targets.
llvm-svn: 22273
2005-06-22 21:04:42 +00:00
Andrew Lenharth
0d30c53b5f
SelectionDAG is very unhappy when the argument to an intrinsic is a struct
...
llvm-svn: 22272
2005-06-22 20:38:11 +00:00
Andrew Lenharth
e54b651806
Make it easier to find alpha stuff in doxygen, and fixup labeling
...
of memory instructions in the assembly, to allow later linking
of traces with LLVM Value*s.
llvm-svn: 22271
2005-06-22 17:19:45 +00:00
John Criswell
00c8485c77
Fixed indentation.
...
llvm-svn: 22270
2005-06-20 19:59:22 +00:00
Andrew Lenharth
ce6f907ffe
because some functions just use va_start and pass things to vfprintf
...
llvm-svn: 22269
2005-06-20 15:41:37 +00:00
Andrew Lenharth
4e1c8055ea
the correct fix was to fix AliasAnalysis.getModRefInfo
...
llvm-svn: 22268
2005-06-20 15:25:22 +00:00
Andrew Lenharth
8ff5960b39
make AliasAnalysis know that VAArg writes memory. This is extremely conservative and should be fixed
...
llvm-svn: 22267
2005-06-20 15:24:23 +00:00
Andrew Lenharth
262b657737
prevent GCSE from forwarding stores to loads around vaarg. This is uggly, and I am trying to fix the AliasInfo, as it should catch the problem instead.
...
llvm-svn: 22266
2005-06-20 15:02:05 +00:00
Andrew Lenharth
08ff634c2b
prevent va_arg from being hoisted from a loop
...
llvm-svn: 22265
2005-06-20 13:36:33 +00:00