Duncan Sands
2e9e4f1be3
Fix typo: should have been testing that X was odd, not V.
...
llvm-svn: 124533
2011-01-29 13:27:00 +00:00
Benjamin Kramer
65bb14d368
Add the missing sub identity "A-(A-B) -> B" to DAGCombine.
...
This happens e.g. for code like "X - X%10" where we lower the modulo operation
to a series of multiplies and shifts that are then subtracted from X, leading to
this missed optimization.
llvm-svn: 124532
2011-01-29 12:34:05 +00:00
Greg Clayton
e1af156bdf
Bumped Xcode project versions to lldb-46 and debugserver-131.
...
llvm-svn: 124531
2011-01-29 07:14:26 +00:00
Greg Clayton
513c26ce9d
Finished up the async attach support. This allows us to request to attach
...
by name or by pid (with or without waiting for a process to launch) and
catch the response asynchronously.
llvm-svn: 124530
2011-01-29 07:10:55 +00:00
Anders Carlsson
fd4834061c
Remove IsDefinition from CodeGenModule::setTypeVisibility; it is always true.
...
llvm-svn: 124529
2011-01-29 05:26:32 +00:00
Anders Carlsson
6b3afd7df1
When trying to get the most derived class, don't assume that we can ignore all casts. We can only ignore derived-to-base and no-op casts. Fixes selfhost.
...
llvm-svn: 124528
2011-01-29 05:04:11 +00:00
Evan Cheng
73c29178ac
Add a test for TCE return duplication.
...
llvm-svn: 124527
2011-01-29 04:53:35 +00:00
Evan Cheng
d983eba7dc
Re-apply r124518 with fix. Watch out for invalidated iterator.
...
llvm-svn: 124526
2011-01-29 04:46:23 +00:00
Jim Ingham
754ab98fae
The m_next_action is simpler if it is an auto_pointer.
...
llvm-svn: 124525
2011-01-29 04:05:41 +00:00
Anders Carlsson
1ae64c5a9d
When calling a virtual member function on a base class and the most derived class is marked 'final', we can devirtualize the call.
...
llvm-svn: 124524
2011-01-29 03:52:01 +00:00
Anders Carlsson
a376b53695
When doing a derived-to-base class through a virtual class, we don't have to get the vbase offset from the vtable if the derived class is marked final.
...
llvm-svn: 124523
2011-01-29 03:18:56 +00:00
Evan Cheng
65b8ccf6ac
Revert r124518. It broke Linux self-host.
...
llvm-svn: 124522
2011-01-29 02:43:04 +00:00
Jim Ingham
2a5fdd4729
Handle the case where the "NextEventAction" wants to kill us on some event other than eStateExited.
...
llvm-svn: 124521
2011-01-29 01:57:31 +00:00
Jim Ingham
bb3a283b3e
Added a completion action class to the Process events so that we can make things like Attach and later Launch start their job, and then return to the event loop while waiting for the work to be done.
...
llvm-svn: 124520
2011-01-29 01:49:25 +00:00
Evan Cheng
d4eff31476
Re-commit r124462 with fixes. Tail recursion elim will now dup ret into unconditional predecessor to enable TCE on demand.
...
llvm-svn: 124518
2011-01-29 01:29:26 +00:00
Johnny Chen
74d53758c5
Added comment.
...
llvm-svn: 124517
2011-01-29 01:21:04 +00:00
Johnny Chen
6573818e38
Add a "-D" option to the test driver which dumps the Python sys.path variable
...
to be used for the test run. Could be useful for debugging the setup of the
test environment.
llvm-svn: 124516
2011-01-29 01:16:52 +00:00
Andrew Trick
24f5ff0f23
Implementation of path profiling.
...
Modified patch by Adam Preuss.
This builds on the existing framework for block tracing, edge profiling and optimal edge profiling.
See -help-hidden for new flags.
For documentation, see the technical report "Implementation of Path Profiling..." in llvm.org/pubs.
llvm-svn: 124515
2011-01-29 01:09:53 +00:00
Nick Lewycky
fea7ddc735
Most browsers eliminate whitespace between anchor tags. Force whitespace with
...
so that the code reads properly.
llvm-svn: 124514
2011-01-29 01:09:53 +00:00
Johnny Chen
ec1ccca61a
Use different log files for the two test cases in order not to confuse the logging subsystem.
...
llvm-svn: 124513
2011-01-29 00:52:54 +00:00
Caroline Tice
836e3aba16
Add a test case to verify that the frame and breakpoint location
...
are being properly passed down to script breakpoint commands.
llvm-svn: 124511
2011-01-29 00:20:56 +00:00
Caroline Tice
8607f03af1
Add a test case to check logging of command processing.
...
Currently this test case works fine run by itself, but fails when
run in the entire test suite; Johnny requested that I check it in
so that he can look at it.
llvm-svn: 124510
2011-01-29 00:19:53 +00:00
Johnny Chen
8960ffd902
Add emulate_mov_low_high() entry to the g_thumb_opcodes table to capture moving
...
of high registers to low registers in the prologue so they can be saved.
llvm-svn: 124509
2011-01-29 00:11:15 +00:00
Howard Hinnant
2774545736
Bug 9096 - list::iterator not default constructible
...
llvm-svn: 124508
2011-01-28 23:46:28 +00:00
Fariborz Jahanian
9f9438b314
More work to support -fapple-kext regarding
...
indirect vf calls and addition of extra entry
at bottom of vtbls.
llvm-svn: 124507
2011-01-28 23:42:29 +00:00
Jeffrey Yasskin
f66a5283ed
Document how to add an attribute to clang. This should be reviewed by someone
...
who actually knows how it works.
llvm-svn: 124506
2011-01-28 23:41:54 +00:00
John McCall
388ef53234
Fix some corner cases in the __is_base_of logic.
...
llvm-svn: 124505
2011-01-28 22:02:36 +00:00
Johnny Chen
6bcb81a773
Add "import sys" for sys.stdout.
...
llvm-svn: 124504
2011-01-28 20:59:39 +00:00
John McCall
b91ab89729
Add my new file to the CMake lists, sorry about that.
...
llvm-svn: 124503
2011-01-28 20:10:46 +00:00
Howard Hinnant
d44be13fa8
minor corrections to test, and hook is_base_of up to clang intrinsic
...
llvm-svn: 124502
2011-01-28 20:00:37 +00:00
Johnny Chen
a1a00b19b5
Add emulate_mov_rd_sp() entries to the g_arm_opcodes and g_thumb_opcodes tables.
...
For prolog instructions which set r7 or ip to the stack pointer.
llvm-svn: 124501
2011-01-28 19:57:25 +00:00
Johnny Chen
49c2245354
The restoring of sys.stdout should happen right after:
...
self.runCmd("script my.date()")
In case the self.expect() fails, the restore would not be executed.
llvm-svn: 124500
2011-01-28 19:39:06 +00:00
Johnny Chen
c03a362b16
Hardened the test_command_source() test case by actually capturing the output
...
from running the "script my.date()" lldb command and comparing it against our
expected result.
llvm-svn: 124499
2011-01-28 19:30:12 +00:00
Roman Divacky
cd9ae95ae7
Error on .code16 instead of producing wrong (32bit) code.
...
llvm-svn: 124498
2011-01-28 19:29:48 +00:00
Duncan Sands
e4b4d0c16d
This dyn_cast should be a cast. Pointed out by Frits van Bommel.
...
llvm-svn: 124497
2011-01-28 18:53:08 +00:00
Duncan Sands
65995fa2a0
Thread divisions over selects and phis. This doesn't fire much and has basically
...
zero effect on the testsuite (it improves two Ada testcases).
llvm-svn: 124496
2011-01-28 18:50:50 +00:00
Caroline Tice
163ae0986b
Add comment.
...
llvm-svn: 124495
2011-01-28 18:31:34 +00:00
Benjamin Kramer
ed3d85a7f0
Make the FreeBSD driver test more robust so it doesn't fail when there's a single lib32 path.
...
llvm-svn: 124494
2011-01-28 18:28:30 +00:00
Bob Wilson
775eec2280
PR9030: Fix disassembly of ARM "mov pc, lr" instruction.
...
Patch by Jyun-Yan You.
llvm-svn: 124492
2011-01-28 17:50:30 +00:00
Caroline Tice
c3cc59c119
Remove comments I accidentally left in before.
...
llvm-svn: 124490
2011-01-28 17:34:54 +00:00
Caroline Tice
29329ada20
Add tests for 'process launch' I/O flags.
...
llvm-svn: 124489
2011-01-28 17:31:28 +00:00
Johnny Chen
8b2c3217fd
Minor comment change.
...
llvm-svn: 124488
2011-01-28 17:22:29 +00:00
Duncan Sands
771e82a863
My auto-simplifier noticed that ((X/Y)*Y)/Y occurs several times in SPEC
...
benchmarks, and that it can be simplified to X/Y. (In general you can only
simplify (Z*Y)/Y to Z if the multiplication did not overflow; if Z has the
form "X/Y" then this is the case). This patch implements that transform and
moves some Div logic out of instcombine and into InstructionSimplify.
Unfortunately instcombine gets in the way somewhat, since it likes to change
(X/Y)*Y into X-(X rem Y), so I had to teach instcombine about this too.
Finally, thanks to the NSW/NUW flags, sometimes we know directly that "Z*Y"
does not overflow, because the flag says so, so I added that logic too. This
eliminates a bunch of divisions and subtractions in 447.dealII, and has good
effects on some other benchmarks too. It seems to have quite an effect on
tramp3d-v4 but it's hard to say if it's good or bad because inlining decisions
changed, resulting in massive changes all over.
llvm-svn: 124487
2011-01-28 16:51:11 +00:00
Oscar Fuentes
e789bdb870
Fix libffi usage when it is on a custom path.
...
llvm-svn: 124486
2011-01-28 16:49:05 +00:00
Roman Divacky
7e9e290952
Add support for parsing .float
...
llvm-svn: 124485
2011-01-28 14:20:32 +00:00
John McCall
ed1ae86ac6
Move all the cleanups framework code into a single file.
...
Pure motion.
llvm-svn: 124484
2011-01-28 11:13:47 +00:00
John McCall
cb5f77f046
Reorganize the value-dominance metaprogram and introduce a specialization
...
for CodeGen's RValue type.
llvm-svn: 124483
2011-01-28 10:53:53 +00:00
Nick Lewycky
cfb284cf96
Rename functions to follow coding standard. Also rejiggers comments. No
...
functionality change.
llvm-svn: 124482
2011-01-28 08:43:14 +00:00
John McCall
e4df6c8d96
Convert the exception-freeing cleanup over to the conditional cleanups code,
...
fixing a crash which probably nobody was ever going to see. In doing so,
fix a horrendous number of problems with the conditional-cleanups code.
Also, make conditional cleanups re-use the cleanup's activation variable,
which avoids some unfortunate repetitiveness.
llvm-svn: 124481
2011-01-28 08:37:24 +00:00
Nick Lewycky
aaf401241a
Add a doxygen comment for this class.
...
llvm-svn: 124480
2011-01-28 08:19:00 +00:00