Rafael Espindola
e37b939793
Add test for PR10068.
...
llvm-svn: 132482
2011-06-02 20:02:48 +00:00
Argyrios Kyrtzidis
92dd466a1a
[PCH] Store the offsets of source location file entries and go through them
...
in ASTReader::validateFileEntries().
This avoids going through all source location entries and fixes the performance regression.
Many thanks to Doug for the hint!
(rdar://9530587)
llvm-svn: 132481
2011-06-02 20:01:46 +00:00
Howard Hinnant
9eebe11dd5
I've become quite disatsified with the lack of noexcept specifications on container move construction, move assignment operator and swap. Without proper decoration on at least move construction, vectors of containers will have unacceptable performance. Here's the fix for deque.
...
llvm-svn: 132480
2011-06-02 20:00:14 +00:00
Rafael Espindola
aa318ae495
Revert 132424 to fix PR10068.
...
llvm-svn: 132479
2011-06-02 19:57:47 +00:00
Stuart Hastings
351422bdc8
Andy pointed out a dumb omission in this test case. Thanks Andy!
...
llvm-svn: 132477
2011-06-02 19:26:49 +00:00
Eric Christopher
ca9b7bbaa1
Add a new parse hint for multi-letter constraints in inline asm.
...
Testcase will come when we use it.
Part of rdar://9119939
llvm-svn: 132476
2011-06-02 19:26:37 +00:00
Caroline Tice
d5a0a01b2d
Create new class, InputReaderStack, to better handle
...
mutexes around input readers and prevent deadlocking; modify
Debugger to use the new class.
llvm-svn: 132475
2011-06-02 19:18:55 +00:00
Rafael Espindola
9d4a8cf481
Change how we link libprofile_rt.a. While at it, refactor the code a bit.
...
llvm-svn: 132474
2011-06-02 18:58:46 +00:00
Stuart Hastings
e239a6920e
Jakob pointed out a dumb omission in this test case. Thanks Jakob!
...
llvm-svn: 132472
2011-06-02 18:44:05 +00:00
Jakob Stoklund Olesen
50663b7485
Use RegisterClassInfo::getOrder in RAFast.
...
This saves two virtual function calls and an Allocatable BitVector test,
making RAFast run 2% faster.
llvm-svn: 132471
2011-06-02 18:35:30 +00:00
Johnny Chen
b5964212f4
Add comment about Thread::GetStatus(), which returns the number of frames shown.
...
llvm-svn: 132470
2011-06-02 18:02:15 +00:00
Rafael Espindola
922a624144
Add -fno-gnu89-inline.
...
llvm-svn: 132468
2011-06-02 17:30:53 +00:00
Jim Grosbach
dac0238ed2
.cfi directive register parsing flexibility.
...
Parsing a register name/number for .cfi directives can't assume that a
register name starts with a '%' token. Be more flexible and check for a
register number instead. Still unlikely to be perfect, but it allows us
to parse both plain identifiers as register names and integers as register
numbers, which is what we're wanting to support at this point.
llvm-svn: 132466
2011-06-02 17:14:04 +00:00
Manuel Klimek
8a160cc42b
Reverts the Tooling changes as requested by Chris.
...
llvm-svn: 132462
2011-06-02 16:58:33 +00:00
Howard Hinnant
f9dc28313f
noexcept for forward_list.
...
llvm-svn: 132461
2011-06-02 16:44:28 +00:00
Rafael Espindola
fb2af643e4
Implement -fgnu89-inline. Fixes PR10041.
...
llvm-svn: 132460
2011-06-02 16:13:27 +00:00
Howard Hinnant
a87e836083
noexcept for deque.
...
llvm-svn: 132459
2011-06-02 16:10:22 +00:00
Stuart Hastings
8d530ad22a
Omit unnecessary stack copy when x87 input is a load.
...
rdar://problem/6373334
llvm-svn: 132458
2011-06-02 15:57:11 +00:00
Benjamin Kramer
c8c4f7640a
Start with a zeroed CSRNum map.
...
Found by valgrind.
llvm-svn: 132457
2011-06-02 12:07:44 +00:00
Jakob Stoklund Olesen
09e6667531
Initialize members to fix problem found by valgrind.
...
llvm-svn: 132456
2011-06-02 05:43:49 +00:00
Jakob Stoklund Olesen
aff1060207
Use TRI::has{Sub,Super}ClassEq() where possible.
...
No functional change.
llvm-svn: 132455
2011-06-02 05:43:46 +00:00
Stuart Hastings
7f25c32d5b
Tweak testcase for ARM bot. rdar://problem/5993888
...
llvm-svn: 132454
2011-06-02 05:05:39 +00:00
Douglas Gregor
857bcdaf03
Tweak code completions for Objective-C Key-Value Observing. The
...
+keyPathsForValuesAffecting<Key> completion was mislabeled as an
instance method, and +automaticallyNotifiesObserversOf<Key> was
missing entirely. Fixes <rdar://problem/9516762>.
llvm-svn: 132452
2011-06-02 04:02:27 +00:00
Rafael Espindola
d6860522b2
Don't hardcode the %reg format in the streamer.
...
llvm-svn: 132451
2011-06-02 02:34:55 +00:00
Jakob Stoklund Olesen
c58894bc36
Add a RegisterClassInfo class that lazily caches information about
...
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
2011-06-02 02:19:35 +00:00
Greg Clayton
a13ad2adcf
Use the correct accessor on CXXRecordDecl to know when a C++ class is dynamic.
...
llvm-svn: 132449
2011-06-02 01:26:44 +00:00
Akira Hatanaka
2446869410
Detect FI|cst pattern in MipsDAGToDAGISel::SelectAddr. Patch by Sasa Stankovic.
...
llvm-svn: 132448
2011-06-02 01:03:14 +00:00
Francois Pichet
fbf7e173d2
Fix 80-column violation.
...
llvm-svn: 132447
2011-06-02 00:47:27 +00:00
Eli Friedman
4e2cefffd5
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
2011-06-02 00:42:47 +00:00
Akira Hatanaka
d84c76f2a7
Test case for r132444.
...
llvm-svn: 132445
2011-06-02 00:25:53 +00:00
Akira Hatanaka
6627752050
Custom-lower FRAMEADDR. Patch by Sasa Stankovic.
...
llvm-svn: 132444
2011-06-02 00:24:44 +00:00
Akira Hatanaka
b579fe5f15
Add stuff for o32 ABI conformance.
...
llvm-svn: 132443
2011-06-02 00:09:17 +00:00
Eli Friedman
b576b1675c
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
2011-06-02 00:08:52 +00:00
Johnny Chen
f7626eff37
Turn off printing of command sent to the pexpect-spawned child process to make the script more robotic.
...
llvm-svn: 132441
2011-06-01 23:53:57 +00:00
Jim Ingham
190b959273
If somebody has deleted the breakpoint while we are testing the condition, then just continue.
...
llvm-svn: 132440
2011-06-01 23:52:47 +00:00
Jim Ingham
b7bac4a50e
Remove the "a.out" argument from somewhere on Greg's machine in the lldb-tool run scheme.
...
llvm-svn: 132439
2011-06-01 23:52:04 +00:00
Johnny Chen
1dba2230b5
Exercise the 'thread backtrace all' command instead of the currently 'thread backtrace' command.
...
This serves as a regression test against rdar://problem/9530511.
llvm-svn: 132438
2011-06-01 23:35:20 +00:00
Chad Rosier
6ded76be9c
Typos.
...
llvm-svn: 132437
2011-06-01 23:32:40 +00:00
Johnny Chen
f2ddc71310
The 'thread backtrace all' logical branch had the if (thread->GetStatus()) condition inverted.
...
rdar://problem/9530511
llvm-svn: 132435
2011-06-01 23:19:52 +00:00
Eli Friedman
4b6eeb9ca2
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
2011-06-01 23:16:53 +00:00
Devang Patel
e7181b5fdb
A DBG_VALUE that truncates a range does not start another dbg value range.
...
llvm-svn: 132433
2011-06-01 23:00:17 +00:00
Douglas Gregor
7e51117db2
Improve the readability of the "Expressive Diagnostics" page, from Dave Yost!
...
llvm-svn: 132432
2011-06-01 22:45:49 +00:00
Douglas Gregor
b32e825ae4
Fix an incorrect warning about explicit template specializations for
...
nested types, from Michael Han!
llvm-svn: 132431
2011-06-01 22:37:07 +00:00
Johnny Chen
8831e18b17
Make 'run-until-faulted.py' script more interesting by modifying the example main.c program
...
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
2011-06-01 22:12:27 +00:00
Devang Patel
324f843107
Do not drop constant values when a variable's content is described using .debug_loc entries.
...
llvm-svn: 132427
2011-06-01 22:03:25 +00:00
Argyrios Kyrtzidis
7e48d8ff0c
XFAIL the test on windows.
...
llvm-svn: 132426
2011-06-01 21:52:17 +00:00
Rafael Espindola
341d9b41d4
Add the necessary -L option for finding libprofile_rt.a. It might be a good
...
idea at some point to split out the directories where we install our runtime
libraries.
llvm-svn: 132425
2011-06-01 21:37:00 +00:00
Stuart Hastings
7adc95f69e
Recommit 132404 with fixes. rdar://problem/5993888
...
llvm-svn: 132424
2011-06-01 21:33:14 +00:00
Ted Kremenek
fb43639926
Rename -Wunknown-attributes to -Wattributes to match GCC.
...
llvm-svn: 132422
2011-06-01 20:09:40 +00:00
Howard Hinnant
bc95cf0d5f
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
2011-06-01 19:59:32 +00:00