summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* The debugger sometimes lookup dynamically in the runtime to find ivar info ↵Devang Patel2009-02-173-4/+16
| | | | | | | | of any Objective-C classes. It would be very helpful to debugger if the compiler encodes runtime version number in DWARF. Add support for two additional DWARF attributes to encode Objective-C runtime version number. llvm-svn: 64834
* Remove trailing whitespace to reduce later commit patch noise.Scott Michel2009-02-178-1609/+1609
| | | | | | | | (Note: Eventually, commits like this will be handled via a pre-commit hook that does this automagically, as well as expand tabs to spaces and look for 80-col violations.) llvm-svn: 64827
* Emit debug info for bitfields.Devang Patel2009-02-172-4/+30
| | | | llvm-svn: 64815
* LoopIndexSplit doesn't actually use ScalarEvolution.Dan Gohman2009-02-171-4/+1
| | | | llvm-svn: 64811
* Add a method to ScalarEvolution for telling it when a loop has beenDan Gohman2009-02-173-12/+32
| | | | | | | | | | | modified in a way that may effect the trip count calculation. Change IndVars to use this method when it rewrites pointer or floating-point induction variables instead of using a doInitialization method to sneak these changes in before ScalarEvolution has a chance to see the loop. This eliminates the need for LoopPass to depend on ScalarEvolution. llvm-svn: 64810
* commit a tweaked version of Daniel's patch for PR3599. We nowChris Lattner2009-02-171-26/+29
| | | | | | | eliminate all the extensions and all but the one required truncate from the testcase, but the or/and/shift stuff still isn't zapped. llvm-svn: 64809
* Move dumpPassStructure out of line.Dan Gohman2009-02-171-0/+10
| | | | llvm-svn: 64796
* Delete trailing whitespace.Dan Gohman2009-02-171-34/+34
| | | | llvm-svn: 64784
* This transform also applies to private linkage.Duncan Sands2009-02-171-2/+2
| | | | llvm-svn: 64773
* Fix 80-column violation.Dan Gohman2009-02-171-1/+2
| | | | llvm-svn: 64766
* A couple of places where reused use operands should be marked kill. This is ↵Evan Cheng2009-02-171-0/+11
| | | | | | exposed by recent availability fallthrough changes. llvm-svn: 64745
* add a horrible noteChris Lattner2009-02-171-0/+41
| | | | llvm-svn: 64719
* --- Merging (from foreign repository) r64714 into '.':Bill Wendling2009-02-173-31/+59
| | | | | | | | | | | | U include/llvm/CodeGen/DebugLoc.h U lib/CodeGen/SelectionDAG/LegalizeDAG.cpp U lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp Enable debug location generation at -Os. This goes with the reapplication of the r63639 patch. llvm-svn: 64715
* Strengthen the "non-constant stride must dominate loop preheader" check.Evan Cheng2009-02-172-9/+44
| | | | llvm-svn: 64703
* Simplify; fix some 80-column violations.Dan Gohman2009-02-171-6/+7
| | | | llvm-svn: 64702
* Delete trailing whitespace.Dan Gohman2009-02-161-5/+5
| | | | llvm-svn: 64694
* Fix EnforceKnownAlignment so that it doesn't ever reduce the alignmentDan Gohman2009-02-161-4/+12
| | | | | | of an alloca or global variable. llvm-svn: 64693
* Fix typo caused by too much surfing, dudes...Nick Lewycky2009-02-161-1/+1
| | | | llvm-svn: 64626
* Delete this long-commented-out code. The situation it seems to haveDan Gohman2009-02-161-26/+0
| | | | | | | been written for is no longer relevant with the elimination of signed and unsigned types. llvm-svn: 64625
* Change these tests to use regular loads instead of llvm.x86.sse2.loadu.dq.Dan Gohman2009-02-161-3/+5
| | | | | | | | Enhance instcombine to use the preferred field of GetOrEnforceKnownAlignment in more cases, so that regular IR operations are optimized in the same way that the intrinsics currently are. llvm-svn: 64623
* Don't assume that a left-shift of a value with one bit set will haveDan Gohman2009-02-151-6/+23
| | | | | | | | one bit set, because the bit may be shifted off the end. Instead, just check for a constant 1 being shifted. This is still sufficient to handle all the cases in test/CodeGen/X86/bt.ll. This fixes PR3583. llvm-svn: 64622
* MachineLICM now handles these cases.Dan Gohman2009-02-151-85/+0
| | | | llvm-svn: 64620
* Update the list of function annotations for nocapture. All of these came upNick Lewycky2009-02-151-47/+186
| | | | | | | | | | | when I was looking at functions used by python. Highlights include, better largefile support (64-bit file sizes on 32-bit systems), fputs string is nocapture, popen/pclose added (popen being noalias return), modf and frexp and friends. Also added some missing 'break' statements and combined identical sections. llvm-svn: 64615
* On 64bit we may have a personality function which requires 64 bits toNicolas Geoffray2009-02-151-7/+13
| | | | | | be encoded. llvm-svn: 64600
* Make this more useful for cleaning up after theDuncan Sands2009-02-151-15/+5
| | | | | | | one-definition-rule llvm-gcc changes (coming soon to a tree near you!). llvm-svn: 64588
* If the target of an alias has internal linkage, then theDuncan Sands2009-02-151-7/+55
| | | | | | | | alias can be morphed into the target. Implement this transform, and fix a crash in the existing transform at the same time. llvm-svn: 64583
* Fix PR3522. It's not safe to sink into landing pad BB's.Evan Cheng2009-02-151-0/+5
| | | | llvm-svn: 64582
* Fix pr3571: If stride is a value defined by an instruction, make sure it ↵Evan Cheng2009-02-151-5/+15
| | | | | | dominates the loop preheader. When IV users are strength reduced, the stride is inserted into the preheader. It could create a use before def situation. llvm-svn: 64579
* ifdef out unneeded if statement.Evan Cheng2009-02-151-0/+2
| | | | llvm-svn: 64575
* Fix warning on gcc 4.3.Mikhail Glushenkov2009-02-151-1/+4
| | | | | | "system() declared with attribute warn_unused_result." llvm-svn: 64574
* Whitespace fixes.Mikhail Glushenkov2009-02-151-58/+58
| | | | llvm-svn: 64573
* Unbreak the build on win32.Cedric Venet2009-02-143-3/+4
| | | | | | | | | | Cleanup some warning. Remark: when struct/class are declared differently than they are defined, this make problem for VC++ since it seems to mangle class differently that struct. These error are very hard to understand and find. So please, try to keep your definition/declaration in sync. Only tested with VS2008. hope it does not break anything. feel free to revert. llvm-svn: 64554
* Generalize some alias analysis logic from atomicDuncan Sands2009-02-142-52/+6
| | | | | | intrinsics to any IntrWriteArgMem intrinsics. llvm-svn: 64551
* The x86-64 red zone is now being used.Dan Gohman2009-02-141-4/+0
| | | | llvm-svn: 64535
* Extend the IndVarSimplify support for promoting induction variables:Dan Gohman2009-02-141-44/+134
| | | | | | | | | - Test for signed and unsigned wrapping conditions, instead of just testing for non-negative induction ranges. - Handle loops with GT comparisons, in addition to LT comparisons. - Support more cases of induction variables that don't start at 0. llvm-svn: 64532
* Clarify debug output.Dan Gohman2009-02-141-1/+1
| | | | llvm-svn: 64531
* Simplify some code. hasComputableLoopEvolution is overkill in this case.Dan Gohman2009-02-141-9/+8
| | | | | | No functionality change. llvm-svn: 64530
* Teach x86 target -soft-float.Evan Cheng2009-02-131-30/+39
| | | | llvm-svn: 64496
* In CodeGenPrepare's debug output, use WriteAsOperand instead ofDan Gohman2009-02-131-6/+16
| | | | | | printing getName(), so that unnamed values are printed correctly. llvm-svn: 64468
* Complete the sentance in this comment. I have reservationsDan Gohman2009-02-131-0/+1
| | | | | | | about the code it describes, but at least now the comment is right. llvm-svn: 64465
* If a function only reads memory, then we know that...Duncan Sands2009-02-131-7/+11
| | | | | | | | it only reads memory! The other change has no functional effect, it just seems more logical to go in order of decreasing knowledge. llvm-svn: 64463
* Mark strto* as readonly when the endptr is null.Nick Lewycky2009-02-131-1/+3
| | | | llvm-svn: 64460
* On strtod and friends, mark 'endptr' nocapture in the function prototype, andNick Lewycky2009-02-131-3/+37
| | | | | | mark the first argument nocapture if endptr=NULL for each particular call. llvm-svn: 64453
* Reapply r64301. These uses of "inline" can cause strangeDuncan Sands2009-02-131-8/+8
| | | | | | | link-time failures when building with optimization. Just get rid of them. llvm-svn: 64449
* Switch from new[] + delete[] to malloc + free since llvm does not catch C++ ↵Evan Cheng2009-02-131-3/+3
| | | | | | exceptions. llvm-svn: 64448
* If new[] fails, return 0 rather then trying to dereference a null pointer.Evan Cheng2009-02-131-3/+12
| | | | llvm-svn: 64444
* Reapply r64300:Nick Lewycky2009-02-131-2/+12
| | | | | | | | | Make sure the SCC pass manager initializes any contained function pass managers. Without this, simplify-libcalls would add nocapture attributes when run on its own, but not when run as part of -std-compile-opts or similar. llvm-svn: 64443
* BasicAA was making the assumption that a local allocation which hadn't escapedNick Lewycky2009-02-131-3/+3
| | | | | | | | couldn't ever be the return of call instruction. However, it's quite possible that said local allocation is itself the return of a function call. That's what malloc and calloc are for, actually. llvm-svn: 64442
* Fix the code that checked if a SCEVAddRecExpr Start contains anDan Gohman2009-02-131-1/+1
| | | | | | | | | addrec in a different loop to check the value being added to the accumulated Start value, not the Start value before it has the new value added to it. This prevents LSR from going crazy on the included testcase. Dale, please review. llvm-svn: 64440
* Remove non-DebugLoc versions of BuildMI from IA64, Mips.Dale Johannesen2009-02-138-47/+59
| | | | llvm-svn: 64438
OpenPOWER on IntegriCloud