summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Instcombine's ShrinkDemandedConstant may strip bits out of constants,Dan Gohman2009-06-162-3/+32
| | | | | | | | obscuring what would otherwise be a low-bits mask. Use ComputeMaskedBits to compute what ShrinkDemandedConstant knew about to reconstruct a low-bits mask value. llvm-svn: 73540
* CALL64pcrel32 immediate field is 32-bit. Patch by Abhinav Duggal.Evan Cheng2009-06-161-1/+1
| | | | llvm-svn: 73536
* Address review comments: add 3 ARM calling conventions.Anton Korobeynikov2009-06-168-39/+72
| | | | | | | Dispatch C calling conv. to one of these conventions based on target triple and subtarget features. llvm-svn: 73530
* GNU as refuses to assemble "pop {}" instruction. Do not emit suchAnton Korobeynikov2009-06-162-3/+7
| | | | | | | (this is the case when we have thumb vararg function with single callee-saved register, which is handled separately). llvm-svn: 73529
* Add -Wundeclared-selector to -Wmost options group.Fariborz Jahanian2009-06-161-1/+3
| | | | llvm-svn: 73524
* Add a configure check for pthread_rwlock_init.Owen Anderson2009-06-163-0/+109
| | | | llvm-svn: 73523
* Update the threading section to reflect current plans/implementation.Owen Anderson2009-06-161-16/+36
| | | | llvm-svn: 73521
* It is possible that main input file does not have any symbol with debug ↵Devang Patel2009-06-164-21/+61
| | | | | | | | info. To handle this edge case, always create main compile unit first. This fixes PR 4228. llvm-svn: 73520
* Test case was left behind from my last patch.Fariborz Jahanian2009-06-161-0/+45
| | | | llvm-svn: 73519
* Update checker build.Ted Kremenek2009-06-161-1/+1
| | | | llvm-svn: 73518
* Add Threading.cpp to the CMake project filesDouglas Gregor2009-06-161-0/+1
| | | | llvm-svn: 73516
* Fix validation errors.Owen Anderson2009-06-161-2/+3
| | | | llvm-svn: 73515
* testcase for r72869, it turns out that it happens in Ruby.Chris Lattner2009-06-161-0/+11
| | | | llvm-svn: 73514
* Split the thread-related APIs out into their own file, and add a few moreOwen Anderson2009-06-164-27/+113
| | | | | | calls for convenience. llvm-svn: 73512
* follow-on to my patch: some targets (like sparc) do notChris Lattner2009-06-161-0/+2
| | | | | | | have target-specific builtins, and do not set the count. Just default to 0 for these targets. llvm-svn: 73510
* Testcase for r73506Chris Lattner2009-06-161-0/+15
| | | | llvm-svn: 73508
* Generalize instcombine's isSafeToLoadUnconditionally() functionChris Lattner2009-06-163-39/+55
| | | | | | | to ignore readonly calls, and factor it out of instcombine so that it can be used by other passes. Patch by Frits van Bommel! llvm-svn: 73506
* Implements -Wundeclared-selector for ObjC.Fariborz Jahanian2009-06-162-0/+11
| | | | llvm-svn: 73495
* remove extraneous diff.Chris Lattner2009-06-161-2/+0
| | | | llvm-svn: 73494
* my refactoring of builtins changed target-specific builtins to only beChris Lattner2009-06-165-9/+10
| | | | | | | | | registered when PCH wasn't being used. We should always install (in BuiltinInfo) information about target-specific builtins, but we shouldn't register any builtin identifier infos. This fixes the build of apps that use PCH and target specific builtins together. llvm-svn: 73492
* Added missing libcalls for floating point to int conversions.Sanjiv Gupta2009-06-161-7/+59
| | | | llvm-svn: 73491
* Remove the "llvm.umul.with.overflow is broken" warning; it should be Eli Friedman2009-06-161-3/+0
| | | | | | | essentially working now, at least for common cases, and it shouldn't silently generate bad code. llvm-svn: 73484
* Fixed names of libcalls checked in r73480.Sanjiv Gupta2009-06-162-12/+4
| | | | llvm-svn: 73483
* Use canonical type for building ElementRegion. Otherwise ElementRegions cannotZhongxing Xu2009-06-166-16/+35
| | | | | | be unique. llvm-svn: 73482
* Code Restructuring. No functionality change.Sanjiv Gupta2009-06-164-188/+352
| | | | llvm-svn: 73481
* Added required libcalls for PIC16 (mostly floating points to integer casting ↵Sanjiv Gupta2009-06-162-0/+24
| | | | | | operations). llvm-svn: 73480
* Rename RemoveCopiesFromValNo to TurnCopiesFromValNoToImpDefs.Evan Cheng2009-06-162-10/+10
| | | | llvm-svn: 73479
* If a val# is defined by an implicit_def and it is being removed, all of the ↵Evan Cheng2009-06-162-20/+371
| | | | | | | | copies off the val# were removed. This causes problem later since the scavenger will see uses of registers without defs. The proper solution is to change the copies into implicit_def's instead. TurnCopyIntoImpDef turns a copy into implicit_def and remove the val# defined by it. This causes an scavenger assertion later if the def reaches other blocks. Disable the transformation if the value live interval extends beyond its def block. llvm-svn: 73478
* Add some generic expansion logic for SMULO and UMULO. Fixes UMULO Eli Friedman2009-06-164-0/+85
| | | | | | | | support for x86, and UMULO/SMULO for many architectures, including PPC (PR4201), ARM, and Cell. The resulting expansion isn't perfect, but it's not bad. llvm-svn: 73477
* Misc accumulated tweaks to legalization logic for various targets.Eli Friedman2009-06-164-2/+25
| | | | llvm-svn: 73476
* Do not invalidate unboundable regions in GRSimpleVals::EvalCall().Zhongxing Xu2009-06-162-3/+6
| | | | llvm-svn: 73474
* another xform that is target-independent (should be done in instcombine).Chris Lattner2009-06-161-3/+23
| | | | llvm-svn: 73472
* I think instcombine should unconditionally do this xform.Chris Lattner2009-06-161-2/+17
| | | | llvm-svn: 73471
* Fix PR4336: Iterating over use-def chains doesn't seem to be deterministic.Chris Lattner2009-06-161-6/+5
| | | | | | | | | | | | | The problem was that BitcodeReader::materializeModule would read functions from the bc file in densemap pointer key order (doubly non-deterministic!), which would cause the use-def chains to be set up for globals in non-determinstic order. Non-determinstic use/def chains can cause nondeterminism in many places down-stream. Many thanks to Julien Lerouge for putting together the pass in the PR that shows the issue! llvm-svn: 73470
* There doesn't seem to be a reason to move the save FP stuff.Bill Wendling2009-06-161-7/+7
| | | | llvm-svn: 73468
* The DWARF to compact encoding converter assumes that the DW_CFA_def_cfa_offsetBill Wendling2009-06-161-20/+18
| | | | | | | | | | | | | | | | | | | | | | | comes after the DW_CFA_def_cfa_register, because the CFA is really ESP from the start of the function and only gets an offset when the "subl $xxx,%esp" instruction happens, not the other way around. And reapply r72898: The DWARF unwind info was incorrect. While compiling with `-fomit-frame-pointer', we would lack the DW_CFA_advance_loc information for a lot of function, and then they would be `0'. The linker (at least on Darwin) needs to encode the stack size. In some cases, the stack size is too large to directly encode. So the linker checks to see if there is a "subl $xxx,%esp" instruction at the point where the `DW_CFA_def_cfa_offset' says the pc was. If so, the compact encoding records the offset in the function to where the stack size is embedded. But because the `DW_CFA_advance_loc' instructions are missing, it looks before the function and dies. So, instead of emitting the EH debug label before the stack adjustment operations, emit it afterwards, right before the frame move stuff. llvm-svn: 73465
* Fix typos.Bill Wendling2009-06-161-2/+2
| | | | llvm-svn: 73464
* Handle temporaries in default arguments.Anders Carlsson2009-06-169-17/+59
| | | | llvm-svn: 73462
* Use MainCU if it is available.Devang Patel2009-06-162-2/+278
| | | | llvm-svn: 73457
* Add initial stab at documenting the use of LLVM with threaded clients.Owen Anderson2009-06-161-2/+109
| | | | | | Comments welcome! llvm-svn: 73456
* Add comments to ConstantInt::get and ConstantFP::get to more fullyDan Gohman2009-06-161-7/+12
| | | | | | describe their behavior. llvm-svn: 73454
* Keep track of whether a type parameter type is a parameter pack.Anders Carlsson2009-06-165-15/+24
| | | | llvm-svn: 73452
* Use Type::getScalarType.Dan Gohman2009-06-161-4/+2
| | | | llvm-svn: 73451
* Add a comment to Sema::ActOnTranslationUnitScope().Steve Naroff2009-06-161-0/+1
| | | | llvm-svn: 73450
* Regenerate.Mikhail Glushenkov2009-06-162-43/+74
| | | | llvm-svn: 73449
* Documentation update.Mikhail Glushenkov2009-06-162-22/+52
| | | | llvm-svn: 73448
* accept and ignore -Wdiv-by-zeroChris Lattner2009-06-151-0/+1
| | | | llvm-svn: 73446
* Remove extraneous propset.Owen Anderson2009-06-150-0/+0
| | | | llvm-svn: 73441
* Owen Anderson 2009-06-15: Use a SmallPtrSet here, for speed and to match ↵Owen Anderson2009-06-152-8/+18
| | | | | | | | df_iterator. Owen Anderson 2009-06-15: Remember to clear out our maps to prevent crashing. llvm-svn: 73438
* Add a CreateFNeg function to IRBuilder.Dan Gohman2009-06-151-0/+5
| | | | llvm-svn: 73437
OpenPOWER on IntegriCloud