- Jun 02, 2011
-
-
Jakob Stoklund Olesen authored
No functional change. llvm-svn: 132455
-
-
Douglas Gregor authored
+keyPathsForValuesAffecting<Key> completion was mislabeled as an instance method, and +automaticallyNotifiesObserversOf<Key> was missing entirely. Fixes <rdar://problem/9516762>. llvm-svn: 132452
-
Rafael Espindola authored
llvm-svn: 132451
-
Jakob Stoklund Olesen authored
register classes. It provides information for each register class that cannot be determined statically, like: - The number of allocatable registers in a class after filtering out the reserved and invalid registers. - The preferred allocation order with registers that overlap callee-saved registers last. - The last callee-saved register that overlaps a given physical register. This information usually doesn't change between functions, so it is reused for compiling multiple functions when possible. The many possible combinations of reserved and callee saves registers makes it unfeasible to compute this information statically in TableGen. Use RegisterClassInfo to count available registers in various heuristics in SimpleRegisterCoalescing, making the pass run 4% faster. llvm-svn: 132450
-
Greg Clayton authored
llvm-svn: 132449
-
Akira Hatanaka authored
llvm-svn: 132448
-
Francois Pichet authored
llvm-svn: 132447
-
Eli Friedman authored
Revert r132426; this test passes more often than not, and we don't have a way to mark tests as intermittently failing at the moment. llvm-svn: 132446
-
Akira Hatanaka authored
llvm-svn: 132445
-
Akira Hatanaka authored
llvm-svn: 132444
-
Akira Hatanaka authored
llvm-svn: 132443
-
Eli Friedman authored
When marking a block as being unanalyzable, use "Clobber" on the terminator instead of the first instruction in the block. This is a bit of a hack; "Clobber" isn't really the right marking in the first place. memdep doesn't really have any way of properly expressing "unanalyzable" at the moment. Using it on the terminator is much less ambiguous than using it on an arbitrary instruction, though. In the given testcase, the "Clobber" was pointing to a load, and GVN was incorrectly assuming that meant that the "Clobber" load overlapped the load being analyzed (when they are actually unrelated). The included testcase tests both this commit and r132434. Part two of rdar://9429882. (r132434 was mislabeled.) llvm-svn: 132442
-
Johnny Chen authored
Turn off printing of command sent to the pexpect-spawned child process to make the script more robotic. llvm-svn: 132441
-
Jim Ingham authored
llvm-svn: 132440
-
Jim Ingham authored
llvm-svn: 132439
-
Johnny Chen authored
This serves as a regression test against rdar://problem/9530511. llvm-svn: 132438
-
Chad Rosier authored
llvm-svn: 132437
-
Johnny Chen authored
rdar://problem/9530511 llvm-svn: 132435
-
Eli Friedman authored
In MemoryDependenceAnalysis::getNonLocalPointerDepFromBB, if a given block is is deemed unanalyzable (and we execute one of the "goto PredTranslationFailure" statements), make sure we don't put information about the predecessors of that block into the returned data structures; this can lead to, among other things, extraneous results (which will confuse passes using memdep). Fixes an assert in GVN compiling ruby. Part of rdar://problem/9521954 . Testcase coming up soon. llvm-svn: 132434
-
Devang Patel authored
llvm-svn: 132433
-
Douglas Gregor authored
llvm-svn: 132432
-
Douglas Gregor authored
nested types, from Michael Han! llvm-svn: 132431
-
Johnny Chen authored
to seg fault randomly instead of deterministically. Example: [15:10:43] johnny:/Volumes/data/lldb/svn/trunk/utils/test $ clang -g main.c [15:10:46] johnny:/Volumes/data/lldb/svn/trunk/utils/test $ ./run-until-faulted.py -l $PWD/../../build/Debug/lldb -e a.out lldb command: /Volumes/data/lldb/svn/trunk/utils/test/../../build/Debug/lldb executable: a.out executable options: (lldb) sending 'file a.out' command... file a.out Current executable set to 'a.out' (x86_64). (lldb) sending 'process launch -- ' command... (iteration: 0) process launch -- Process 63630 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) Hello, fault! val=9 Better luck next time! [KProcess 63630 exited with status = 0 (0x00000000) (lldb) sending 'process launch -- ' command... (iteration: 1) process launch -- Process 63633 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) [KProcess 63633 exited with status = 0 (0x00000000) sending 'process launch -- ' command... (iteration: 2) [KHello, fault! val=0 Better luck next time! (lldb) process launch -- Process 63637 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) Hello, fault! val=15 Better luck next time! [KProcess 63637 exited with status = 0 (0x00000000) (lldb) sending 'process launch -- ' command... (iteration: 3) process launch -- Process 63640 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) Hello, fault! val=2 Better luck next time! [KProcess 63640 exited with status = 0 (0x00000000) sending 'process launch -- ' command... (iteration: 4) (lldb) process launch -- Process 63643 launched: '/Volumes/data/lldb/svn/trunk/utils/test/a.out' (x86_64) [KProcess 63643 stopped * thread #1: tid = 0x2d03, 0x0000000100000e93 a.out`main + 99 at main.c:11, stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x0000000100000e93 a.out`main + 99 at main.c:11 8 u_int32_t val = (arc4random() & 0x0f); 9 printf("val=%u\n", val); 10 if (val == 0x07) // Lucky 7 :-) -> 11 printf("Now segfault %d\n", *null_ptr); 12 else 13 printf("Better luck next time!\n"); 14 } (lldb) * thread #1: tid = 0x2d03, 0x0000000100000e93 a.out`main + 99 at main.c:11, stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x0000000100000e93 a.out`main + 99 at main.c:11 8 u_int32_t val = (arc4random() & 0x0f); 9 printf("val=%u\n", val); 10 if (val == 0x07) // Lucky 7 :-) -> 11 printf("Now segfault %d\n", *null_ptr); 12 else 13 printf("Better luck next time!\n"); 14 } [KHello, fault! val=7 (lldb) llvm-svn: 132430
-
Devang Patel authored
llvm-svn: 132427
-
- Jun 01, 2011
-
-
Argyrios Kyrtzidis authored
llvm-svn: 132426
-
Rafael Espindola authored
idea at some point to split out the directories where we install our runtime libraries. llvm-svn: 132425
-
-
Ted Kremenek authored
llvm-svn: 132422
-
Howard Hinnant authored
Experimental support for a meaningful __is_swappable<T>::value. This does not appear to be strictly needed for correct functioning of the library. If it causes any problems, I'd rather pull it sooner rather than later. llvm-svn: 132421
-
Eric Christopher authored
types if the vector type is legal. Fixes rdar://9306086 llvm-svn: 132420
-
-
Nadav Rotem authored
the TargetLowering enum. llvm-svn: 132418
-
Johnny Chen authored
the SWIG-generated lldb.py module by adding comments in the post-processed file in order to facilitate reading of the code. llvm-svn: 132417
-
Andrew Trick authored
llvm-svn: 132416
-
Jakob Stoklund Olesen authored
This commit caused regressions in i386 flops-[568], matrix, salsa20, 256.bzip2, and enc-md5. llvm-svn: 132413
-
Johnny Chen authored
llvm-svn: 132412
-
Stuart Hastings authored
rdar://problem/5660695 llvm-svn: 132411
-
Eric Christopher authored
llvm-svn: 132409
-
-