summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Remove r111665, which implemented store-narrowing in InstCombine. Chris ↵Owen Anderson2010-08-312-68/+0
| | | | | | | | discovered a miscompilation in it, and it's not easily fixable at the optimizer level. I'll investigate reimplementing it in DAGCombine. llvm-svn: 112575
* zap unused method. x86 is the only user and already has a more powerfull versionBruno Cardoso Lopes2010-08-312-33/+0
| | | | llvm-svn: 112571
* Use X86ISD::MOVSS and MOVSD to represent the movl mask pattern, also fix the ↵Bruno Cardoso Lopes2010-08-311-7/+14
| | | | | | handling of those nodes when seeking for scalars inside vector shuffles llvm-svn: 112570
* Add range of return value expression in ReturnUndefChecker. Patch by Jim ↵Ted Kremenek2010-08-311-0/+1
| | | | | | Goodnow II! llvm-svn: 112569
* Rewrite slightly so we can expand for floating point types easier.Eric Christopher2010-08-311-17/+25
| | | | llvm-svn: 112568
* Add experimental -disable-physical-join command line option.Jakob Stoklund Olesen2010-08-311-0/+10
| | | | | | | | | | Eventually, we want to disable physreg coalescing completely, and let the register allocator do its job using hints. This option makes it possible to measure the impact of disabling physreg coalescing. llvm-svn: 112567
* Enable inline namespaces in C++03 as an extension.Sebastian Redl2010-08-315-8/+16
| | | | llvm-svn: 112566
* Add a forgotten place where the enclosing namespace set matters, plus a big ↵Sebastian Redl2010-08-312-2/+76
| | | | | | testcase for inline namespace fun. llvm-svn: 112565
* Enable inline namespaces in the AST.Sebastian Redl2010-08-315-12/+57
| | | | llvm-svn: 112564
* Rename DeclContext::getLookupContext to getRedeclContext and change its ↵Sebastian Redl2010-08-3116-83/+110
| | | | | | semantics slightly. No functionality change in the absence of inline namespaces. Also, change a few places where inline namespaces actually make a difference to be prepared for them. llvm-svn: 112563
* Decl::getEnclosingNamespaceContext has no reason to explicitly skip ↵Sebastian Redl2010-08-311-1/+1
| | | | | | transparent contexts, and would be wrong to do so with inline namespaces. llvm-svn: 112562
* When instantiating a function type, instantiate the return type beforeDouglas Gregor2010-08-312-7/+39
| | | | | | | | | | | | | | | | | | | instantiating the parameters. In a perfect world, this wouldn't matter, and compilers are free to instantiate in any order they want. However, every other compiler seems to instantiate the return type first, and some code (in this case, Boost.Polygon) depends on this and SFINAE to avoid instantiating something that shouldn't be instantiated. We could fight this battle, and insist that Clang is allowed to do what it does, but it's not beneficial: it's more predictable to instantiate this way, in source order. When we implement late-specified return types, we'll need to instantiate the return type last when it was late-specified, hence the FIXME. We now compile Boost.Polygon properly. llvm-svn: 112561
* Fix a typo.Owen Anderson2010-08-301-1/+1
| | | | llvm-svn: 112560
* If we have an unhandled type then assert, we shouldn't get here forEric Christopher2010-08-301-1/+3
| | | | | | things we can't handle. llvm-svn: 112559
* Add LLDB_EXTERNAL_EDITORJim Ingham2010-08-301-1/+33
| | | | llvm-svn: 112558
* Update the descriptions of NoModRef and ModRef to be consistentDan Gohman2010-08-302-9/+7
| | | | | | with the descriptions of Mod and Ref. llvm-svn: 112557
* Added doc strings to the array_types test cases. And terminate the currentJohnny Chen2010-08-302-2/+10
| | | | | | | process being debugged in the TestBase.tearDown() instead of letting it continue and finish. llvm-svn: 112556
* Fix borken testAnton Korobeynikov2010-08-301-3/+3
| | | | llvm-svn: 112555
* Combine these two tests, and make sure there's a newline at the end of the file.Owen Anderson2010-08-302-21/+19
| | | | llvm-svn: 112554
* Cleanups suggested by Chris.Owen Anderson2010-08-301-20/+18
| | | | llvm-svn: 112553
* Add a missing return. Bug noticed by Dawn Perchik!Douglas Gregor2010-08-301-0/+1
| | | | llvm-svn: 112552
* When template substitution into a template parameter reduces the levelDouglas Gregor2010-08-302-6/+22
| | | | | | | | | | | | of that parameter, reduce the level by the number of active template argument lists rather than by 1. The number of active template argument lists is only > 1 when we have a class template partial specialization of a member template of a class template that itself is a member template of another class template. ... and Boost.MSM does this. Fixes PR7669. llvm-svn: 112551
* Re-apply r112539, being more careful to respect the return values of the ↵Owen Anderson2010-08-301-22/+25
| | | | | | | | constant folding methods. Additionally, use the ConstantExpr::get*() methods to simplify some constant folding. llvm-svn: 112550
* silence a warningChris Lattner2010-08-301-1/+1
| | | | llvm-svn: 112549
* Removed documentation for a non-existent functionSean Callanan2010-08-301-4/+0
| | | | | | parameter. llvm-svn: 112548
* Converted TestArrayTypes.py to Dsym/Dwarf combination, and added verbose outputJohnny Chen2010-08-302-2/+26
| | | | | | of os command to lldbtest.TestBase.system() method. llvm-svn: 112547
* Expand MOVi32imm in ARM mode after regalloc. This providesAnton Korobeynikov2010-08-301-2/+7
| | | | | | | scheduling opportunities (extra instruction can go in between MOVT / MOVW pair removing the stall). llvm-svn: 112546
* Add statistics to evaluate this pass.Owen Anderson2010-08-301-0/+8
| | | | llvm-svn: 112545
* Revert r112539. It accidentally introduced a miscompilation.Owen Anderson2010-08-301-20/+16
| | | | llvm-svn: 112543
* Added buildDsym() and buildDwarf() methods to lldbtest.TestBase class, and callJohnny Chen2010-08-302-2/+16
| | | | | | them from test cases instead of issuing "make clean; make ..." os command. llvm-svn: 112542
* zap tabsGabor Greif2010-08-301-1/+1
| | | | llvm-svn: 112541
* Fixed a bug where the parser-specific members ofSean Callanan2010-08-303-13/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | persistent variables were staying around too long. This caused the following problem: - A persistent result variable is created for the result of an expression. The pointer to the corresponding Decl is stored in the variable. - The persistent variable is looked up during struct generation (correctly) using its Decl. - Another expression defines a new result variable which happens to have a Decl in the same place as the original result variable. - The persistent variable is looked up during struct generation using its Decl, but the old result variable appears first in the list and has the same Decl pointer. The fix is to destroy parser-specific data when it is no longer valid. Also improved some logging as I diagnosed the bug. llvm-svn: 112540
* Fixes and cleanups pointed out by Chris. In general, be careful to handle 0 ↵Owen Anderson2010-08-301-16/+20
| | | | | | | | results from ComputeValueKnownInPredecessors (indicating undef), and re-use existing constant folding APIs. llvm-svn: 112539
* Use the existing T2I_bin_s_irs pattern instead of creating T2I_bin_sw_irs, whichBill Wendling2010-08-302-69/+2
| | | | | | | is meant to do exactly the same thing. Thanks to Jim Grosbach for pointing this out! :-) llvm-svn: 112538
* Fix PR8029, a x86-32 ABI regression in introduced in r112211Chris Lattner2010-08-302-1/+7
| | | | llvm-svn: 112537
* Stopped the external editor from adding stuff to the recent list when lldbGreg Clayton2010-08-301-29/+59
| | | | | | is launched with the -e option on Mac OS X. llvm-svn: 112536
* Fix a comment.NAKAMURA Takumi2010-08-301-1/+1
| | | | llvm-svn: 112535
* Remember to clear the shadow kill flag at the same time as clearing the realJakob Stoklund Olesen2010-08-301-0/+1
| | | | | | | | | | | kill flag. This could cause duplicate kill flags when the same register was used twice in a continuous sequence of STRs. There is no small test case. <rdar://problem/8218046> llvm-svn: 112534
* add two more use-cases (explicit instantiation) that should pass nowGabor Greif2010-08-301-0/+4
| | | | llvm-svn: 112533
* Fix llc to run the verifier once, not twice.Dan Gohman2010-08-301-13/+1
| | | | llvm-svn: 112532
* Added a system() method to the TestBase class of lldbtest.py, which is actuallyJohnny Chen2010-08-302-28/+83
| | | | | | | | | | | | | | | | | taken from Python 2.7's subprocess.check_output() convenience function. The purpose of this method is to run the os command with arguments and return its output as a byte string. Modified hello_world/TestHelloWorld.py to have two test cases: o test_with_dsym_and_run_command o test_with_dwarf_and_process_launch_api with the dsym case conditioned on sys.platform.startswith("darwin") being true. The two cases utilize the system() method to invoke "make clean; make MAKE_DYSM=YES/NO" to prepare for the appropriate debugging format before running the test logic. llvm-svn: 112530
* Remove this from the main tree. I'll host it out of tree.Owen Anderson2010-08-308-848/+0
| | | | llvm-svn: 112529
* Add comments explaining why it's not necessary to include theDan Gohman2010-08-301-1/+6
| | | | | | is-function-local flag in metadata uniquing bits. llvm-svn: 112528
* Fixed a bug where ClangExpressionVariableList wasSean Callanan2010-08-302-24/+41
| | | | | | | | storing pointers to objects inside a std::vector. These objects can move around as the std::vector changes, invalidating the pointers. llvm-svn: 112527
* fix dual aspect of PR8007,Gabor Greif2010-08-302-11/+37
| | | | | | | | | | namely when the friend function prototype is already used at the point of the template definition that is supposed to inject the friend function. Testcase verifies four scenarios. I would like receive some code review for this. llvm-svn: 112524
* Perform the function-to-pointer adjustment during template argumentDouglas Gregor2010-08-302-31/+61
| | | | | | | | | deduction where the parameter is a function reference, function pointer, or member function pointer and the argument is an overloaded function. Fixes <rdar://problem/8360106>, a template argument deduction issue found by Boost.Filesystem. llvm-svn: 112523
* Remove NEON vmovn intrinsic, replacing it with vector truncate operations.Bob Wilson2010-08-306-11/+51
| | | | | | Auto-upgrade the old intrinsic and update tests. llvm-svn: 112507
* Translate NEON vmovn builtin to a vector truncation instead of using an llvmBob Wilson2010-08-301-2/+1
| | | | | | intrinsic. llvm-svn: 112504
* Make ARM add rN, sp, #imm instructions rematerializable. That's how the ↵Jim Grosbach2010-08-303-0/+12
| | | | | | | | | address of locals is calculated, so this should help relieve register pressure a bit. Recalculating the local address is almost always going to be better than spilling. llvm-svn: 112503
* Added a way to open the current source file & line in an external editor, ↵Jim Ingham2010-08-3012-7/+202
| | | | | | | | and you can turn this on with: lldb -e llvm-svn: 112502
OpenPOWER on IntegriCloud