| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | If the Graphviz program is available, use it to visualize dot graphs. | Chris Lattner | 2005-07-14 | 1 | -1/+10 |
| | | | | | llvm-svn: 22429 | ||||
| * | Fix Alpha/2005-07-12-TwoMallocCalls.ll and PR593. | Chris Lattner | 2005-07-13 | 1 | -1/+2 |
| | | | | | | | | | | | It is not safe to call LegalizeOp on something that has already been legalized. Instead, just force another iteration of legalization. This could affect all platforms but X86, as this codepath is dynamically dead on X86 (ISD::MEMSET and friends are legal). llvm-svn: 22419 | ||||
| * | Fix test/Regression/CodeGen/Generic/2005-07-12-memcpy-i64-length.ll | Chris Lattner | 2005-07-13 | 1 | -1/+6 |
| | | | | | llvm-svn: 22417 | ||||
| * | Add support for 64-bit elf files | Chris Lattner | 2005-07-12 | 1 | -16/+24 |
| | | | | | llvm-svn: 22400 | ||||
| * | VC++ demands that the function returns a value | Jeff Cohen | 2005-07-12 | 1 | -0/+1 |
| | | | | | llvm-svn: 22393 | ||||
| * | Clean up code, no functionality changes. | Chris Lattner | 2005-07-11 | 1 | -50/+68 |
| | | | | | llvm-svn: 22382 | ||||
| * | Emit a symbol table entry for each function we output to the ELF file. This | Chris Lattner | 2005-07-11 | 1 | -1/+31 |
| | | | | | | | | | | | | | | allows objdump to know which function we are emitting to: 00000000 <foo>: <---- 0: b8 01 00 00 00 mov $0x1,%eax 5: 03 44 24 04 add 0x4(%esp,1),%eax 9: c3 ret ... and allows .o files to be useful for linking :) llvm-svn: 22378 | ||||
| * | add code to emit the .text section to the section header. | Chris Lattner | 2005-07-11 | 1 | -4/+89 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | ||||
| * | Use a name mangler object to uniquify names and remove nonstandard | Chris Lattner | 2005-07-11 | 1 | -2/+8 |
| | | | | | | | characters from them. llvm-svn: 22371 | ||||
| * | Change *EXTLOAD to use an VTSDNode operand instead of being an MVTSDNode. | Chris Lattner | 2005-07-10 | 3 | -90/+60 |
| | | | | | | | | | | This is the last MVTSDNode. This allows us to eliminate a bunch of special case code for handling MVTSDNodes. llvm-svn: 22367 | ||||
| * | Change TRUNCSTORE to use a VTSDNode operand instead of being an MVTSTDNode | Chris Lattner | 2005-07-10 | 2 | -46/+38 |
| | | | | | llvm-svn: 22366 | ||||
| * | Introduce a new VTSDNode class with the ultimate goal of eliminating the | Chris Lattner | 2005-07-10 | 2 | -79/+109 |
| | | | | | | | | | 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 | ||||
| * | Add support for emitting a .data section and .bss section. | Chris Lattner | 2005-07-08 | 1 | -22/+67 |
| | | | | | | | Add support for emitting external and .bss symbols. llvm-svn: 22358 | ||||
| * | Add support for emitting the symbol table (and its string table) of the | Chris Lattner | 2005-07-07 | 1 | -54/+141 |
| | | | | | | | | | | | | | | | | | | | | | 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 | ||||
| * | Make several cleanups to Andrews varargs change: | Chris Lattner | 2005-07-05 | 1 | -22/+25 |
| | | | | | | | | | | | 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 | ||||
| * | 2 fixes: | Andrew Lenharth | 2005-07-05 | 1 | -4/+13 |
| | | | | | | | | 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 | ||||
| * | I really didn't think this was necessary. But, Legalize wasn't running again | Andrew Lenharth | 2005-07-02 | 1 | -2/+3 |
| | | | | | | | and legalizing the extload. Strange. Should fix most alpha regressions. llvm-svn: 22329 | ||||
| * | oops | Andrew Lenharth | 2005-06-30 | 1 | -2/+1 |
| | | | | | llvm-svn: 22320 | ||||
| * | FP EXTLOAD is not support on all archs, expand to LOAD and FP_EXTEND | Andrew Lenharth | 2005-06-30 | 1 | -0/+9 |
| | | | | | llvm-svn: 22319 | ||||
| * | restore old srcValueNode behavior and try to to work around it | Andrew Lenharth | 2005-06-29 | 2 | -2/+4 |
| | | | | | llvm-svn: 22315 | ||||
| * | tracking the instructions causing loads and stores provides more information ↵ | Andrew Lenharth | 2005-06-29 | 2 | -4/+2 |
| | | | | | | | than just the pointer being loaded or stored llvm-svn: 22311 | ||||
| * | Adapt the code for handling uint -> fp conversion for the 32 bit case to | Andrew Lenharth | 2005-06-27 | 1 | -0/+35 |
| | | | | | | | handling it in the 64 bit case. The two code paths should probably be merged. llvm-svn: 22302 | ||||
| * | iniital checkin of ELFWriter implementation | Chris Lattner | 2005-06-27 | 1 | -0/+230 |
| | | | | | | | | | 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 | ||||
| * | If we support structs as va_list, we must pass pointers to them to va_copy | Andrew Lenharth | 2005-06-22 | 1 | -4/+5 |
| | | | | | | | See last commit for LangRef, this implements it on all targets. llvm-svn: 22273 | ||||
| * | core changes for varargs | Andrew Lenharth | 2005-06-18 | 1 | -18/+12 |
| | | | | | llvm-svn: 22254 | ||||
| * | Fix bug 537 test 2, which checks to make sure that we fold A+(B-A) -> B for | Nate Begeman | 2005-06-16 | 1 | -2/+7 |
| | | | | | | | | integer types. Add a couple checks to not perform these kinds of transform on floating point values. llvm-svn: 22228 | ||||
| * | aCC and STLport complained about this, because they're like that | Duraid Madina | 2005-05-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 22053 | ||||
| * | Add some simplifications for MULH[SU]. This allows us to compile this: | Chris Lattner | 2005-05-15 | 1 | -0/+12 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | ||||
| * | When inserting callee-save register reloads, make sure to skip over any | Chris Lattner | 2005-05-15 | 1 | -0/+8 |
| | | | | | | | | terminator instructions before the 'ret' in case the target has a multi-instruction return sequence. llvm-svn: 22041 | ||||
| * | Fix construction of ioport intrinsics, fixing X86/io.llx and io-port.llx | Chris Lattner | 2005-05-14 | 1 | -4/+10 |
| | | | | | llvm-svn: 22026 | ||||
| * | allow token chain at start or end of node | Chris Lattner | 2005-05-14 | 1 | -0/+2 |
| | | | | | llvm-svn: 22020 | ||||
| * | remove special case hacks for readport/readio from the binary operator | Chris Lattner | 2005-05-14 | 2 | -13/+15 |
| | | | | | | | codepath llvm-svn: 22019 | ||||
| * | Implement fixme's by memoizing nodes. | Chris Lattner | 2005-05-14 | 1 | -9/+21 |
| | | | | | llvm-svn: 22018 | ||||
| * | Turn this into a wrapper for a simpler version of getNode. | Chris Lattner | 2005-05-14 | 1 | -8/+7 |
| | | | | | llvm-svn: 22016 | ||||
| * | Eliminate special purpose hacks for dynamic_stack_alloc. | Chris Lattner | 2005-05-14 | 3 | -20/+15 |
| | | | | | llvm-svn: 22015 | ||||
| * | Use the general mechanism for creating multi-value nodes instead of using | Chris Lattner | 2005-05-14 | 2 | -56/+60 |
| | | | | | | | special case hacks. llvm-svn: 22014 | ||||
| * | Wrap long line, actually add node to the graph. | Chris Lattner | 2005-05-14 | 1 | -1/+3 |
| | | | | | llvm-svn: 22011 | ||||
| * | legalize target-specific operations | Chris Lattner | 2005-05-14 | 1 | -0/+23 |
| | | | | | llvm-svn: 22010 | ||||
| * | add a getNode() version that allows construction of any node type. | Chris Lattner | 2005-05-14 | 1 | -9/+33 |
| | | | | | llvm-svn: 22009 | ||||
| * | LowerOperation takes a dag | Chris Lattner | 2005-05-14 | 2 | -3/+3 |
| | | | | | llvm-svn: 22004 | ||||
| * | Print the symbolic register name in a register allocator debug dump. | Chris Lattner | 2005-05-14 | 3 | -17/+29 |
| | | | | | llvm-svn: 22002 | ||||
| * | Allow targets to have a custom int64->fp expander if desired | Chris Lattner | 2005-05-14 | 1 | -0/+11 |
| | | | | | llvm-svn: 22001 | ||||
| * | Align doubles on 8-byte boundaries if possible. | Chris Lattner | 2005-05-13 | 1 | -0/+9 |
| | | | | | llvm-svn: 21993 | ||||
| * | print stack object alignment in -print-machineinstr dumps | Chris Lattner | 2005-05-13 | 1 | -2/+4 |
| | | | | | llvm-svn: 21992 | ||||
| * | Tolerate instrs with extra args | Chris Lattner | 2005-05-13 | 1 | -1/+1 |
| | | | | | llvm-svn: 21982 | ||||
| * | Add an isTailCall flag to LowerCallTo | Chris Lattner | 2005-05-13 | 2 | -7/+11 |
| | | | | | llvm-svn: 21958 | ||||
| * | Handle TAILCALL node | Chris Lattner | 2005-05-13 | 2 | -3/+10 |
| | | | | | llvm-svn: 21957 | ||||
| * | Emit function entry code after lowering hte arguments. | Chris Lattner | 2005-05-13 | 1 | -2/+2 |
| | | | | | llvm-svn: 21931 | ||||
| * | Allow targets to emit code into the entry block of each function | Chris Lattner | 2005-05-13 | 1 | -0/+2 |
| | | | | | llvm-svn: 21930 | ||||
| * | allow a virtual register to be associated with live-in values. | Chris Lattner | 2005-05-13 | 2 | -8/+8 |
| | | | | | llvm-svn: 21927 | ||||

