summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a bug introduced by r153739: We are not able to provide the correctHongbin Zheng2012-04-061-1/+1
| | | | | | | | | | dependent list for target polly-test, hence making "all" from the top of llvm build directory will cause the target "polly-test" being built before its dependencing target built. Patched by Sebastian Pop<spop@codeaurora.org> llvm-svn: 154162
* Added logging when API calls try to do something that shouldn't be done when ↵Greg Clayton2012-04-064-249/+704
| | | | | | | | the process is stopped by having logging calls that end with "error: process is running". Also test for the process to be stopped when many SBValue API calls are made to make sure it is safe to evaluate values, children of values and much more. llvm-svn: 154160
* [asan] add flags: disable_core, abort_on_error and unmap_shadow_on_exitKostya Serebryany2012-04-064-2/+22
| | | | llvm-svn: 154159
* Actually finish this sentence in the comment the way I intended. ThanksChandler Carruth2012-04-061-1/+1
| | | | | | Matt for pointing this out. llvm-svn: 154158
* Sink the return instruction collection until after we're done deletingChandler Carruth2012-04-062-7/+46
| | | | | | | | | | | | | | dead code, including dead return instructions in some cases. Otherwise, we end up having a bogus poniter to a return instruction that blows up much further down the road. It turns out that this pattern is both simpler to code, easier to update in the face of enhancements to the inliner cleanup, and likely cheaper given that it won't add dead instructions to the list. Thanks to John Regehr's numerous test cases for teasing this out. llvm-svn: 154157
* [analyzer]Fix false positive: pointer might escape through CG*WithData.Anna Zaks2012-04-062-0/+19
| | | | llvm-svn: 154156
* Add a new option to the test driver, -N dsym or -N dwarf, in order to ↵Johnny Chen2012-04-0652-1/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | exclude tests decorated with either @dsym_test or @dwarf_test to be executed during the testsuite run. There are still lots of Test*.py files which have not been decorated with the new decorator. An example: # From TestMyFirstWatchpoint.py -> class HelloWatchpointTestCase(TestBase): mydir = os.path.join("functionalities", "watchpoint", "hello_watchpoint") @dsym_test def test_hello_watchpoint_with_dsym_using_watchpoint_set(self): """Test a simple sequence of watchpoint creation and watchpoint hit.""" self.buildDsym(dictionary=self.d) self.setTearDownCleanup(dictionary=self.d) self.hello_watchpoint() @dwarf_test def test_hello_watchpoint_with_dwarf_using_watchpoint_set(self): """Test a simple sequence of watchpoint creation and watchpoint hit.""" self.buildDwarf(dictionary=self.d) self.setTearDownCleanup(dictionary=self.d) self.hello_watchpoint() # Invocation -> [17:50:14] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -N dsym -v -p TestMyFirstWatchpoint.py LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug LLDB-137 Path: /Volumes/data/lldb/svn/ToT URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk Repository Root: https://johnny@llvm.org/svn/llvm-project Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8 Revision: 154133 Node Kind: directory Schedule: normal Last Changed Author: gclayton Last Changed Rev: 154109 Last Changed Date: 2012-04-05 10:43:02 -0700 (Thu, 05 Apr 2012) Session logs for test failures/errors/unexpected successes will go into directory '2012-04-05-17_50_49' Command invoked: python ./dotest.py -N dsym -v -p TestMyFirstWatchpoint.py compilers=['clang'] Configuration: arch=x86_64 compiler=clang ---------------------------------------------------------------------- Collected 2 tests 1: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Test a simple sequence of watchpoint creation and watchpoint hit. ... skipped 'dsym tests' 2: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase) Test a simple sequence of watchpoint creation and watchpoint hit. ... ok ---------------------------------------------------------------------- Ran 2 tests in 1.138s OK (skipped=1) Session logs for test failures/errors/unexpected successes can be found in directory '2012-04-05-17_50_49' [17:50:50] johnny:/Volumes/data/lldb/svn/ToT/test $ llvm-svn: 154154
* Add flag to warn about ivar initialization reordering.Bill Wendling2012-04-061-0/+3
| | | | llvm-svn: 154153
* explicitly cast the value.Bill Wendling2012-04-061-1/+1
| | | | llvm-svn: 154148
* Order ivar initializers to how they're declared in the class.Bill Wendling2012-04-061-2/+2
| | | | llvm-svn: 154147
* Order ivar initializers to how they're declared in the class.Bill Wendling2012-04-061-1/+1
| | | | llvm-svn: 154146
* Silence unused warning.Bill Wendling2012-04-061-2/+2
| | | | llvm-svn: 154145
* Deduplicate ARM call-related instructions.Jakob Stoklund Olesen2012-04-066-145/+24
| | | | | | | | We had special instructions for iOS because r9 is call-clobbered, but that is represented dynamically by the register mask operands now, so there is no need for the pseudo-instructions. llvm-svn: 154144
* Added a stress-tester for LLDB's disassembler.Sean Callanan2012-04-061-0/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now it only works on Mac OS X, but other platforms would just need to add their own implementation of AddLLDBToSysPathOn*(). The stress-tester has two modes: Used with --bytes N --random, the stress-tester generates random instructions of length N and runs them through the disassembler. This is suitable for architectures like Intel where it is combinatorially infeasible to run through the entire space of possible instructions. Used with --bytes N and no arguments (or --start S --stride T), the stress-tester tests the disassembler with a monotonically increasing sequence of instructions. The --start and --stride arguments are intended for use in multiprocessing environments. Give each core an ID from 0 .. T-1, pass the ID in as the --start, and use T as the stride, and you can launch one copy of the stress-tester on each core you have available. llvm-svn: 154143
* ARM: Don't form a t2LDRi8 or t2STRi8 with an offset of zero.Jim Grosbach2012-04-051-0/+8
| | | | | | | | | | | | | | | | | The load/store optimizer splits LDRD/STRD into two instructions when the register pairing doesn't work out. For negative offsets in Thumb2, it uses t2STRi8 to do that. That's fine, except for the case when the offset is in the range [-4,-1]. In that case, we'll also form a second t2STRi8 with the original offset plus 4, resulting in a t2STRi8 with a non-negative offset, which ends up as if it were an STRT, which is completely bogus. Similarly for loads. No testcase, unfortunately, as any I've been able to construct is both large and extremely fragile. rdar://11193937 llvm-svn: 154141
* Point the caret at the error for the 'expected namespace name' diagnostic inRichard Smith2012-04-052-3/+7
| | | | | | a namespace alias declaration. llvm-svn: 154138
* Fix the build breakage introduced by r154131.Kaelyn Uhrain2012-04-051-19/+3
| | | | | | | | | The empty 1-argument operator delete is for the benefit of the destructor. A couple of spot checks of running yaml-bench under valgrind against a few of the files under test/YAMLParser did not reveal any leaks introduced by this change. llvm-svn: 154137
* Implement C90 pedantic warning for duplicate declaration specifiers which ↵Eli Friedman2012-04-052-0/+37
| | | | | | are duplicated via a typedef. Patch by Tim Northover. llvm-svn: 154136
* Properly implement the C rules for composite types for qualified pointers in ↵Eli Friedman2012-04-052-11/+44
| | | | | | conditionals. Patch by Tim Northover. llvm-svn: 154134
* objective-c: Don't warn when a category does not implement a methodFariborz Jahanian2012-04-054-17/+40
| | | | | | | declared in its adopted protocol when another category declares it because that category will implement it. // rdar://11186449 llvm-svn: 154132
* Really fix -Wnon-virtual-dtor warnings; gcc needs the dtors to beKaelyn Uhrain2012-04-051-7/+7
| | | | | | explicitly marked as virtual. llvm-svn: 154131
* Enhance testing a bit to make sure that we're omitting theEric Christopher2012-04-051-0/+2
| | | | | | | | | getter and setter when they're synthesized with the default names. rdar://11179756 llvm-svn: 154130
* Only emit the getter and setter names if they're not the defaultEric Christopher2012-04-054-10/+14
| | | | | | | | synthesized ones. Reasonable debug info size reduction for objc. rdar://11179756 llvm-svn: 154129
* Make the variant of __builtin_shufflevector that takes the shuffle indexes ↵Eli Friedman2012-04-052-3/+38
| | | | | | as a vector actually usable. Patch by David Neto. PR12465. llvm-svn: 154128
* The internalize pass can be dangerous for LTO.Bill Wendling2012-04-051-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consider the following program: $ cat main.c void foo(void) { } int main(int argc, char *argv[]) { foo(); return 0; } $ cat bundle.c extern void foo(void); void bar(void) { foo(); } $ clang -o main main.c $ clang -o bundle.so bundle.c -bundle -bundle_loader ./main $ nm -m bundle.so 0000000000000f40 (__TEXT,__text) external _bar (undefined) external _foo (from executable) (undefined) external dyld_stub_binder (from libSystem) $ clang -o main main.c -O4 $ clang -o bundle.so bundle.c -bundle -bundle_loader ./main Undefined symbols for architecture x86_64: "_foo", referenced from: _bar in bundle-elQN6d.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) The linker was told that the 'foo' in 'main' was 'internal' and had no uses, so it was dead stripped. Another situation is something like: define void @foo() { ret void } define void @bar() { call asm volatile "call _foo" ... ret void } The only use of 'foo' is inside of an inline ASM call. Since we don't look inside those for uses of functions, we don't specify this as a "use." Get around this by not invoking the 'internalize' pass by default. This is an admitted hack for LTO correctness. <rdar://problem/11185386> llvm-svn: 154124
* ARM assembly aliases for add negative immediates using sub.Jim Grosbach2012-04-054-5/+76
| | | | | | | | | | 'add r2, #-1024' should just use 'sub r2, #1024' rather than erroring out. Thumb1 aliases for adding a negative immediate to the stack pointer, also. rdar://11192734 llvm-svn: 154123
* Reapply test case in 154038, this time with triple to prevent the backendAkira Hatanaka2012-04-051-0/+42
| | | | | | from emitting gp_rel relocation. llvm-svn: 154122
* Require that all static analyzer issues have a category. As part of this ↵Ted Kremenek2012-04-0515-39/+63
| | | | | | | | | | change, consolidate some commonly used category strings into global references (more of this can be done, I just did a few). Fixes <rdar://problem/11191537>. llvm-svn: 154121
* Patch to set is_stmt a little better for prologue lines in a function.Eric Christopher2012-04-052-4/+9
| | | | | | | | | This enables debuggers to see what are interesting lines for a breakpoint rather than any line that starts a function. rdar://9852092 llvm-svn: 154120
* Don't break the IV update in TLI::SimplifySetCC().Jakob Stoklund Olesen2012-04-053-23/+72
| | | | | | | | | | | | | | | | | | | LSR always tries to make the ICmp in the loop latch use the incremented induction variable. This allows the induction variable to be kept in a single register. When the induction variable limit is equal to the stride, SimplifySetCC() would break LSR's hard work by transforming: (icmp (add iv, stride), stride) --> (cmp iv, 0) This forced us to use lea for the IC update, preventing the simpler incl+cmp. <rdar://problem/7643606> <rdar://problem/11184260> llvm-svn: 154119
* Fix accidentally inverted logic from r152803, and make theDan Gohman2012-04-052-1/+7
| | | | | | testcase slightly less trivial. This fixes rdar://11171718. llvm-svn: 154118
* Fix a problem in the target detection for Debian GNU/HURDSylvestre Ledru2012-04-054-0/+18
| | | | llvm-svn: 154117
* Move some MIPS target macro definitions from class Mips32TargetInfoBaseSimon Atanasyan2012-04-051-4/+4
| | | | | | | to the base class MipsTargetInfoBase. These macros are applicable for both 32/64-bits targets. llvm-svn: 154116
* Temporary workaround for bug#12457: turn the 'constexpr function never producesRichard Smith2012-04-052-3/+4
| | | | | | | | a constant expression' error into a DefaultError ExtWarn, so that it can be disabled and is suppressed in system headers. libstdc++4.7 contains some such functions which we currently can't evaluate as constant expressions. llvm-svn: 154115
* Fix a problem in the target detection for Debian GNU/kFreeBSDSylvestre Ledru2012-04-054-6/+6
| | | | llvm-svn: 154114
* Treat f16 the same as f80/f128 for the purposes of generating constants ↵Owen Anderson2012-04-051-1/+2
| | | | | | during instruction selection. llvm-svn: 154113
* [ASan/Win] Revert the local Makefile change slipped into the prev commitTimur Iskhodzhanov2012-04-051-4/+4
| | | | llvm-svn: 154112
* [ASan/Win] Fix lint warningTimur Iskhodzhanov2012-04-052-5/+5
| | | | llvm-svn: 154111
* Enable building the POSIX-DYLD dynamic loader plug-in in the Makefile build ↵Greg Clayton2012-04-051-3/+4
| | | | | | since it can be used for remote debugging. llvm-svn: 154109
* Revert r154086. It may be needed for Darwin. But the symbols are still ↵Bill Wendling2012-04-051-4/+2
| | | | | | missing in the dylib. llvm-svn: 154108
* [ASan/Win] Fix build by using inline assembly instead of an unavailable ↵Timur Iskhodzhanov2012-04-051-1/+10
| | | | | | intrinsic function llvm-svn: 154106
* [Lex] Add support for 'user specified system frameworks' (see test case).Daniel Dunbar2012-04-058-9/+89
| | | | | | - Developers of system frameworks need a way for their framework to be treated as a "system framework" during development. Otherwise, they are unable to properly test how their framework behaves when installed because of the semantic changes (in warning behavior) applied to system frameworks. llvm-svn: 154105
* [Lex] HeaderSearch: Introduce a FrameworkCacheEntry structure to hold the ↵Daniel Dunbar2012-04-052-16/+19
| | | | | | | | FrameworkMap items. - No functionality change. llvm-svn: 154104
* Simplify.Daniel Dunbar2012-04-051-2/+1
| | | | llvm-svn: 154103
* Improve & simplify diagnostic for missing 'class' in template template ↵David Blaikie2012-04-054-12/+10
| | | | | | | | parameter. Change suggested by Sebastian Redl on review feedback from r153887. llvm-svn: 154102
* Added support for unpredictable ADC/SBC instructions on ARM, and also fixed ↵Silviu Baranga2012-04-052-4/+21
| | | | | | some corner cases involving the PC register as an operand for these instructions. llvm-svn: 154101
* Added support for handling unpredictable arithmetic instructions on ARM.Silviu Baranga2012-04-053-12/+9
| | | | llvm-svn: 154100
* Added a new Host class: ReadWriteLockGreg Clayton2012-04-0514-646/+1085
| | | | | | | | | | | | This abstracts read/write locks on the current host system. It is currently backed by pthread_rwlock_t objects so it should work on all unix systems. We also need a way to control multi-threaded access to the process through the public API when it is running. For example it isn't a good idea to try and get stack frames while the process is running. To implement this, the lldb_private::Process class now contains a ReadWriteLock member variable named m_run_lock which is used to control the public process state. The public process state represents the state of the process as the client knows it. The private is used to control the actual current process state. So the public state of the process can be stopped, yet the private state can be running when evaluating an expression for example. Adding the read/write lock where readers are clients that want the process to stay stopped, and writers are clients that run the process, allows us to accurately control multi-threaded access to the process. Switched the SBThread and SBFrame over to us shared pointers to the ExecutionContextRef class instead of making their own class to track this. This fixed an issue with assigning on SBFrame to another and will also centralize the code that tracks weak references to execution context objects into one location. llvm-svn: 154099
* BBVectorize: Add the const modifier to the VectorizeConfig because we won'tHongbin Zheng2012-04-051-1/+1
| | | | | | modify it. llvm-svn: 154098
* [asan] make __asan::Deallocate immune to racy double-free (issue #57)Kostya Serebryany2012-04-054-4/+17
| | | | llvm-svn: 154097
OpenPOWER on IntegriCloud