Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Changes for ffs lib call simplification: | Reid Spencer | 2005-05-14 | 1 | -3/+74 | |
| | | | | | | | | * Check for availability of ffsll call in configure script * Support ffs, ffsl, and ffsll conversion to constant value if the argument is constant. llvm-svn: 22027 | |||||
* | Fix construction of ioport intrinsics, fixing X86/io.llx and io-port.llx | Chris Lattner | 2005-05-14 | 1 | -4/+10 | |
| | | | | llvm-svn: 22026 | |||||
* | Preserve calling conv when hacking on calls | Chris Lattner | 2005-05-14 | 2 | -0/+6 | |
| | | | | llvm-svn: 22025 | |||||
* | preserve calling conventions when hacking on code | Chris Lattner | 2005-05-14 | 2 | -1/+4 | |
| | | | | llvm-svn: 22024 | |||||
* | Make sure to preserve the calling convention when changing an invoke into | Chris Lattner | 2005-05-14 | 1 | -0/+2 | |
| | | | | | | | a call. This fixes Prolangs-C++/deriv2, kimwitu++, and Misc-C++/bigfib on X86 with -enable-x86-fastcc. llvm-svn: 22023 | |||||
* | Pass i64 values correctly split in reg/mem to fastcc calls. | Chris Lattner | 2005-05-14 | 1 | -2/+1 | |
| | | | | | | This fixes fourinarow with -enable-x86-fastcc. llvm-svn: 22022 | |||||
* | Use target-specific nodes for calls. This allows the fastcc code to not have | Chris Lattner | 2005-05-14 | 1 | -105/+182 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to do ugly hackery to avoid emitting code like this: call foo mov vreg, EAX adjcallstackup ... If foo is a fastcc call and if vreg gets spilled, we might end up with this: call foo mov [ESP+offset], EAX ;; Offset doesn't consider the 12! sub ESP, 12 Which is bad. The previous hacky code to deal with this was A) gross B) not good enough. In particular, it could miss cases and emit the bad code above. Now we always emit this: call foo adjcallstackup ... mov vreg, EAX directly. This makes fastcc with callees poping the stack work much better. Next stop (finally!) really is tail calls. llvm-svn: 22021 | |||||
* | 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 | |||||
* | use a target-specific node and custom expander to lower long->FP to FILD64m. | Chris Lattner | 2005-05-14 | 1 | -0/+74 | |
| | | | | | | | This should fix some missing symbols problems on BSD and improve performance of programs that use that operation. llvm-svn: 22012 | |||||
* | 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 | |||||
* | Make sure the start of the arg area and the end (after the RA is pushed) | Chris Lattner | 2005-05-13 | 1 | -2/+22 | |
| | | | | | | is always 8-byte aligned for fastcc llvm-svn: 21995 | |||||
* | fix the assertion | Chris Lattner | 2005-05-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 21994 | |||||
* | 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 | |||||
* | fix typo | Chris Lattner | 2005-05-13 | 1 | -3/+3 | |
| | | | | llvm-svn: 21991 | |||||
* | Fix the problems with callee popped argument lists | Chris Lattner | 2005-05-13 | 1 | -1/+37 | |
| | | | | llvm-svn: 21988 | |||||
* | Don't emit SAR X, 0 in the case of sdiv Y, 2 | Chris Lattner | 2005-05-13 | 1 | -2/+7 | |
| | | | | llvm-svn: 21986 | |||||
* | Fix UnitTests/2005-05-13-SDivTwo.c | Chris Lattner | 2005-05-13 | 2 | -3/+4 | |
| | | | | llvm-svn: 21985 | |||||
* | switch to having the callee pop stack operands for fastcc. This is ↵ | Chris Lattner | 2005-05-13 | 3 | -16/+43 | |
| | | | | | | | | currently buggy do not use llvm-svn: 21984 | |||||
* | Tolerate instrs with extra args | Chris Lattner | 2005-05-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 21982 | |||||
* | allow RETI | Chris Lattner | 2005-05-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 21980 | |||||
* | treat TAILCALL nodes identically to CALL nodes | Chris Lattner | 2005-05-13 | 4 | -4/+14 | |
| | | | | llvm-svn: 21977 | |||||
* | Build TAILCALL nodes in LowerCallTo, treat them like normal calls everywhere. | Chris Lattner | 2005-05-13 | 1 | -8/+14 | |
| | | | | llvm-svn: 21976 | |||||
* | Capitalize | Chris Lattner | 2005-05-13 | 1 | -3/+3 | |
| | | | | llvm-svn: 21964 | |||||
* | capitalize | Chris Lattner | 2005-05-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 21962 | |||||
* | clarify that these are v9 options | Chris Lattner | 2005-05-13 | 1 | -3/+3 | |
| | | | | llvm-svn: 21960 | |||||
* | hide this option | Chris Lattner | 2005-05-13 | 2 | -2/+2 | |
| | | | | llvm-svn: 21959 | |||||
* | Add an isTailCall flag to LowerCallTo | Chris Lattner | 2005-05-13 | 7 | -18/+32 | |
| | | | | llvm-svn: 21958 | |||||
* | Handle TAILCALL node | Chris Lattner | 2005-05-13 | 2 | -3/+10 | |
| | | | | llvm-svn: 21957 | |||||
* | add 'ret imm' instruction | Chris Lattner | 2005-05-13 | 1 | -1/+3 | |
| | | | | llvm-svn: 21945 | |||||
* | Realize that we don't support fmod directly, fixing ↵ | Chris Lattner | 2005-05-13 | 2 | -2/+6 | |
| | | | | | | CodeGen/Generic/print-arith-fp.ll llvm-svn: 21939 | |||||
* | Do not CopyFromReg physregs for live-in values. Instead, create a vreg for | Chris Lattner | 2005-05-13 | 1 | -31/+70 | |
| | | | | | | | | | | each live in, and copy the regs from the vregs. As the very first thing we do in the function, insert copies from the pregs to the vregs. This fixes problems where the token chain of CopyFromReg was not enough to allow reordering of the copyfromreg nodes and other unchained nodes (e.g. div, which clobbers eax on intel). llvm-svn: 21932 | |||||
* | 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 | |||||
* | calling a function with the wrong CC is undefined, turn it into an unreachable | Chris Lattner | 2005-05-13 | 1 | -0/+14 | |
| | | | | | | | instruction. This is useful for catching optimizers that don't preserve calling conventions llvm-svn: 21928 | |||||
* | allow a virtual register to be associated with live-in values. | Chris Lattner | 2005-05-13 | 2 | -8/+8 | |
| | | | | llvm-svn: 21927 | |||||
* | Make sure that decompression checks for the case that bzip2 returns | Reid Spencer | 2005-05-13 | 1 | -4/+6 | |
| | | | | | | | | BZ_OK (meaning more data is expected) but there is no more input data. In this case, the input file is probably truncated. Generate an exception that indicates this case when its detected. llvm-svn: 21926 | |||||
* | When lowering invokes to calls, amke sure to preserve the calling conv. This | Chris Lattner | 2005-05-13 | 1 | -7/+9 | |
| | | | | | | fixes Ptrdist/anagram with x86 llcbeta llvm-svn: 21925 | |||||
* | Prefer int 0 instead of long 0 for GEP arguments. | Chris Lattner | 2005-05-13 | 1 | -3/+3 | |
| | | | | llvm-svn: 21924 | |||||
* | Fix a problem that nate reduced for me. | Chris Lattner | 2005-05-13 | 1 | -1/+2 | |
| | | | | llvm-svn: 21923 |