aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2007-11-24add a noteChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44299 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-23Fix PR1816, by correcting the broken definition of APInt::countTrailingZeros.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44296 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-23simplify some code.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44295 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-23Fix APInt::countTrailingZeros to return BitWidth if the input is zero ↵Chris Lattner
instead of returning some random large number. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44294 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-23add a comment.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44293 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-23splice some lines together, no functionality change.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44292 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-23Ding dong, the DoesntAccessMemoryFns andDuncan Sands
OnlyReadsMemoryFns tables are dead! We get more, and more accurate, information from gcc via the readnone and readonly function attributes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44288 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-23Remove some logic I thoughtlessly copied overDuncan Sands
from the old ADCE implementation (there it was correct because the transform was being done for read-only functions). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44287 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-23Fix a bug where we'd try to find a scev value for a bitcast operand,Chris Lattner
even though the bitcast operand did not have integer type. This fixes PR1814. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44286 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22Fix PR1817.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44284 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22Don't crash on bogus llvm.noinline. This is first part of PR1817 (preventing ↵Anton Korobeynikov
reduction) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44281 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22Turn invokes of nounwind functions into ordinary calls.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44280 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22Teach alias analysis about readnone/readonly functions.Duncan Sands
Based on a patch by Török Edwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44279 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22Readonly/readnone functions are allowed to throwDuncan Sands
exceptions, so don't turn invokes of them into calls. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44278 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22Rename the 'const' parameter attribute to 'readnone',Duncan Sands
and the 'pure' parameter attribute to 'readonly'. Names suggested by DannyB. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44273 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22Instead of calculating constant factors, calculate the number of trailingNick Lewycky
bits. Patch from Wojciech Matyjewicz. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44268 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-22Create nodes for inline asm so that we don't crash looking for the node later.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44267 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-21Fix a bug in which node A is replaced by node B, but laterDuncan Sands
node A gets back into the DAG again because it was hiding in one of the node maps: make sure that node replacement happens in those maps too. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44263 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-21typoNick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44262 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-21Fix compiler warning.Dale Johannesen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44261 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-21This change does a couple of things. First it gets the Visual Studio builds ↵Chuck Rose III
working. I added the lexing files to the VStudio projects and removed the .l files from the VStudio projects. There was a problem with use of strtoll in TGLexer.cpp and Chris suggested switching to strtol, so that's included here. Additionally, this checkin adds minimal x64 builds to the VStudio builds. Build issues related to x64 in the windows specific files for DynamicLibrary.inc and Singals.inc are worked around, but not ultimately solved. Binaries used to be stored in ...\win32\{Debug|Release} but are now kept in ...\win32\bin\{win32|x64}\{Debug|Release} intermediate files will continue to be stored in the individual project directories under win32. Some names will likely change in the future to reflect that the vstudio projects are no longer 32-bit only, but I wanted to get things up and running today so kept away from bigger restructuring. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44260 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-20Fix .eh table linkage issues on Darwin. Some EH supportDale Johannesen
for Darwin PPC, but it's not fully working yet. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44258 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-20In order for parameter attribute uniquing to makeDuncan Sands
any sense it is important that ParamAttr::None gets treated the same as not supplying an attribute at all. Rather than stripping ParamAttr::None out of the list of attributes, assert if ParamAttr::None is seen. Fix up the bitcode reader which liked to insert ParamAttr::None all over the place. Patch based on one by Török Edwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44250 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-20Small cleanup. Use APInt::getHighBitsSet method instead of shift left.Nick Lewycky
"setcc" -> "icmp op" in comments. No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44249 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-20Be more careful when transforming | to +. Patch from Wojciech Matyjewicz.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44248 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-19ExpandUnalignedLoad doesn't handle vectors right at all apparently.Chris Lattner
Fix a couple of problems: 1. Don't assume the VT-1 is a VT that is half the size. 2. Treat vectors of FP in the vector path, not the FP path. This has a couple of remaining problems before it will work with the code in PR1811: the code below this change assumes that it can use extload/shift/or to construct the result, which isn't right for vectors. This also doesn't handle vectors of 1 or vectors that aren't pow-2. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44243 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-19Implement vector expand support for shuffle_vector. This fixes PR1811.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44242 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-19Remove meaningless qualifiers from return types, avoiding compiler warnings.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44240 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-19Implement splitting of UNDEF nodes. This is the first step towards fixing PR1811Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44239 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-19Add explicit keywords.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44234 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-19Add support in SplitVectorOp for remainder operators.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44233 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-18Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN ↵Chris Lattner
return a valid but empty buffer if stdin is empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44219 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-18autoupgrade files that use callfoo as call foo.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44218 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-18print a call to a fastcc function as:Chris Lattner
call x86_fastcallcc void @func( i32* %X, i64 0 ) not: callx86_fastcallcc void @func( i32* %X, i64 0 ) This fixes Codegen/X86/fast-cc-merge-stack-adj.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44217 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-18Bugfix, this fixes CodeGen/X86/ldzero.ll and ↵Chris Lattner
CodeGen/X86/2007-10-16-fp80_select.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44215 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-18Replace the original flex lexer with a hand writen one. This Chris Lattner
drops a dependency on flex and lets us make future progress more easily. Yay for 2 fewer .cvs files to make silly conflicts with. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44213 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-17Add support for vectors to int <-> float casts.Nate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44204 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-17Remove indeterminism from a loop. We think this willDale Johannesen
fix an occasional nonrepeatable bootstrap failure we've been seeing on Darwin. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44202 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-17Fix denormal check in float->APInt conversion.Dale Johannesen
PR 1804. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44201 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-17Live interval splitting:Evan Cheng
When a live interval is being spilled, rather than creating short, non-spillable intervals for every def / use, split the interval at BB boundaries. That is, for every BB where the live interval is defined or used, create a new interval that covers all the defs and uses in the BB. This is designed to eliminate one common problem: multiple reloads of the same value in a single basic block. Note, it does *not* decrease the number of spills since no copies are inserted so the split intervals are *connected* through spill and reloads (or rematerialization). The newly created intervals can be spilled again, in that case, since it does not span multiple basic blocks, it's spilled in the usual manner. However, it can reuse the same stack slot as the previously split interval. This is currently controlled by -split-intervals-at-bb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44198 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-16Fix for PR1801Tanya Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44193 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-16Fix PR1800 by correcting mistaken logic.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44188 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-16Implement codegen for flt_rounds on x86Anton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44183 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15Implement necessary bits for flt_rounds gcc builtin. Anton Korobeynikov
Codegen bits and llvm-gcc support will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44182 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15Basic non-power-of-2 vector supportNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44181 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15Reverted r44163 per requestAnton Korobeynikov
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44177 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15This assertion was bogus.Duncan Sands
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44167 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15Fix a thinko in post-allocation coalescer.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44166 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEVNick Lewycky
is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44163 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-15Fix PR1788 by taking the approach suggested by Richard Smith.Chris Lattner
Thanks to him for his detailed analysis of the problem. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44162 91177308-0d34-0410-b5e6-96231b3b80d8