- Jul 11, 2005
-
-
Chris Lattner authored
Add a *VERY INITIAL* machine code emitter class. This is enough to take this C function: int foo(int X) { return X +1; } and make objdump produce the following: $ objdump -d t-llvm.o t-llvm.o: file format elf32-i386 Disassembly of section .text: 00000000 <.text>: 0: b8 01 00 00 00 mov $0x1,%eax 5: 03 44 24 04 add 0x4(%esp,1),%eax 9: c3 ret Anything using branches or refering to the constant pool or requiring relocations will not work yet. llvm-svn: 22375
-
Chris Lattner authored
characters from them. llvm-svn: 22371
-
- Jul 10, 2005
-
-
Chris Lattner authored
This is the last MVTSDNode. This allows us to eliminate a bunch of special case code for handling MVTSDNodes. llvm-svn: 22367
-
Chris Lattner authored
llvm-svn: 22366
-
Chris Lattner authored
MVTSDNode class. This class is used to provide an operand to operators that require an extra type. We start by converting FP_ROUND_INREG and SIGN_EXTEND_INREG over to using it. llvm-svn: 22364
-
- Jul 08, 2005
-
-
Chris Lattner authored
Add support for emitting external and .bss symbols. llvm-svn: 22358
-
- 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
-
- 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. 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
-
- Jul 02, 2005
-
-
Andrew Lenharth authored
and legalizing the extload. Strange. Should fix most alpha regressions. llvm-svn: 22329
-
- Jun 30, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22320
-
Andrew Lenharth authored
llvm-svn: 22319
-
- 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
-
- Jun 28, 2005
-
-
Andrew Lenharth authored
handling it in the 64 bit case. The two code paths should probably be merged. llvm-svn: 22302
-
- Jun 27, 2005
-
-
Chris Lattner authored
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
-
- Jun 22, 2005
-
-
Andrew Lenharth authored
See last commit for LangRef, this implements it on all targets. llvm-svn: 22273
-
- Jun 18, 2005
-
-
Andrew Lenharth authored
llvm-svn: 22254
-
- Jun 16, 2005
-
-
Nate Begeman authored
integer types. Add a couple checks to not perform these kinds of transform on floating point values. llvm-svn: 22228
-
- May 15, 2005
-
-
Duraid Madina authored
llvm-svn: 22053
-
Chris Lattner authored
long %bar(long %X) { %Y = mul long %X, 4294967297 ret long %Y } to this: l1_bar: mov %EAX, DWORD PTR [%ESP + 4] mov %EDX, %EAX add %EDX, DWORD PTR [%ESP + 8] ret instead of: l1_bar: mov %ECX, DWORD PTR [%ESP + 4] mov %EDX, 1 mov %EAX, %ECX mul %EDX add %EDX, %ECX add %EDX, DWORD PTR [%ESP + 8] mov %EAX, %ECX ret llvm-svn: 22044
-
Chris Lattner authored
terminator instructions before the 'ret' in case the target has a multi-instruction return sequence. llvm-svn: 22041
-
- May 14, 2005
-
-
Chris Lattner authored
llvm-svn: 22026
-
Chris Lattner authored
llvm-svn: 22020
-
Chris Lattner authored
codepath llvm-svn: 22019
-
Chris Lattner authored
llvm-svn: 22018
-
Chris Lattner authored
llvm-svn: 22016
-
Chris Lattner authored
llvm-svn: 22015
-
Chris Lattner authored
special case hacks. llvm-svn: 22014
-
Chris Lattner authored
llvm-svn: 22011
-
Chris Lattner authored
llvm-svn: 22010
-
Chris Lattner authored
llvm-svn: 22009
-
Chris Lattner authored
llvm-svn: 22004
-
Chris Lattner authored
llvm-svn: 22002
-
Chris Lattner authored
llvm-svn: 22001
-
Chris Lattner authored
llvm-svn: 21993
-
Chris Lattner authored
llvm-svn: 21992
-
- May 13, 2005
-
-
Chris Lattner authored
llvm-svn: 21982
-
Chris Lattner authored
llvm-svn: 21958
-
Chris Lattner authored
llvm-svn: 21957
-