summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Stop finding bare symbols when we're explicitlySean Callanan2012-02-151-1/+4
| | | | | | told to look in a namespace. llvm-svn: 150590
* A little more lambda capture initialization diagnostics cleanupDouglas Gregor2012-02-152-5/+12
| | | | llvm-svn: 150589
* Introduce a new initialization entity for lambda captures, andDouglas Gregor2012-02-156-9/+74
| | | | | | specialize location information and diagnostics for this entity. llvm-svn: 150588
* Fix copy-and-paste error in commentDavid Chisnall2012-02-151-1/+1
| | | | llvm-svn: 150587
* Specialize noreturn diagnostics for lambda expressions.Douglas Gregor2012-02-156-13/+49
| | | | llvm-svn: 150586
* Fix silly precedence error.Douglas Gregor2012-02-151-1/+1
| | | | llvm-svn: 150585
* Specialize the diagnostic complaining about conflicting types ofDouglas Gregor2012-02-153-6/+6
| | | | | | | return statements within a lambda; this diagnostic previously referred to blocks. llvm-svn: 150584
* Implement code completion support for lambda capture lists.Douglas Gregor2012-02-154-17/+168
| | | | llvm-svn: 150583
* For ELF, also call fixSymbolsInTLSFixups() on expressions passed to ↵David Meyer2012-02-153-2/+111
| | | | | | EmitValue (literal values). Previously only called on expressions in instructions. New test cases added to tls.s, tls-i386.s. Resolves PR11981. llvm-svn: 150582
* Remove reference from common_type definition. It looks like a recent clang ↵Howard Hinnant2012-02-151-1/+1
| | | | | | decltype implementation got fixed/improved and exposed this. Fixes http://llvm.org/bugs/show_bug.cgi?id=12007. llvm-svn: 150581
* First pass at Solaris toolchain support. This version compiles and links helloDavid Chisnall2012-02-155-0/+198
| | | | | | | | world on Solaris 11 for both x86 and x86-64 using the built-in assembler and Solaris (not GNU) ld, however it currently relies on a hard-coded GCC location to find crtbegin.o and crtend.o, as well as libgcc and libgcc_eh. llvm-svn: 150580
* Convert ad-hoc `int array[expr ? -1 : 1]' assertionsDmitri Gribenko2012-02-151-24/+24
| | | | | | in test/SemaCXX/nullptr.cpp to static_assert llvm-svn: 150579
* Make -Wformat fix-its preserve original conversion specifiers.Hans Wennborg2012-02-155-30/+87
| | | | | | | | | | | | | | | | | This commit makes PrintfSpecifier::fixType() and ScanfSpecifier::fixType() only fix a conversion specification enough that Clang wouldn't warn about it, as opposed to always changing it to use the "canonical" conversion specifier. (PR11975) This preserves the user's choice of conversion specifier in cases like: printf("%a", (long double)1); where we previously suggested "%Lf", we now suggest "%La" printf("%x", (long)1); where we previously suggested "%ld", we now suggest "%lx". llvm-svn: 150578
* CodeGen: Update the BasicBlock pointer correctly when creating 'polly.split...'Tobias Grosser2012-02-151-1/+1
| | | | | | Problem reported by: Ryan Taylor <ryta1203@gmail.com> llvm-svn: 150577
* CodeGen: Retain the old BB names within the original SCoPTobias Grosser2012-02-151-1/+6
| | | | llvm-svn: 150576
* CodeGen: Name stmt bbs 'polly.stmt.' + OriginalNameTobias Grosser2012-02-152-2/+2
| | | | llvm-svn: 150575
* ScheduleOpt: Only get RAW dependences if we asked for rawTobias Grosser2012-02-151-2/+1
| | | | llvm-svn: 150574
* AddressSanitizer: don't include pthread.h in asan_interceptors.cc on LinuxAlexey Samsonov2012-02-151-4/+3
| | | | llvm-svn: 150573
* Strip the pointer casts from the constants here.Bill Wendling2012-02-151-1/+1
| | | | | | | | | The c'tor list is stored as a list of 'void ()*'s, so all of the functions are bitcast to that. However, the dyn_cast doesn't automagically look through bitcasts. Do that for it. <rdar://problem/10813350> llvm-svn: 150572
* Add a way to replace a field inside a metadata node. This can beEric Christopher2012-02-152-0/+8
| | | | | | | used to incrementally update a created node without needing a temporary node and RAUW. llvm-svn: 150571
* AddressSanitizer: simplify IntervalsAreSeparate functionAlexey Samsonov2012-02-151-12/+3
| | | | llvm-svn: 150569
* Revert r150565 again. Appears to be a stage2 failure with dragonegg.Andrew Trick2012-02-151-6/+8
| | | | | | I'll put MachineLICM back before PEI. All my arm/x86 benchmarks look good, but buildbots don't like it. llvm-svn: 150568
* Reapply r150565 with the typo fix properly merged.Andrew Trick2012-02-151-8/+6
| | | | llvm-svn: 150567
* reverting r150565. Premature push.Andrew Trick2012-02-151-6/+8
| | | | llvm-svn: 150566
* Move PostRAMachineLICM into MachineLateOptimization. It now runs after PEI!Andrew Trick2012-02-151-8/+6
| | | | llvm-svn: 150565
* Add a check to make sure we don't assign slot indexes for instructions ↵Lang Hames2012-02-151-0/+2
| | | | | | inside bundles. llvm-svn: 150564
* Allow CodeGen (llc) command line options to work as expected.Andrew Trick2012-02-152-52/+128
| | | | | | | | | | | | | | | | | | | | | | | | The llc command line options for enabling/disabling passes are local to CodeGen/Passes.cpp. This patch associates those options with standard pass IDs so they work regardless of how the target configures the passes. A target has two ways of overriding standard passes: 1) Redefine the pass pipeline (override TargetPassConfig::add%Stage) 2) Replace or suppress individiual passes with TargetPassConfig::substitutePass. In both cases, the command line options associated with the pass override the target default. For example, say a target wants to disable machine instruction scheduling by default: - The target calls disablePass(MachineSchedulerID) but otherwise does not override any TargetPassConfig methods. - Without any llc options, no scheduler is run. - With -enable-misched, the standard machine scheduler is run and honors the -misched=... flag to select the scheduler variant, which may be used for performance evaluation or testing. Sorry overridePass is ugly. I haven't thought of a better way without replacing the cl::opt framework. I hope to do that one day... I haven't figured out why CodeGen uses char& for pass IDs. AnalysisID is much easier to use and less bug prone. I'm using it wherever I can for internal implementation. Maybe later we can change the global pass ID definitions as well. llvm-svn: 150563
* Added TargetPassConfig::disablePass/substitutePass as a general mechanism to ↵Andrew Trick2012-02-155-16/+69
| | | | | | override specific passes. llvm-svn: 150562
* commentAndrew Trick2012-02-151-0/+1
| | | | llvm-svn: 150561
* If a static data member of a class template which could be used in a constantRichard Smith2012-02-152-10/+22
| | | | | | | | expression is referenced, defined, then referenced again, make sure we instantiate it the second time it's referenced. This is the static data member analogue of r150518. llvm-svn: 150560
* adding a new test case for the SB formatters APIEnrico Granata2012-02-154-0/+327
| | | | llvm-svn: 150559
* <rdar://problem/10062621>Enrico Granata2012-02-1544-490/+4421
| | | | | | | | | | | | | | | | | | New public API for handling formatters: creating, deleting, modifying categories, and formatters, and managing type/formatter association. This provides SB classes for each of the main object types involved in providing formatter support: SBTypeCategory SBTypeFilter SBTypeFormat SBTypeSummary SBTypeSynthetic plus, an SBTypeNameSpecifier class that is used on the public API layer to abstract the notion that formatters can be applied to plain type-names as well as to regular expressions For naming consistency, this patch also renames a lot of formatters-related classes. Plus, the changes in how flags are handled that started with summaries is now extended to other classes as well. A new enum (lldb::eTypeOption) is meant to support this on the public side. The patch also adds several new calls to the formatter infrastructure that are used to implement by-index accessing and several other design changes required to accommodate the new API layer. An architectural change is introduced in that backing objects for formatters now become writable. On the public API layer, CoW is implemented to prevent unwanted propagation of changes. Lastly, there are some modifications in how the "default" category is constructed and managed in relation to other categories. llvm-svn: 150558
* Implement DR1454. This allows all intermediate results in constant expressionsRichard Smith2012-02-157-203/+373
| | | | | | | | | | | | to be core constant expressions (including pointers and references to temporaries), and makes constexpr calculations Turing-complete. A Turing machine simulator is included as a testcase. This opens up the possibilty of removing CCValue entirely, and removing some copies from the constant evaluator in the process, but that cleanup is not part of this change. llvm-svn: 150557
* [analyzer] Malloc checker: make a bit safer.Anna Zaks2012-02-151-2/+6
| | | | llvm-svn: 150556
* Fix typo in r150549.Richard Smith2012-02-151-3/+3
| | | | llvm-svn: 150555
* Previoously the expression parser had to rely on theSean Callanan2012-02-154-6/+47
| | | | | | | | | JIT when printing the values of registers (e.g., "expr $pc"). Now the expression parser can do this in the IR interpreter without running code in the inferior process. llvm-svn: 150554
* Don't emit live ranges for physregs live-ins that are dead.Lang Hames2012-02-151-2/+3
| | | | llvm-svn: 150553
* Disentangle moving a machine instr from updating LiveIntervals.Lang Hames2012-02-153-17/+14
| | | | llvm-svn: 150552
* Split reinterpret_casts of member pointers out from CK_BitCast; thisJohn McCall2012-02-1514-44/+197
| | | | | | | | | | | | | | | | | | | | | is general goodness because representations of member pointers are not always equivalent across member pointer types on all ABIs (even though this isn't really standard-endorsed). Take advantage of the new information to teach IR-generation how to do these reinterprets in constant initializers. Make sure this works when intermingled with hierarchy conversions (although this is not part of our motivating use case). Doing this in the constant-evaluator would probably have been better, but that would require a *lot* of extra structure in the representation of constant member pointers: you'd really have to track an arbitrary chain of hierarchy conversions and reinterpretations in order to get this right. Ultimately, this seems less complex. I also wasn't quite sure how to extend the constant evaluator to handle foldings that we don't actually want to treat as extended constant expressions. llvm-svn: 150551
* Added hook to let targets custom lower splitting of illegal vectorsPete Cooper2012-02-151-0/+4
| | | | llvm-svn: 150550
* Implement indexing support for lambdas in libclang (both kinds), asDouglas Gregor2012-02-1510-12/+216
| | | | | | | well as improving the RecursiveASTVisitor's walk of lambda expressions. llvm-svn: 150549
* modern objective-c translator: start writing the main classFariborz Jahanian2012-02-151-7/+133
| | | | | | meta-data. llvm-svn: 150548
* use llvm::DenseMap instead of std::mapNick Kledzik2012-02-152-6/+18
| | | | llvm-svn: 150547
* Implement a few optimizations for vector push_back and insert. Fixes r10828365.Howard Hinnant2012-02-153-26/+103
| | | | llvm-svn: 150542
* (no commit message)Nick Kledzik2012-02-1519-243/+1078
| | | | llvm-svn: 150539
* Use a temporary variable, rather then a series of redundant calls.Chad Rosier2012-02-151-4/+5
| | | | llvm-svn: 150538
* Stop custom lowering forr x86 DEC64m from happening if the load in the ↵Pete Cooper2012-02-152-0/+15
| | | | | | lowered sequence has more than 1 user llvm-svn: 150537
* Use a temporary variable, rather then a series of redundant calls.Chad Rosier2012-02-151-4/+5
| | | | llvm-svn: 150536
* [analyzer] Add the Malloc checker to the list of tested checkers.Anna Zaks2012-02-151-1/+1
| | | | llvm-svn: 150535
* [analyzer] Malloc Checker: Add another false positive as a todo test.Anna Zaks2012-02-151-0/+14
| | | | llvm-svn: 150534
OpenPOWER on IntegriCloud