summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix an assertion hit in Sema::CheckObjCMethodOverrides.Argyrios Kyrtzidis2013-04-272-4/+29
| | | | llvm-svn: 180651
* documenttion parsing. Provide a c-index testFariborz Jahanian2013-04-263-102/+110
| | | | | | | and limit comment extraction to public c++ bases. // rdar://13647476 llvm-svn: 180646
* Hardening to avoid null-pointer crashes in theSean Callanan2013-04-261-0/+6
| | | | | | | | presence of malformed class types. <rdar://problem/13740646> llvm-svn: 180645
* In the ASTImporter, when checking whether twoSean Callanan2013-04-261-0/+6
| | | | | | | | | structs are compatible, check whether the fields of the structs have the same name. This prevents erroneous coalescing of (in particular) anonymous structs. llvm-svn: 180644
* [libclang] Introduce clang_Module_getASTFile function that returns the ↵Argyrios Kyrtzidis2013-04-265-3/+30
| | | | | | | | module file where a module object came from. rdar://13743084 llvm-svn: 180643
* Move helper classes into anonymous namespaces.Benjamin Kramer2013-04-261-0/+2
| | | | llvm-svn: 180642
* Cleanup and document MachineLocation.Adrian Prantl2013-04-263-4/+15
| | | | | | | | | | | | Clarify documentation and API to make the difference between register and register-indirect addressed locations more explicit. Put in a comment to point out that with the current implementation we cannot specify a register-indirect location with offset 0 (a breg 0 in DWARF). No functionality change intended. rdar://problem/13658587 llvm-svn: 180641
* [analyzer] An ObjC for-in loop runs 0 times if the collection is nil.Jordan Rose2013-04-262-23/+78
| | | | | | | | | | | | | | | In an Objective-C for-in loop "for (id element in collection) {}", the loop will run 0 times if the collection is nil. This is because the for-in loop is implemented using a protocol method that returns 0 when there are no elements to iterate, and messages to nil will result in a 0 return value. At some point we may want to actually model this message send, but for now we may as well get the nil case correct, and avoid the false positives that would come with this case. <rdar://problem/13744632> llvm-svn: 180639
* [analyzer] Model casts to bool differently from other numbers.Jordan Rose2013-04-265-12/+127
| | | | | | | | | | | | | | | | | | | Casts to bool (and _Bool) are equivalent to checks against zero, not truncations to 1 bit or 8 bits. This improved reasoning does cause a change in the behavior of the alpha BoolAssignment checker. Previously, this checker complained about statements like "bool x = y" if 'y' was known not to be 0 or 1. Now it does not, since that conversion is well-defined. It's hard to say what the "best" behavior here is: this conversion is safe, but might be better written as an explicit comparison against zero. More usefully, besides improving our model of booleans, this fixes spurious warnings when returning the address of a local variable cast to bool. <rdar://problem/13296133> llvm-svn: 180638
* [analyzer] Consolidate BoolAssignmentChecker tests by using two RUN lines.Jordan Rose2013-04-262-39/+5
| | | | llvm-svn: 180637
* skip randomly failing test to avoid buildbot noiseDaniel Malea2013-04-261-1/+1
| | | | llvm-svn: 180636
* [PCH/modules] Require the preprocessing record option to match the used PCH, ↵Argyrios Kyrtzidis2013-04-265-7/+26
| | | | | | | | | if modules are enabled. The preprocessing record becomes important when modules are enabled, since it is used to calculate the module cache hash. llvm-svn: 180635
* [Modules] Fix an issue where the reconstructed redeclaration chain was ↵Argyrios Kyrtzidis2013-04-267-7/+76
| | | | | | | | | | | | | incomplete, missing the definition from a module. -Make sure that a deserialized external decl gets added to the TU scope. -When associating an identifier with a set of decls, use the most recent local ones, if they exist, otherwise associating decls from modules (that came after a local one) will lead to an incomplete reconstructed re-declaration chain. rdar://13712705 llvm-svn: 180634
* [frontend] Make -chain-include work when used with modules.Argyrios Kyrtzidis2013-04-264-1/+5
| | | | llvm-svn: 180633
* ArrayRefize code. No functionality change.Benjamin Kramer2013-04-262-18/+13
| | | | llvm-svn: 180632
* Micro-optimizationBill Wendling2013-04-261-5/+4
| | | | | | | TLVs probably won't be as common as the other types of variables. Check for them last before defaulting to "DATA". llvm-svn: 180631
* Make CHECK lines a bit less strict so they also match code generated for win64.Benjamin Kramer2013-04-261-10/+10
| | | | | | Hopefully brings the windows buildbots back to life. llvm-svn: 180630
* document parsing. When a sub-class (c++ Objective-C) missing Fariborz Jahanian2013-04-262-0/+146
| | | | | | | | a comment, grab the first comment found in its class heirarchy. Also, when a category is mossing a comment, grab comment of its primary class. // rdar://13647476 llvm-svn: 180629
* [driver] Implement the -fdebug-compilation-dir in a way that is compatible withChad Rosier2013-04-263-14/+21
| | | | | | | gcc. No test case included as I'm having problems finding a test case where the inode/dev don't match. llvm-svn: 180628
* Documentation: improve description of make_shared transformation, as ↵Dmitri Gribenko2013-04-261-2/+8
| | | | | | suggested by David Blaikie llvm-svn: 180627
* Teach the interpreter to handle vector compares and additional vector ↵Nadav Rotem2013-04-266-44/+453
| | | | | | | | arithmetic operations. Patch by Yuri Veselov. llvm-svn: 180626
* Comment parsing: -fparse-all-comments: recognize empty line commentsDmitri Gribenko2013-04-262-3/+11
| | | | | | | | | In -fparse-all-comments mode empty '//' comments were recognized as RCK_Invalid, and were not merged with next and previous lines. Patch by Amin Shali. llvm-svn: 180625
* Use llvm/Object/MachO.h in macho-dumper. Drop the old macho parser.Rafael Espindola2013-04-269-976/+347
| | | | | | | | | | | | | | | | | | | | | For Mach-O there were 2 implementations for parsing object files. A standalone llvm/Object/MachOObject.h and llvm/Object/MachO.h which implements the generic interface in llvm/Object/ObjectFile.h. This patch adds the missing features to MachO.h, moves macho-dump to use MachO.h and removes ObjectFile.h. In addition to making sure that check-all is clean, I checked that the new version produces exactly the same output in all Mach-O files in a llvm+clang build directory (including executables and shared libraries). To test the performance, I ran macho-dump over all the files in a llvm+clang build directory again, but this time redirecting the output to /dev/null. Both the old and new versions take about 4.6 seconds (2.5 user) to finish. llvm-svn: 180624
* Mark tests as expected fail for Linux due to not being able to call/print ↵Matt Kopec2013-04-262-0/+2
| | | | | | c++ demangled functions in the global namespace (bugzilla 15854). llvm-svn: 180623
* The exception demo needs its symbols exported.Rafael Espindola2013-04-261-0/+2
| | | | llvm-svn: 180622
* Fixing a typo in the SBThread::Suspend documentationAndrew Kaylor2013-04-261-1/+1
| | | | llvm-svn: 180621
* R600: Initialize AMDGPUMachineFunction::ShaderType to ShaderType::COMPUTETom Stellard2013-04-262-1/+5
| | | | | | | | | We need to intialize this to something and since clang does not set the shader type attribute and clang is used only for compute shaders, initializing it to COMPUTE seems like the best choice. Reviewed-by: Christian König <christian.koenig@amd.com> llvm-svn: 180620
* cleanup testcase some moreAdrian Prantl2013-04-261-11/+11
| | | | | | rdar://problem/13056109 llvm-svn: 180619
* fix a typo that due to cu&paste quadrupled itselfAdrian Prantl2013-04-262-4/+4
| | | | | | rdar://problem/13056109 llvm-svn: 180618
* ARM: Fix encoding of hint instruction for Thumb.Quentin Colombet2013-04-2610-22/+59
| | | | | | | | | | | | | | | "hint" space for Thumb actually overlaps the encoding space of the CPS instruction. In actuality, hints can be defined as CPS instructions where imod and M bits are all nil. Handle decoding of permitted nop-compatible hints (i.e. nop, yield, wfi, wfe, sev) in DecodeT2CPSInstruction. This commit adds a proper diagnostic message for Imm0_4 and updates all tests. Patch by Mihail Popa <Mihail.Popa@arm.com>. llvm-svn: 180617
* Add missing ':'.Rafael Espindola2013-04-261-1/+1
| | | | llvm-svn: 180616
* Bugfix for the debug intrinsic handling in InstCombiner:Adrian Prantl2013-04-263-4/+129
| | | | | | | | | | | Since we can't guarantee that the original dbg.declare instrinsic is removed by LowerDbgDeclare(), we need to make sure that we are not inserting the same dbg.value intrinsic over and over. This removes tons of redundant DIEs when compiling optimized code. rdar://problem/13056109 llvm-svn: 180615
* Change Malloc to request an aligned memory size.Matt Kopec2013-04-261-4/+10
| | | | | | This fixes a problem on Linux where allocated memory would get overun in some use cases (ie. in TestExprs2.py). llvm-svn: 180614
* Removing invalid test cases from thread state testAndrew Kaylor2013-04-261-14/+0
| | | | llvm-svn: 180613
* Fixing lldb log list text for commands categoryAndrew Kaylor2013-04-261-1/+1
| | | | llvm-svn: 180612
* PowerPC: Use RegisterOperand instead of RegisterClass operandsUlrich Weigand2013-04-263-432/+452
| | | | | | | | | | | | | | | | | In the default PowerPC assembler syntax, registers are specified simply by number, so they cannot be distinguished from immediate values (without looking at the opcode). This means that the default operand matching logic for the asm parser does not work, and we need to specify custom matchers. Since those can only be specified with RegisterOperand classes and not directly on the RegisterClass, all instructions patterns used by the asm parser need to use a RegisterOperand (instead of a RegisterClass) for all their register operands. This patch adds one RegisterOperand for each RegisterClass, using the same name as the class, just in lower case, and updates all instruction patterns to use RegisterOperand instead of RegisterClass operands. llvm-svn: 180611
* Implement C++1y decltype(auto).Richard Smith2013-04-2631-93/+401
| | | | llvm-svn: 180610
* Re-write the address propagation code for pre-indexed loads/stores to take ↵Silviu Baranga2013-04-261-14/+29
| | | | | | into account some previously misssed cases (PRE_DEC addressing mode, the offset and base address are swapped, etc). This should fix PR15581. llvm-svn: 180609
* PowerPC: Fix encoding of vsubcuw and vsum4sbs instructionsUlrich Weigand2013-04-261-2/+2
| | | | | | | | | When testing the asm parser, I noticed wrong encodings for the above instructions (wrong sub-opcodes). Tests will be added together with the asm parser. llvm-svn: 180608
* PowerPC: Fix encoding of stfsu and stfdu instructionsUlrich Weigand2013-04-261-2/+2
| | | | | | | | | | | When testing the asm parser, I noticed wrong encodings for the above instructions (wrong sub-opcodes). Note that apparently the compiler currently never generates pre-inc instructions for floating point types for some reason ... Tests will be added together with the asm parser. llvm-svn: 180607
* PowerPC: Fix encoding of rldimi and rldcl instructionsUlrich Weigand2013-04-263-3/+36
| | | | | | | | | | When testing the asm parser, I noticed wrong encodings for the above instructions (wrong operand name in rldimi, wrong form and sub-opcode for rldcl). Tests will be added together with the asm parser. llvm-svn: 180606
* PowerPC: Support PC-relative fixup_ppc_brcond14.Ulrich Weigand2013-04-261-0/+3
| | | | | | | | When testing the asm parser, I ran into an error when using a conditional branch to an external symbol (this doesn't occur in compiler-generated code) due to missing support in PPCELFObjectWriter::getRelocTypeInner. llvm-svn: 180605
* ARM/NEON: Pattern match vector integer abs to vabs.Benjamin Kramer2013-04-262-0/+114
| | | | llvm-svn: 180604
* C++1y: support simple variable assignments in constexpr functions.Richard Smith2013-04-269-122/+575
| | | | llvm-svn: 180603
* Revert r180599 "[sanitizer] Clear LD_PRELOAD when forking an external ↵Sergey Matveev2013-04-263-20/+0
| | | | | | symbolizer." llvm-svn: 180602
* Use bitfilds.Rafael Espindola2013-04-261-3/+3
| | | | | | On a 32 bit build this moves LinkageSpecDecl from 52 to 48 bytes. llvm-svn: 180601
* X86: Now that we have a canonical form for vector integer abs, match it into ↵Benjamin Kramer2013-04-262-13/+181
| | | | | | pabs. llvm-svn: 180600
* [sanitizer] Clear LD_PRELOAD when forking an external symbolizer.Sergey Matveev2013-04-263-0/+20
| | | | llvm-svn: 180599
* Fix typos.Joerg Sonnenberger2013-04-261-2/+2
| | | | llvm-svn: 180598
* DAGCombiner: Canonicalize vector integer abs in the same way we do it for ↵Benjamin Kramer2013-04-262-0/+108
| | | | | | | | | | scalars. This already helps SSE2 x86 a lot because it lacks an efficient way to represent a vector select. The long term goal is to enable the backend to match a canonicalized pattern into a single instruction (e.g. vabs or pabs). llvm-svn: 180597
OpenPOWER on IntegriCloud