summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Make expressions clean up their JIT'ed code allocation.Greg Clayton2011-01-1913-89/+133
| | | | llvm-svn: 123855
* Variadic templates are fully implemented.Douglas Gregor2011-01-194-12/+12
| | | | | | | | Turn on the __has_feature switch for variadic templates, document their completion, and put the ExtWarn into the c++0x-extensions warning group. llvm-svn: 123854
* Implement RAGreedy::splitAroundRegion and remove loop splitting.Jakob Stoklund Olesen2011-01-193-102/+296
| | | | | | | | | | | | | | Region splitting includes loop splitting as a subset, and it is more generic. The splitting heuristics for variables that are live in more than one block are now: 1. Try to create a region that covers multiple basic blocks. 2. Try to create a new live range for each block with multiple uses. 3. Spill. Steps 2 and 3 are similar to what the standard spiller is doing. llvm-svn: 123853
* Downgrade the "variadic templates are a C++0x feature" error to anDouglas Gregor2011-01-194-7/+5
| | | | | | | | ExtWarn. We want variadic templates to be usable in libc++/libstdc++ headers even when we're in C++98/03 mode, since it's the only clean way to implement TR1 <functional>. llvm-svn: 123852
* Refactor the dependence computation for DeclRefExpr so that we canDouglas Gregor2011-01-193-38/+79
| | | | | | | reuse it for BlockDeclRefExpr. Do so, fixing the dependence calculate for BlockDeclRefExpr. llvm-svn: 123851
* Implement basic support for the use of variadic templates and blocksDouglas Gregor2011-01-195-19/+89
| | | | | | | | | | | | | | | | | together. In particular: - Handle the use of captured parameter pack names within blocks (BlockDeclRefExpr understands parameter packs now) - Handle the declaration and expansion of parameter packs within a block's parameter list, e.g., ^(Args ...args) { ... }) - Handle instantiation of blocks where the return type was not explicitly specified. (unrelated, but necessary for my tests). Together, these fixes should make blocks and variadic templates work reasonably well together. Note that BlockDeclRefExpr is still broken w.r.t. its computation of type and value dependence, which will still cause problems for blocks in templates. llvm-svn: 123849
* Teach libclang to generate USRs containing parameter packs and pack expansions.Douglas Gregor2011-01-192-3/+26
| | | | llvm-svn: 123848
* Teach libclang about SizeOfPackExpr.Douglas Gregor2011-01-192-2/+44
| | | | llvm-svn: 123846
* Implement support for non-type template parameter packs whose type isDouglas Gregor2011-01-1916-80/+497
| | | | | | | | | | | | | | | | | | | | | a pack expansion, e.g., the parameter pack Values in: template<typename ...Types> struct Outer { template<Types ...Values> struct Inner; }; This new implementation approach introduces the notion of an "expanded" non-type template parameter pack, for which we have already expanded the types of the parameter pack (to, say, "int*, float*", for Outer<int*, float*>) but have not yet expanded the values. Aside from creating these expanded non-type template parameter packs, this patch updates template argument checking and non-type template parameter pack instantiation to make use of the appropriate types in the parameter pack. llvm-svn: 123845
* Add the cmdline to invoke the Python profile reporting module.Johnny Chen2011-01-191-1/+3
| | | | llvm-svn: 123844
* Print out the command line used to invoke the test suite so I don't get confusedJohnny Chen2011-01-191-0/+8
| | | | | | since different options can affect the run time. llvm-svn: 123843
* Similarly, analyze truncate through multiply.Nick Lewycky2011-01-192-0/+22
| | | | llvm-svn: 123842
* Updated llvm.zip; the old one had debug symbols,Sean Callanan2011-01-190-0/+0
| | | | | | making it way too big. llvm-svn: 123841
* Fix a typo in the comment.Johnny Chen2011-01-191-1/+1
| | | | llvm-svn: 123840
* NonTypeTemplateParmDecls always have TypeSourceInfo. There's no senseDouglas Gregor2011-01-191-10/+4
| | | | | | in pretending otherwise. llvm-svn: 123839
* Add a missed SCEV fold that is required to continue analyzing the IR producedNick Lewycky2011-01-192-1/+23
| | | | | | | | | | | by indvars through the scev expander. trunc(add x, y) --> add(trunc x, y). Currently SCEV largely folds the other way which is probably wrong, but preserved to minimize churn. Instcombine doesn't do this fold either, demonstrating a missed optz'n opportunity on code doing add+trunc+add. llvm-svn: 123838
* Fix the encoding of mrrc and mcrr family of instructions. Also add testcases ↵Bruno Cardoso Lopes2011-01-192-16/+35
| | | | | | for mcr and mrc llvm-svn: 123837
* Warn about the use of unparenthesized |= in conditionals (which may beDouglas Gregor2011-01-193-5/+27
| | | | | | a typo for !=). Fixes PR9001, from Hans Wennborg! llvm-svn: 123836
* Parse the optional semicolon after a C++ in-class member functionDouglas Gregor2011-01-192-2/+18
| | | | | | | definition, rather than complaining about it. Problem reported by Marshall Clow. llvm-svn: 123835
* Add unnamed_addr when we can show that address of a global is not used.Rafael Espindola2011-01-197-20/+103
| | | | llvm-svn: 123834
* Fix comment for gen-clang-decl-nodes tblgen backend, from Michael HanDouglas Gregor2011-01-191-1/+1
| | | | llvm-svn: 123833
* Add a missing SCEV simplification sext(zext x) --> zext x.Nick Lewycky2011-01-192-0/+12
| | | | llvm-svn: 123832
* ARM/ISel: Factor out isScaledConstantInRange() helper.Daniel Dunbar2011-01-191-122/+110
| | | | llvm-svn: 123823
* When building the copy expression for a __block variable, make sureJohn McCall2011-01-194-57/+72
| | | | | | | there's a respectable point of instantiation. Also, make sure we do this operation even when instantiating a dependently-typed variable. llvm-svn: 123818
* Change the canonical representation of array types to store qualifiers on theJohn McCall2011-01-197-431/+396
| | | | | | | | | | | | outermost array types and not on the element type. Move the CanonicalType member from Type to ExtQualsTypeCommonBase; the canonical type on an ExtQuals node includes the qualifiers on the ExtQuals. Assorted optimizations enabled by this change. getQualifiers(), hasQualifiers(), etc. should all now implicitly look through array types. llvm-svn: 123817
* ThreadPlanCallUserExpression's WillPop needs to call it's parent's WillPop.Jim Ingham2011-01-192-0/+4
| | | | llvm-svn: 123816
* Took the timeout for a ClangUserExpression down from a 10 second timeout toGreg Clayton2011-01-199-163/+117
| | | | | | | | | | | | | | 500 ms. Make MachThreadList more threadsafe. Added code to make sure the thread register state was properly flushed for x86_64. Fixed an missing return code for the current thread in the new thread suffix code. Improved debugserver logging. llvm-svn: 123815
* Change QualType::getTypePtr() to return a const pointer, then change aJohn McCall2011-01-1953-236/+243
| | | | | | thousand other things which were (generally inadvertantly) relying on that. llvm-svn: 123814
* Fix name to match reality.Nick Lewycky2011-01-191-1/+1
| | | | llvm-svn: 123813
* For ARM subtargets with useNEONForSinglePrecisionFP, double count usesAndrew Trick2011-01-191-0/+16
| | | | | | | | of the floating point types less than 64-bits. It's somewhat of a temporary hack but forces more accurate modeling of register pressure and results in fewer spills. llvm-svn: 123811
* whitespaceAndrew Trick2011-01-191-16/+16
| | | | llvm-svn: 123810
* Don't forget to emit the load from indirect symbol when using movw + movt to ↵Evan Cheng2011-01-194-6/+14
| | | | | | materialize GA indirect symbols. llvm-svn: 123809
* Added special logic to faciliate profiling the test suite run with the ↵Johnny Chen2011-01-192-1/+13
| | | | | | | | | | | | | | cProfile.py module. On my MBP running SnowLeopard: $ DOTEST_PROFILE=YES DOTEST_SCRIPT_DIR=/Volumes/data/lldb/svn/trunk/test /System/Library/Frameworks/Python.framework/Versions/Current/lib/python2.6/cProfile.py -o my.profile ./dotest.py -v -w 2> ~/Developer/Log/lldbtest.log After that, I used the pstats.py module to browse the statistics recorded in the my.profile file. llvm-svn: 123807
* The test suite was unnecessarily doing a time.sleep() after performing theJohnny Chen2011-01-191-4/+2
| | | | | | | | "process launch" or "run" interpreter command. Let's do the sleep only if the process launch failed. This saves about 135 seconds from the whole test suite run time. llvm-svn: 123806
* Replace calls to getTypeSize() and getTypeAlign() with their 'InChars' Ken Dyck2011-01-195-12/+17
| | | | | | counterparts where char units are needed. llvm-svn: 123805
* Add a unary minus operator.Ken Dyck2011-01-191-0/+4
| | | | llvm-svn: 123804
* Delay sync with the parent thread in ProcessLinux/ProcessMonitor.Stephen Wilson2011-01-192-5/+8
| | | | | | | This patch removes a potential race condition between a process monitor thread and its parent waiting to interrogate the success/failure of the launch. llvm-svn: 123803
* Emit DW_TAG_lexical_scope to surround foreach.Devang Patel2011-01-192-0/+25
| | | | llvm-svn: 123802
* Make LinuxThread use the LLDB unwinder.Stephen Wilson2011-01-192-3/+17
| | | | llvm-svn: 123801
* Do not enable hardware stepping when resuming a step-enabled thread.Stephen Wilson2011-01-191-1/+1
| | | | | | | The previous implementation of HardwareSingleStep wrongly resumed the thread and single-stepped over the next instruction. Use the proper call to ProcessMonitor. llvm-svn: 123800
* Fix implementation of LinuxThread::HardwareSingleStep.Stephen Wilson2011-01-191-1/+22
| | | | | | | | Previous version simply resumed the associated thread to single step over a single instruction which is not the intended semantics for this method. Set the appropriate bit in the rflags register instead. llvm-svn: 123799
* Implement RegisterContextLinux_x86_64::ReadRegisterBytes.Stephen Wilson2011-01-192-10/+59
| | | | | | | Also, this patch adds a few delimiters to the register enumeration to enable efficient testing of register set inclusion. llvm-svn: 123798
* Support the reading of registers en masse via the linux ProcessMonitor.Stephen Wilson2011-01-192-0/+78
| | | | llvm-svn: 123797
* Timeout if we fail to receive a state change event when destroying an inferior.Stephen Wilson2011-01-191-4/+12
| | | | llvm-svn: 123796
* Only enqueue valid ProcessLinux messages.Stephen Wilson2011-01-191-1/+5
| | | | llvm-svn: 123795
* Load dependent modules in the Linux dynamic loader.Stephen Wilson2011-01-191-0/+7
| | | | | | | This fixes a bug where the dynamic loader rendezvous was not updating its internal state when first initialized. llvm-svn: 123794
* Don't silently drop warning flags passed in toDouglas Gregor2011-01-194-6/+28
| | | | | | clang_createTranslationUnitFromSourceFile(). llvm-svn: 123793
* Decorated two new expected failures:Johnny Chen2011-01-191-0/+4
| | | | | | rdar://problem/8875425 Found mySource->isa local variable assertion failed llvm-svn: 123792
* lib/Sema/SemaExpr.cpp: __null should be LongLongTy on LLP64 Win64.NAKAMURA Takumi2011-01-191-2/+9
| | | | llvm-svn: 123791
* lib/CodeGen/TargetInfo.cpp: Fix coding style and erase an obsolete comment.NAKAMURA Takumi2011-01-191-6/+4
| | | | llvm-svn: 123790
OpenPOWER on IntegriCloud