summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* simplify some code.Chris Lattner2007-11-231-5/+1
| | | | llvm-svn: 44295
* Fix APInt::countTrailingZeros to return BitWidth if the input is zero ↵Chris Lattner2007-11-231-2/+2
| | | | | | instead of returning some random large number. llvm-svn: 44294
* add a comment.Chris Lattner2007-11-231-1/+1
| | | | llvm-svn: 44293
* splice some lines together, no functionality change.Chris Lattner2007-11-231-11/+7
| | | | llvm-svn: 44292
* Ding dong, the DoesntAccessMemoryFns andDuncan Sands2007-11-231-113/+0
| | | | | | | | | OnlyReadsMemoryFns tables are dead! We get more, and more accurate, information from gcc via the readnone and readonly function attributes. llvm-svn: 44288
* Remove some logic I thoughtlessly copied overDuncan Sands2007-11-231-3/+0
| | | | | | | | from the old ADCE implementation (there it was correct because the transform was being done for read-only functions). llvm-svn: 44287
* Fix a bug where we'd try to find a scev value for a bitcast operand,Chris Lattner2007-11-231-0/+8
| | | | | | | even though the bitcast operand did not have integer type. This fixes PR1814. llvm-svn: 44286
* Fix PR1817.Chris Lattner2007-11-221-1/+6
| | | | llvm-svn: 44284
* Don't crash on bogus llvm.noinline. This is first part of PR1817 (preventing ↵Anton Korobeynikov2007-11-221-0/+4
| | | | | | reduction) llvm-svn: 44281
* Turn invokes of nounwind functions into ordinary calls.Duncan Sands2007-11-221-1/+49
| | | | llvm-svn: 44280
* Teach alias analysis about readnone/readonly functions.Duncan Sands2007-11-221-0/+6
| | | | | | Based on a patch by Török Edwin. llvm-svn: 44279
* Readonly/readnone functions are allowed to throwDuncan Sands2007-11-221-27/+1
| | | | | | | exceptions, so don't turn invokes of them into calls. llvm-svn: 44278
* Rename the 'const' parameter attribute to 'readnone',Duncan Sands2007-11-224-11/+11
| | | | | | | and the 'pure' parameter attribute to 'readonly'. Names suggested by DannyB. llvm-svn: 44273
* Instead of calculating constant factors, calculate the number of trailingNick Lewycky2007-11-221-54/+47
| | | | | | bits. Patch from Wojciech Matyjewicz. llvm-svn: 44268
* Create nodes for inline asm so that we don't crash looking for the node later.Nick Lewycky2007-11-221-0/+8
| | | | llvm-svn: 44267
* Fix a bug in which node A is replaced by node B, but laterDuncan Sands2007-11-211-7/+30
| | | | | | | | 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. llvm-svn: 44263
* typoNick Lewycky2007-11-211-1/+1
| | | | llvm-svn: 44262
* Fix compiler warning.Dale Johannesen2007-11-211-1/+1
| | | | llvm-svn: 44261
* This change does a couple of things. First it gets the Visual Studio builds ↵Chuck Rose III2007-11-212-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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. llvm-svn: 44260
* Fix .eh table linkage issues on Darwin. Some EH supportDale Johannesen2007-11-207-13/+44
| | | | | | for Darwin PPC, but it's not fully working yet. llvm-svn: 44258
* In order for parameter attribute uniquing to makeDuncan Sands2007-11-202-8/+10
| | | | | | | | | | | | 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. llvm-svn: 44250
* Small cleanup. Use APInt::getHighBitsSet method instead of shift left.Nick Lewycky2007-11-201-5/+4
| | | | | | "setcc" -> "icmp op" in comments. No functionality change. llvm-svn: 44249
* Be more careful when transforming | to +. Patch from Wojciech Matyjewicz.Nick Lewycky2007-11-201-6/+8
| | | | llvm-svn: 44248
* ExpandUnalignedLoad doesn't handle vectors right at all apparently.Chris Lattner2007-11-191-8/+22
| | | | | | | | | | | | | | | 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. llvm-svn: 44243
* Implement vector expand support for shuffle_vector. This fixes PR1811.Chris Lattner2007-11-191-0/+35
| | | | llvm-svn: 44242
* Remove meaningless qualifiers from return types, avoiding compiler warnings.Dan Gohman2007-11-193-3/+3
| | | | llvm-svn: 44240
* Implement splitting of UNDEF nodes. This is the first step towards fixing PR1811Chris Lattner2007-11-191-0/+4
| | | | llvm-svn: 44239
* Add explicit keywords.Dan Gohman2007-11-193-6/+7
| | | | llvm-svn: 44234
* Add support in SplitVectorOp for remainder operators.Dan Gohman2007-11-191-1/+4
| | | | llvm-svn: 44233
* Fix the Linker testcase regressions, by making MemoryBuffer::getFileOrSTDIN ↵Chris Lattner2007-11-181-0/+18
| | | | | | | | return a valid but empty buffer if stdin is empty. llvm-svn: 44219
* autoupgrade files that use callfoo as call foo.Chris Lattner2007-11-181-1/+9
| | | | llvm-svn: 44218
* print a call to a fastcc function as:Chris Lattner2007-11-181-2/+2
| | | | | | | | | | 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 llvm-svn: 44217
* Bugfix, this fixes CodeGen/X86/ldzero.ll and ↵Chris Lattner2007-11-181-1/+1
| | | | | | CodeGen/X86/2007-10-16-fp80_select.ll llvm-svn: 44215
* Replace the original flex lexer with a hand writen one. This Chris Lattner2007-11-189-4424/+929
| | | | | | | drops a dependency on flex and lets us make future progress more easily. Yay for 2 fewer .cvs files to make silly conflicts with. llvm-svn: 44213
* Add support for vectors to int <-> float casts.Nate Begeman2007-11-176-18/+102
| | | | llvm-svn: 44204
* Remove indeterminism from a loop. We think this willDale Johannesen2007-11-171-2/+6
| | | | | | | fix an occasional nonrepeatable bootstrap failure we've been seeing on Darwin. llvm-svn: 44202
* Fix denormal check in float->APInt conversion.Dale Johannesen2007-11-171-1/+1
| | | | | | PR 1804. llvm-svn: 44201
* Live interval splitting:Evan Cheng2007-11-176-139/+588
| | | | | | | | | | | | | | | | | | | 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. llvm-svn: 44198
* Fix for PR1801Tanya Lattner2007-11-161-0/+3
| | | | llvm-svn: 44193
* Fix PR1800 by correcting mistaken logic.Chris Lattner2007-11-161-2/+1
| | | | llvm-svn: 44188
* Implement codegen for flt_rounds on x86Anton Korobeynikov2007-11-163-3/+75
| | | | llvm-svn: 44183
* Implement necessary bits for flt_rounds gcc builtin. Anton Korobeynikov2007-11-154-0/+24
| | | | | | Codegen bits and llvm-gcc support will follow. llvm-svn: 44182
* Basic non-power-of-2 vector supportNate Begeman2007-11-156-319/+320
| | | | llvm-svn: 44181
* Reverted r44163 per requestAnton Korobeynikov2007-11-151-52/+4
| | | | llvm-svn: 44177
* This assertion was bogus.Duncan Sands2007-11-151-3/+2
| | | | llvm-svn: 44167
* Fix a thinko in post-allocation coalescer.Evan Cheng2007-11-151-3/+10
| | | | llvm-svn: 44166
* Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEVNick Lewycky2007-11-151-4/+51
| | | | | | | is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested. llvm-svn: 44163
* Fix PR1788 by taking the approach suggested by Richard Smith.Chris Lattner2007-11-151-11/+16
| | | | | | Thanks to him for his detailed analysis of the problem. llvm-svn: 44162
* More templatization.Owen Anderson2007-11-151-230/+1
| | | | llvm-svn: 44158
* Adding debug output during coalescing.Bill Wendling2007-11-151-0/+1
| | | | llvm-svn: 44154
OpenPOWER on IntegriCloud