summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [objc-arc-opts] Added debug statements when we set and unset whether a ↵Michael Gottesman2013-05-141-0/+2
| | | | | | pointer is known positive. llvm-svn: 181745
* [analyzer] Refactor: address Jordan’s code review of r181738.Anna Zaks2013-05-132-143/+375
| | | | | | (Modifying the checker to record that the values are no longer nil will be done separately.) llvm-svn: 181744
* [objc-arc-opts] In the presense of an alloca unconditionally remove RR pairs ↵Michael Gottesman2013-05-132-5/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | if and only if we are both KnownSafeBU/KnownSafeTD rather than just either or. In the presense of a block being initialized, the frontend will emit the objc_retain on the original pointer and the release on the pointer loaded from the alloca. The optimizer will through the provenance analysis realize that the two are related (albiet different), but since we only require KnownSafe in one direction, will match the inner retain on the original pointer with the guard release on the original pointer. This is fixed by ensuring that in the presense of allocas we only unconditionally remove pointers if both our retain and our release are KnownSafe (i.e. we are KnownSafe in both directions) since we must deal with the possibility that the frontend will emit what (to the optimizer) appears to be unbalanced retain/releases. An example of the miscompile is: %A = alloca retain(%x) retain(%x) <--- Inner Retain store %x, %A %y = load %A ... DO STUFF ... release(%y) call void @use(%x) release(%x) <--- Guarding Release getting optimized to: %A = alloca retain(%x) store %x, %A %y = load %A ... DO STUFF ... release(%y) call void @use(%x) rdar://13750319 llvm-svn: 181743
* Adding new test cases for inferior crashing.Andrew Kaylor2013-05-131-7/+75
| | | | llvm-svn: 181742
* Add expression tests for a function in an anonymous namespace.Matt Kopec2013-05-132-0/+16
| | | | llvm-svn: 181741
* Fixing the MSan/compiler-rt buildDavid Blaikie2013-05-131-1/+11
| | | | | | Patch by Evgieniy Stepanov, review by İsmail Dönmez. llvm-svn: 181740
* Fix Mac OS X build issue introduced by incorrect using statementsDaniel Malea2013-05-131-4/+4
| | | | llvm-svn: 181739
* [analyzer] Warn about nil elements/keys/values in array and dictionary literals.Anna Zaks2013-05-132-19/+109
| | | | llvm-svn: 181738
* Prevent convenience registers from being included in "read register" as they ↵Ashok Thirumurthi2013-05-132-7/+11
| | | | | | | | | are derived registers. - Also refactors TestRegisters.py because test_convenience_registers_with_process_attach now fails with an assert. TODO: Cross-reference the skipOnLinux decorator with a bugzilla report after root-causing this issue. llvm-svn: 181737
* Unset CFLAGS/CXXFLAGS when running tests via cmake/make check targetsDaniel Malea2013-05-132-3/+3
| | | | | | | - should fix automatic tests set up on http://llvm-jenkins.debian.net - needed in order to make Debian package builds depend on passing test suite llvm-svn: 181736
* Cleanup test output when run via cmake/make check targetsDaniel Malea2013-05-131-1/+0
| | | | llvm-svn: 181735
* Move a couple more statistics inside '#ifndef NDEBUG'.Matt Beaumont-Gay2013-05-131-1/+1
| | | | | | Suppresses an unused-variable warning in -Asserts builds. llvm-svn: 181733
* Align a multiline string literal with the first part.Daniel Jasper2013-05-132-3/+11
| | | | | | | | | | | | | | Before: #define A(X) \ "aaaaa" #X "bbbbbb" \ "ccccc" After: #define A(X) \ "aaaaa" #X "bbbbbb" \ "ccccc" llvm-svn: 181732
* Suppress GCC warning for no return after covered switch, and remove someRichard Smith2013-05-131-2/+1
| | | | | | debugging code from an unreachable codepath. llvm-svn: 181731
* Fix a wrong and confusing comment in CharUnits.h. Neither C nor C++ allowsRichard Smith2013-05-131-11/+10
| | | | | | bytes and character units to be different sizes. llvm-svn: 181730
* Mips assembler: Assembler macro ADDIU $rs,immJack Carter2013-05-132-1/+4
| | | | | | | | | | | | | | This patch adds alias for addiu instruction which enables following syntax: addiu $rs,imm The macro is translated as: addiu $rs,$rs,imm Contributer: Vladimir Medic llvm-svn: 181729
* Use atomic instructions on ARM linux.Rafael Espindola2013-05-132-1/+26
| | | | | | | | | This is safe given how the pre-v6 atomic ops funcions in libgcc are implemented. This fixes pr15429. llvm-svn: 181728
* Fixed expression evaluation with convenience registers.Ashok Thirumurthi2013-05-134-6/+25
| | | | | | | - Also improved test coverage for passing tests to include expr/x and a sanity check for $eax as the lower half of $rax. llvm-svn: 181727
* [objc-arc-opts] Add comment to BBState making it clear that ↵Michael Gottesman2013-05-131-0/+6
| | | | | | get{TopDown,BottomUp}PtrState will create a new PtrState object if it does not find a PtrState for Arg. llvm-svn: 181726
* Fix goofy commentary in PPCTargetObjectFile.cpp.Bill Schmidt2013-05-131-2/+2
| | | | llvm-svn: 181725
* Fixed build break introduced by r181717Daniel Malea2013-05-132-3/+5
| | | | | | | - added missing ConstString header - moved "using lldb*" statements to OS-independent section llvm-svn: 181724
* PPC64: Constant initializers with dynamic relocations go in .data.rel.ro.Bill Schmidt2013-05-135-0/+121
| | | | | | | | | | | | | | | | | | | | | This fixes warning messages observed in the oggenc application test in projects/test-suite. Special handling is needed for the 64-bit PowerPC SVR4 ABI when a constant is initialized with a pointer to a function in a shared library. Because a function address is implemented as the address of a function descriptor, the use of copy relocations can lead to problems with initialization. GNU ld therefore replaces copy relocations with dynamic relocations to be resolved by the dynamic linker. This means the constant cannot reside in the read-only data section, but instead belongs in .data.rel.ro, which is designed for constants containing dynamic relocations. The implementation creates a class PPC64LinuxTargetObjectFile inheriting from TargetLoweringObjectFileELF, which behaves like its parent except to place constants of this sort into .data.rel.ro. The test case is reduced from the oggenc application. llvm-svn: 181723
* Add setting of lldb thread names on Linux.Matt Kopec2013-05-133-6/+79
| | | | | | Patch by Mike Sartain. llvm-svn: 181722
* Remove redundant variable introduced by r181682.Bob Wilson2013-05-131-1/+0
| | | | llvm-svn: 181721
* Removed a duplicate entry from the GDB toSean Callanan2013-05-131-15/+1
| | | | | | | | | LLDB transition page. Also fixed a <b>...</b> tag. <rdar://problem/13871874> llvm-svn: 181720
* [objc-arc] Move the before optimization statistics gathering phase out of ↵Michael Gottesman2013-05-131-8/+7
| | | | | | | | | | | OptimizeIndividualCalls. This makes the statistics gathering completely independent of the actual optimization occuring, preventing any sort of bleeding over from occuring. Additionally, it simplifies a switch statement in the non-statistic gathering case. llvm-svn: 181719
* [mips] Add option -mno-ldc1-sdc1.Akira Hatanaka2013-05-134-4/+120
| | | | | | | | This option is used when the user wants to avoid emitting double precision FP loads and stores. Double precision FP loads and stores are expanded to single precision instructions after register allocation. llvm-svn: 181718
* <rdar://problem/13875830>Greg Clayton2013-05-132-1/+35
| | | | | | Unblock linux builds. The real fix for this is tracked by the above radar, but this temporary hack should fix things for now. llvm-svn: 181717
* Fix a bug that APFloat::fusedMultiplyAdd() mistakenly evaluate "14.5f * ↵Shuxin Yang2013-05-132-2/+50
| | | | | | -14.5f + 225.0f" to 225.0f. llvm-svn: 181715
* [mips] Define a helper function which creates an instruction with the sameAkira Hatanaka2013-05-132-0/+19
| | | | | | operands as the prototype instruction but with a different opcode. llvm-svn: 181714
* [mips] Rename functions. No functionality changes.Akira Hatanaka2013-05-137-29/+29
| | | | llvm-svn: 181713
* Fix Linux warning about missing virtual destructor in Operation classesDaniel Malea2013-05-131-0/+1
| | | | llvm-svn: 181712
* Unbreak cmake builds by skipping Darwin kernel plugin on non-Mac platformsDaniel Malea2013-05-132-2/+6
| | | | llvm-svn: 181711
* Objective-C error recovery. This patch makes a quickFariborz Jahanian2013-05-133-0/+25
| | | | | | | | | recovery form duplicate method definition error thus preventing doc parsing to loop trying to find comment for the invalid redefinition in a previous declaration. // rdar://13836387 llvm-svn: 181710
* <rdar://problem/13183720>Enrico Granata2013-05-134-2/+34
| | | | | | | | Provide a mechanism through which users can disable loading the Python scripts from dSYM files This relies on a target setting: target.load-script-from-symbol-file which defaults to false ("do NOT load the script") You need to set it to true before creating your target (or in your lldbinit file if you constantly rely on this feature) to allow the scripts to load llvm-svn: 181709
* Fix a typo in the commentSylvestre Ledru2013-05-131-2/+2
| | | | llvm-svn: 181708
* Fix test/CodeGenCXX/captured-statements.cpp on powerpc64Ben Langmuir2013-05-131-7/+4
| | | | | | | Generalize some attributes that differ on powerpc64 (i32 vs signext i32). Also fix some copy-and-pasted code that didn't get updated properly. llvm-svn: 181707
* Remove unused fields and arguments.Rafael Espindola2013-05-133-13/+6
| | | | llvm-svn: 181706
* The purpose of the patch is to fix the syntax of ARM mrc and mrc2 ↵Mihai Popa2013-05-136-14/+58
| | | | | | instructions when they are used to write to the APSR. In this case, the destination operand should be APSR_nzcv, and the encoding of the target should be 0b1111 (same as for PC). In pre-UAL syntax, this form used the PC register as a textual target. This is still allowed for backward compatibility. llvm-svn: 181705
* Fix a gcc warning.Rafael Espindola2013-05-131-0/+2
| | | | | | | | | In r181677 I removed this llvm_unreachable and it introduced a gcc warning. Add it back. Thanks to Patrik Hägglund for noticing it. llvm-svn: 181704
* Also pass the MCRegInfo to createMCAsmInfo. Follow the modification ↵Sylvestre Ledru2013-05-131-2/+2
| | | | | | introduced in commit r181680 of llvm llvm-svn: 181703
* A better version of r181699: use raw_string_ostream.str() instead of ↵Alexander Kornienko2013-05-131-2/+1
| | | | | | manually calling .flush(). llvm-svn: 181702
* Fix style according to post-commit review comments.Manuel Klimek2013-05-131-2/+2
| | | | llvm-svn: 181701
* Implements brace breaking styles.Manuel Klimek2013-05-134-7/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now support "Linux" and "Stroustrup" brace breaking styles, which gets us one step closer to support formatting WebKit, KDE & Linux code. Linux brace breaking style: namespace a { class A { void f() { if (x) { f(); } else { g(); } } } } Stroustrup brace breaking style: namespace a { class A { void f() { if (x) { f(); } else { g(); } } } } llvm-svn: 181700
* Fixes [Bug 15960] YAMLTraits doesn't roundtrip on Windows.Alexander Kornienko2013-05-131-0/+1
| | | | | | Thanks to Kim Gräsman for help! llvm-svn: 181699
* [sanitizer] Generic sorting in sanitizer_common.Sergey Matveev2013-05-132-38/+46
| | | | llvm-svn: 181698
* [sanitizer] Fix StopTheWorld build on non-Android ARM.Sergey Matveev2013-05-131-12/+19
| | | | | | Original patch by Abdoulaye Walsimou Gaye. llvm-svn: 181697
* Correctly preserve the input chain for potential tailcall nodes whoseLang Hames2013-05-132-1/+18
| | | | | | | | | | | | return values are bitcasts. The chain had previously been being clobbered with the entry node to the dag, which sometimes caused other code in the function to be erroneously deleted when tailcall optimization kicked in. <rdar://problem/13827621> llvm-svn: 181696
* Under GNU/Linux, do not build lldbPluginDynamicLoaderDarwinKernel.a. It was ↵Sylvestre Ledru2013-05-132-4/+2
| | | | | | breaking the build llvm-svn: 181695
* Add a new constructor with ConstString (and not only const char *). ↵Sylvestre Ledru2013-05-131-0/+5
| | | | | | Hopefully fixes the build of lldb llvm-svn: 181694
OpenPOWER on IntegriCloud