summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Test case for r152280, r152285 and r152290.Akira Hatanaka2012-03-081-0/+27
| | | | llvm-svn: 152292
* <rdar://problem/11007934> Greg Clayton2012-03-083-9/+14
| | | | | | | | On darwin, if child process of process being debugged dies due to mach exception, the debugged process will die. debugserver now only handles the mach exceptions for the task being debugged. llvm-svn: 152291
* Invoke setTargetDAGCombine for SELECT.Akira Hatanaka2012-03-081-0/+1
| | | | llvm-svn: 152290
* [AST] Change Type::isIntegerType to be inlined(). It is very popular.Daniel Dunbar2012-03-083-11/+22
| | | | llvm-svn: 152289
* [ADT] Change the trivial FoldingSetNodeID::Add* methods to be inline.Daniel Dunbar2012-03-082-43/+47
| | | | llvm-svn: 152288
* Implement C++11 [lex.ext]p10 for string and character literals: a ud-suffix notRichard Smith2012-03-0812-45/+67
| | | | | | | | | | | | | | | | | | starting with an underscore is ill-formed. Since this rule rejects programs that were using <inttypes.h>'s macros, recover from this error by treating the ud-suffix as a separate preprocessing-token, with a DefaultError ExtWarn. The approach of treating such cases as two tokens is under discussion for standardization, but is in any case a conforming extension and allows existing codebases to keep building while the committee makes up its mind. Reword the warning on the definition of literal operators not starting with underscores (which are, strangely, legal) to more explicitly state that such operators can't be called by literals. Remove the special-case diagnostic for hexfloats, since it was both triggering in the wrong cases and incorrect. llvm-svn: 152287
* Updated the revision of LLVM/Clang used by LLDB.Sean Callanan2012-03-0813-17/+232
| | | | | | | | | | | | | | | This takes two important changes: - Calling blocks is now supported. You need to cast their return values, but that works fine. - We now can correctly run JIT-compiled expressions that use floating-point numbers. Also, we have taken a fix that allows us to ignore access control in Objective-C as in C++. llvm-svn: 152286
* Swap the operands of a select node if the false (the second) operand is 0.Akira Hatanaka2012-03-081-0/+35
| | | | | | | | | | | | For example, this pattern (select (setcc lhs, rhs, cc), true, 0) is transformed to this one: (select (setcc lhs, rhs, inverse(cc)), 0, true) This enables MipsDAGToDAGISel::ReplaceUsesWithZeroReg (added in r152280) to replace 0 with $zero. llvm-svn: 152285
* Loosen the precondition of isCXXInstanceMember() to simply returnDouglas Gregor2012-03-083-5/+15
| | | | | | "false" for declarations that aren't members of classes. Fixes PR12106. llvm-svn: 152284
* Rotate two of the functions used to count bonuses for the inline costChandler Carruth2012-03-083-25/+22
| | | | | | | | | | | | | analysis to be methods on the cost analysis's function info object instead of the code metrics object. These really are just users of the code metrics, they're building the information for the function's analysis. This is the first step of growing the amount of information we collect about a function in order to cope with pair-wise simplifications due to allocas. llvm-svn: 152283
* Set minimum function alignment to 3 if target is Mips64.Akira Hatanaka2012-03-081-1/+1
| | | | llvm-svn: 152282
* Spelling.Daniel Dunbar2012-03-081-1/+1
| | | | llvm-svn: 152281
* This patch eliminates redundant instructions that produce 0.Akira Hatanaka2012-03-081-1/+50
| | | | | | | | | | | | For example, the first instruction in the code below can be eliminated if the use of $vr0 is replaced with $zero: addiu $vr0, $zero, 0 add $vr2, $vr1, $vr0 add $vr2, $vr1, $zero llvm-svn: 152280
* Sema: Don't emit a gajillion calls to sanity() -- an empty function -- in NDEBUGDaniel Dunbar2012-03-082-2/+10
| | | | | | builds. Sheesh. llvm-svn: 152279
* misched interface: Expose the MachineScheduler pass.Andrew Trick2012-03-082-144/+188
| | | | | | | | Allow targets to provide their own schedulers (subclass of ScheduleDAGInstrs) to the misched pass. Select schedulers using -misched=... llvm-svn: 152278
* User-defined literal support for character literals.Richard Smith2012-03-085-6/+76
| | | | llvm-svn: 152277
* Fix -Wuninitialized to catch the case of a class being initialized with a callRichard Trieu2012-03-082-1/+4
| | | | | | to its own member function. llvm-svn: 152276
* [libclang] Fix a crash when serializing a preprocessing record that containsArgyrios Kyrtzidis2012-03-083-8/+12
| | | | | | | | an #include entry that did not resolve to header file. Part of rdar://11007039 llvm-svn: 152275
* Streamline BalancedDelimiterTracker, by eliminating the duplicateDouglas Gregor2012-03-086-119/+89
| | | | | | | | paren/brace/bracket tracking (the Consume* functions already did it), removing the use of ConsumeAnyToken(), and moving the hot paths inline with the error paths out-of-line. llvm-svn: 152274
* improve on diagnostic when block captures uninitializedFariborz Jahanian2012-03-082-2/+2
| | | | | | block variable. // rdar://10817031 llvm-svn: 152273
* Add a basic CallGraph to Analysis.Anna Zaks2012-03-086-0/+494
| | | | | | | | | | The final graph contains a single root node, which is a parent of all externally available functions(and 'main'). As well as a list of Parentless/Unreachable functions, which are either truly unreachable or are unreachable due to our analyses imprecision. The analyzer checkers debug.DumpCallGraph or debug.ViewGraph can be used to look at the produced graph. Currently, the graph is not very precise, for example, it entirely skips edges resulted from ObjC method calls. llvm-svn: 152272
* improve on diagnostic and provide a fixit hint whenFariborz Jahanian2012-03-083-7/+36
| | | | | | | an uninitialized block variable is being called inside the block literal. // rdar://10817031 llvm-svn: 152271
* [libclang] Enhance clang_getOverriddenCursors.Argyrios Kyrtzidis2012-03-087-42/+79
| | | | | | | | | | | | | | | | | | | | | | | | Basically the current design is: -for an implementation method, show as overridden the interface method. This is not useful, and is inconsistent with the C++ side -for an interface method, show as overridden the protocols methods (this is desirable) and the methods from the categories; methods from categories are not useful since they are considered the same method (same USR). -If there is a protocol method or category method reported, it does not check the super class for overridden methods. This is really problematic since overridden methods from super class is what we want to give back. Change clang_getOverriddenCursors to show as overridden any method in the class's base class, its protocols, or its categories' protocols, that has the same selector and is of the same kind (class or instance). If no such method exists, the search continues to the class's superclass, its protocols, and its categories, and so on. A method from an Objective-C implementation is considered to override the same methods as its corresponding method in the interface. rdar://10967206 llvm-svn: 152270
* Sources now require C++11 to build.Nick Kledzik2012-03-0823-487/+1212
| | | | | | | | | | | | | | | | | Add first linker pass (StubsPass) which looks for calls to shared library symbols and replaces them with calls to a StubAtom. On ELF system, a "stub" is a PLT entry. Added a simple test case. Pass a Platform object to YAML reader and writer for converting fixup kinds between names and values. Change output of Resolver to be a File object instead of a vector of Atoms. Thus, passes operate on a File instead of just Atoms. Rework how to walk through a File's Atoms. Now iterator based instead of a method that visits each atom. llvm-svn: 152269
* ARM don't use MCRelaxAll, as it's not safe on ARM.Jim Grosbach2012-03-081-2/+2
| | | | | | | | | The ARM code generator makes aggressive assumptions about the encodings being selected for branches which MCRelaxAll invalidates. rdar://11006355 llvm-svn: 152268
* Moved inline functions into SBTarget.cpp and made destructors for ↵Greg Clayton2012-03-072-12/+31
| | | | | | SBLaunchInfo and SBAttachInfo to avoid link warnings. llvm-svn: 152267
* Workaround module test failures by removing the version info from module hashes.Bob Wilson2012-03-071-1/+4
| | | | | | | | | | PR12196: The module hash strings are not actually hashing the compiler version string; the entire version string is being included in the hash. Depending on the module cache directory name, that can lead to failures where the path names become too long. As a temporary workaround, just remove the version string from the hash. llvm-svn: 152266
* Make sure the byte size is correct when dumping as it may need to be ↵Greg Clayton2012-03-071-4/+5
| | | | | | calculated on the fly. llvm-svn: 152265
* Improved support in RuntimeDyldMachO for generatingSean Callanan2012-03-072-22/+69
| | | | | | | | | | | code that will be relocated into another memory space. Now when relocations are resolved, the address of the relocation in the host memory (where the JIT is) is passed separately from the address that the relocation will be at in the target memory (where the code will run). llvm-svn: 152264
* Revert the default debugger to LLDB.Greg Clayton2012-03-071-2/+2
| | | | llvm-svn: 152263
* Cleanup VLIWPacketizer to use the updated ScheduleDAGInstrs interface.Andrew Trick2012-03-073-31/+27
| | | | llvm-svn: 152262
* misched prep: Expose the ScheduleDAGInstrs interface so targets mayAndrew Trick2012-03-075-4/+4
| | | | | | implement their own MachineScheduler. llvm-svn: 152261
* misched prep: Remove LLVM_LIBRARY_VISIBILITY from ScheduleDAGInstrs.Andrew Trick2012-03-071-2/+2
| | | | llvm-svn: 152260
* misched prep: Comment the ScheduleDAGInstrs interface.Andrew Trick2012-03-072-9/+15
| | | | llvm-svn: 152259
* misched prep: Cleanup ScheduleDAGInstrs interface.Andrew Trick2012-03-072-75/+81
| | | | | | | | ScheduleDAGInstrs will be the main interface for MI-level schedulers. Make sure it's readable: one page of protected fields, one page of public methids. llvm-svn: 152258
* misched prep: remove extra "protected"Andrew Trick2012-03-071-2/+0
| | | | llvm-svn: 152257
* misched prep: rename InsertPos to End.Andrew Trick2012-03-074-22/+20
| | | | | | ScheduleDAGInstrs knows nothing about how instructions will be moved or inserted. llvm-svn: 152256
* misched preparation: rename core scheduler methods for consistency.Andrew Trick2012-03-0715-112/+112
| | | | | | | We had half the API with one convention, half with another. Now was a good time to clean it up. llvm-svn: 152255
* Copy the right amount of elements.Benjamin Kramer2012-03-071-3/+5
| | | | llvm-svn: 152254
* <rdar://problem/10993996>Greg Clayton2012-03-072-0/+150
| | | | | | | | | | Added a new makefile target to help us with Apple builds where the installhdrs will copy the headers for the shared library. Prior to this fix, the install headers directory would contain the unix style paths to all public header files ("#include lldb/API/SBDefines.h") instead of the fixed up framework header paths ("#include <LLDB/SBDefines.h>"). llvm-svn: 152253
* SmallPtrSet: Copy all the elements when swapping, not just numelements.Benjamin Kramer2012-03-071-5/+4
| | | | | | | This fixes a build failure in webkit. Copying all elements shouldn't be necessary, I'll look out for a better fix soon. llvm-svn: 152252
* Look up ivar offset symbols correctly. We nowSean Callanan2012-03-071-1/+1
| | | | | | | | treat Objective-C ivar symbols as their own kind of symbol rather than lumping them in with generic "runtime" symbols. llvm-svn: 152251
* When comparing a Thread against a ThreadSpec, don't fetch the Thread's Name ↵Jim Ingham2012-03-074-8/+56
| | | | | | or QueueName if the ThreadSpec doesn't specify them. llvm-svn: 152245
* <rdar://problem/10997402>Greg Clayton2012-03-0729-235/+268
| | | | | | | | | | | This fix really needed to happen as a previous fix I had submitted for calculating symbol sizes made many symbols appear to have zero size since the function that was calculating the symbol size was calling another function that would cause the calculation to happen again. This resulted in some symbols having zero size when they shouldn't. This could then cause infinite stack traces and many other side affects. llvm-svn: 152244
* [fast-isel] ARMEmitCmp generates FMSTAT, which transfers the floating-point Chad Rosier2012-03-071-4/+2
| | | | | | | condition flags to CPSR. This allows us to simplify SelectCmp. Patch by Zonr Chang <zonr.xchg@gmail.com>. llvm-svn: 152243
* Use llvm-mc instead of llc. Patch by Jack Carter.Rafael Espindola2012-03-071-5/+5
| | | | llvm-svn: 152242
* Change some smart_ptr == 0 to smart_ptr == nullptr. Fixes ↵Howard Hinnant2012-03-072-7/+7
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=12185. llvm-svn: 152240
* Remove unnecessary include in ExprObjC.hRichard Trieu2012-03-071-1/+0
| | | | llvm-svn: 152239
* Dependences: Simplify isParallelDimensionTobias Grosser2012-03-072-78/+37
| | | | llvm-svn: 152238
* Dependences: Restructure and Document codeTobias Grosser2012-03-072-114/+62
| | | | llvm-svn: 152237
OpenPOWER on IntegriCloud