summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Changes for ffs lib call simplification:Reid Spencer2005-05-141-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.llxChris Lattner2005-05-141-4/+10
| | | | llvm-svn: 22026
* Preserve calling conv when hacking on callsChris Lattner2005-05-142-0/+6
| | | | llvm-svn: 22025
* preserve calling conventions when hacking on codeChris Lattner2005-05-142-1/+4
| | | | llvm-svn: 22024
* Make sure to preserve the calling convention when changing an invoke intoChris Lattner2005-05-141-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 Lattner2005-05-141-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 haveChris Lattner2005-05-141-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 nodeChris Lattner2005-05-141-0/+2
| | | | llvm-svn: 22020
* remove special case hacks for readport/readio from the binary operatorChris Lattner2005-05-142-13/+15
| | | | | | codepath llvm-svn: 22019
* Implement fixme's by memoizing nodes.Chris Lattner2005-05-141-9/+21
| | | | llvm-svn: 22018
* Turn this into a wrapper for a simpler version of getNode.Chris Lattner2005-05-141-8/+7
| | | | llvm-svn: 22016
* Eliminate special purpose hacks for dynamic_stack_alloc.Chris Lattner2005-05-143-20/+15
| | | | llvm-svn: 22015
* Use the general mechanism for creating multi-value nodes instead of usingChris Lattner2005-05-142-56/+60
| | | | | | special case hacks. llvm-svn: 22014
* use a target-specific node and custom expander to lower long->FP to FILD64m.Chris Lattner2005-05-141-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 Lattner2005-05-141-1/+3
| | | | llvm-svn: 22011
* legalize target-specific operationsChris Lattner2005-05-141-0/+23
| | | | llvm-svn: 22010
* add a getNode() version that allows construction of any node type.Chris Lattner2005-05-141-9/+33
| | | | llvm-svn: 22009
* LowerOperation takes a dagChris Lattner2005-05-142-3/+3
| | | | llvm-svn: 22004
* Print the symbolic register name in a register allocator debug dump.Chris Lattner2005-05-143-17/+29
| | | | llvm-svn: 22002
* Allow targets to have a custom int64->fp expander if desiredChris Lattner2005-05-141-0/+11
| | | | llvm-svn: 22001
* Make sure the start of the arg area and the end (after the RA is pushed)Chris Lattner2005-05-131-2/+22
| | | | | | is always 8-byte aligned for fastcc llvm-svn: 21995
* fix the assertionChris Lattner2005-05-131-1/+1
| | | | llvm-svn: 21994
* Align doubles on 8-byte boundaries if possible.Chris Lattner2005-05-131-0/+9
| | | | llvm-svn: 21993
* print stack object alignment in -print-machineinstr dumpsChris Lattner2005-05-131-2/+4
| | | | llvm-svn: 21992
* fix typoChris Lattner2005-05-131-3/+3
| | | | llvm-svn: 21991
* Fix the problems with callee popped argument listsChris Lattner2005-05-131-1/+37
| | | | llvm-svn: 21988
* Don't emit SAR X, 0 in the case of sdiv Y, 2Chris Lattner2005-05-131-2/+7
| | | | llvm-svn: 21986
* Fix UnitTests/2005-05-13-SDivTwo.cChris Lattner2005-05-132-3/+4
| | | | llvm-svn: 21985
* switch to having the callee pop stack operands for fastcc. This is ↵Chris Lattner2005-05-133-16/+43
| | | | | | | | currently buggy do not use llvm-svn: 21984
* Tolerate instrs with extra argsChris Lattner2005-05-131-1/+1
| | | | llvm-svn: 21982
* allow RETIChris Lattner2005-05-131-1/+1
| | | | llvm-svn: 21980
* treat TAILCALL nodes identically to CALL nodesChris Lattner2005-05-134-4/+14
| | | | llvm-svn: 21977
* Build TAILCALL nodes in LowerCallTo, treat them like normal calls everywhere.Chris Lattner2005-05-131-8/+14
| | | | llvm-svn: 21976
* CapitalizeChris Lattner2005-05-131-3/+3
| | | | llvm-svn: 21964
* capitalizeChris Lattner2005-05-131-1/+1
| | | | llvm-svn: 21962
* clarify that these are v9 optionsChris Lattner2005-05-131-3/+3
| | | | llvm-svn: 21960
* hide this optionChris Lattner2005-05-132-2/+2
| | | | llvm-svn: 21959
* Add an isTailCall flag to LowerCallToChris Lattner2005-05-137-18/+32
| | | | llvm-svn: 21958
* Handle TAILCALL nodeChris Lattner2005-05-132-3/+10
| | | | llvm-svn: 21957
* add 'ret imm' instructionChris Lattner2005-05-131-1/+3
| | | | llvm-svn: 21945
* Realize that we don't support fmod directly, fixing ↵Chris Lattner2005-05-132-2/+6
| | | | | | CodeGen/Generic/print-arith-fp.ll llvm-svn: 21939
* Do not CopyFromReg physregs for live-in values. Instead, create a vreg forChris Lattner2005-05-131-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 Lattner2005-05-131-2/+2
| | | | llvm-svn: 21931
* Allow targets to emit code into the entry block of each functionChris Lattner2005-05-131-0/+2
| | | | llvm-svn: 21930
* calling a function with the wrong CC is undefined, turn it into an unreachableChris Lattner2005-05-131-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 Lattner2005-05-132-8/+8
| | | | llvm-svn: 21927
* Make sure that decompression checks for the case that bzip2 returnsReid Spencer2005-05-131-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. ThisChris Lattner2005-05-131-7/+9
| | | | | | fixes Ptrdist/anagram with x86 llcbeta llvm-svn: 21925
* Prefer int 0 instead of long 0 for GEP arguments.Chris Lattner2005-05-131-3/+3
| | | | llvm-svn: 21924
* Fix a problem that nate reduced for me.Chris Lattner2005-05-131-1/+2
| | | | llvm-svn: 21923
OpenPOWER on IntegriCloud