Commit Graph

92088 Commits

Author SHA1 Message Date
Evan Cheng 66c8cd2b32 If there are multiple unconditional branches terminating a block, eliminate all
but the first one. Those will never be executed. There was logic to do this
but it was faulty.

llvm-svn: 114632
2010-09-23 06:54:40 +00:00
Evan Cheng d4b31a7630 Don't sink insert_subreg, subreg_to_reg, reg_sequence. They are meant to be
close to their sources to facilitate coalescing.

llvm-svn: 114631
2010-09-23 06:53:00 +00:00
Evan Cheng 79687dda9a SDISel should not optimize a unconditional branch following a conditional branch
when the unconditional branch destination is the fallthrough block. The
canonicalization makes it easier to allow optimizations on DAGs to invert
conditional branches. The branch folding pass (and AnalyzeBranch) will clean up
the unnecessary unconditional branches later.

This is one of the patches leading up to disabling codegen prepare critical edge
splitting.

llvm-svn: 114630
2010-09-23 06:51:55 +00:00
Ted Kremenek fd5856adcb Refactor GRExprEngine::VisitCall() to use EvalArguments(), just like VisitCXXMemberCallExpr(). Ideally we should unify these code paths as much as possible, since they only differ by a few details.
llvm-svn: 114628
2010-09-23 05:14:51 +00:00
Daniel Dunbar 1fae17a8e5 Tweak test to pass -ffreestanding, to avoid platform dependent header issues.
llvm-svn: 114627
2010-09-23 04:40:10 +00:00
Lang Hames fd1bc42230 Moved the PBQP allocator class out of the header and back in to the cpp file to hide the gory details.
Allocator instances can now be created by calling createPBQPRegisterAllocator.

Tidied up use of CoalescerPair as per Jakob's suggestions.

Made the new PBQPBuilder based construction process the default. The internal construction process
remains in-place and available via -pbqp-builder=false for now. It will be removed shortly if the new
process doesn't cause any regressions.

llvm-svn: 114626
2010-09-23 04:28:54 +00:00
Sean Callanan e2ef6e380b Updated to latest LLVM. Major LLVM changes:
- Sema is now exported (and there was much rejoicing.)

 - Storage classes are now centrally defined.

Also fixed some bugs that the new LLVM picked up.

llvm-svn: 114622
2010-09-23 03:01:22 +00:00
Sean Callanan 002ad003a3 Fixed a crash in the enhanced disassembler where
because of the lack of a newline, AsmToken::Eof
was being found instead of AsmToken::EndOfStatement.

llvm-svn: 114621
2010-09-23 02:14:12 +00:00
Jim Ingham 2277701c7b Committing the skeleton of Language runtime plugin classes.
llvm-svn: 114620
2010-09-23 02:01:19 +00:00
Daniel Dunbar 19964dbe3b IRgen/ABI/ARM: Return large vectors in memory.
llvm-svn: 114619
2010-09-23 01:54:32 +00:00
Daniel Dunbar b34b08098c IRgen/ABI/ARM: Trust the backend to pass vectors correctly for the given ABI.
- Therefore, we can lower out the NEON wrapper structs and pass the vectors
   directly. This makes a huge difference in the cleanliness of the IR after
   optimization.
 - I will trust, but verify, via future ABITest testing (for APCS-GNU, at
   least).

llvm-svn: 114618
2010-09-23 01:54:28 +00:00
Greg Clayton a51ed9bb49 Added motheds to C++ classes as we parse them to keep clang happy.
llvm-svn: 114616
2010-09-23 01:09:21 +00:00
Ted Kremenek 866ac0a0da Update checker build.
llvm-svn: 114615
2010-09-23 00:35:46 +00:00
Dan Gohman 0d2c07cf58 Fix llvm-extract -delete's lazy loading to materialize the functions that
will not be deleted, rather than the ones that will.

llvm-svn: 114614
2010-09-23 00:33:13 +00:00
Jim Grosbach 85dcd3d0f4 Add support for ELF PLT references for ARM MC asm printing. Adding a
new VariantKind to the MCSymbolExpr seems like overkill, but I'm not sure
there's a more straightforward way to get the printing difference captured.
(i.e., x86 uses @PLT, ARM uses (PLT)).

llvm-svn: 114613
2010-09-22 23:27:36 +00:00
Dan Gohman 98d500b024 Make SetVector's remove indicate whether it actually removed something.
llvm-svn: 114612
2010-09-22 23:20:04 +00:00
Caroline Tice dac97f31a3 Remove all the __repr__ methods from the API/*.h files, and put them
into python-extensions.swig, which gets included into lldb.swig, and
adds them back into the classes when swig generates it's C++ file.  This
keeps the Python stuff out of the general API classes.

Also fixed a small bug in the copy constructor for SBSymbolContext.

llvm-svn: 114602
2010-09-22 23:01:29 +00:00
Jim Grosbach a9424d4f2f Enable a few additional asserts in MC instruction lowering.
llvm-svn: 114601
2010-09-22 23:01:28 +00:00
Johnny Chen c70b02a324 Checked in an initial template for the types directory. Right now, it doesn't
actually test-and-compare anything yet.  The lldbtest.TestBase has an added
method setTearDownCleanup(dictionary=None) to facilitate running the cleanup
right after each data type test is run.  The test case can pass a dictionary
object when registering the test case cleanup.

There is currently only int_type test in the repository.

llvm-svn: 114600
2010-09-22 23:00:20 +00:00
Owen Anderson 3231d13ddd A select between a constant and zero, when fed by a bit test, can be efficiently
lowered using a series of shifts.
Fixes <rdar://problem/8285015>.

llvm-svn: 114599
2010-09-22 22:58:22 +00:00
Cameron Esfahani bbb9287080 Fix PR8201: Update the code to call via X86::CALL64pcrel32 in the 64-bit case.
llvm-svn: 114597
2010-09-22 22:35:21 +00:00
Nate Begeman e9e9c08ce2 <rdar://problem/8228022> Wvector-conversions warnings in arm_neon.h
Explicitly cast arguments to the type the builtin expects, which is <vN x i8>

llvm-svn: 114596
2010-09-22 22:28:42 +00:00
Bob Wilson 463a05342a Change VDUPLANE DAG combiner to just return the result instead of calling
CombineTo to avoid putting the result on the worklist.  I don't think it makes
much difference for now, but it might help someday as we add more DAG
combine optimizations.

llvm-svn: 114595
2010-09-22 22:27:30 +00:00
Rafael Espindola dee12d8110 Avoid some Mach-O specific alignment being done on ELF.
llvm-svn: 114594
2010-09-22 22:27:05 +00:00
Chris Lattner 7bce0596a7 allow target-specific label suffixes, patch by Yuri Gribov!
llvm-svn: 114592
2010-09-22 22:19:53 +00:00
Dan Gohman 71954b8d54 Fix uninitialized TBAAFlag field values.
llvm-svn: 114591
2010-09-22 22:18:07 +00:00
Bob Wilson 2280674fa9 Combine both VMOVDRR(VMOVRRD) and VMOVRRD(VMOVDRR), instead of just doing one
of those.  Refactor to share code for handling BUILD_VECTOR(VMOVRRD).
I don't have a testcase that exercises this, but it seems like an obvious
good thing to do.

llvm-svn: 114589
2010-09-22 22:09:21 +00:00
Dan Gohman 2348393cf5 Teach memdep about TBAA tags.
llvm-svn: 114588
2010-09-22 21:41:02 +00:00
Douglas Gregor 0576ce730a Implement libclang API functions for retrieving the lexical and
semantic parents of the given cursor.

llvm-svn: 114587
2010-09-22 21:22:29 +00:00
Devang Patel f063cb49d8 Testcase for r114585.
llvm-svn: 114586
2010-09-22 21:13:48 +00:00
Devang Patel 804fcd4794 Use DW_OP_fbreg when offset is based on frame register.
llvm-svn: 114585
2010-09-22 21:10:38 +00:00
Tom Care 14fefab721 Fix an inverse boolean and unnecessary new line in warning output from AnalyzerStatsChecker.
llvm-svn: 114581
2010-09-22 21:07:51 +00:00
Jim Grosbach 1f57cc4a59 add FIXME
llvm-svn: 114578
2010-09-22 20:55:15 +00:00
Eric Christopher c1b3e072f4 Temporarily work around new address lowering while I figure out what
needs to happen for darwin.

llvm-svn: 114577
2010-09-22 20:42:08 +00:00
Jim Grosbach 003fd5b65e Remove a few commented out bits
llvm-svn: 114576
2010-09-22 20:32:34 +00:00
Sebastian Redl c1d035f6a3 Change source manager serialization to be less tied to the PCH model.
llvm-svn: 114575
2010-09-22 20:19:08 +00:00
Dan Gohman ba28207dcd Constify.
llvm-svn: 114574
2010-09-22 20:11:43 +00:00
Rafael Espindola 0e527b7ed5 Fix typo and add a FIXME.
llvm-svn: 114570
2010-09-22 19:04:41 +00:00
Bob Wilson b6832a4372 When moving zext/sext to be folded with a load, ignore the issue of whether
truncates are free only in the case where the extended type is legal but the
load type is not.  If both types are illegal, such as when they are too big,
the load may not be legalized into an extended load.

llvm-svn: 114568
2010-09-22 18:44:56 +00:00
Jim Grosbach e12c8ba05b Add PrintSpecial() handling for in ARM MC instruction printer.
llvm-svn: 114563
2010-09-22 18:37:14 +00:00
Jim Grosbach 6ebd728067 grammar tweakage
llvm-svn: 114561
2010-09-22 18:18:30 +00:00
Jim Grosbach 3bde49aa29 remove trailing whitespace
llvm-svn: 114560
2010-09-22 18:16:55 +00:00
Howard Hinnant 392183f99d visibility-decoration.
llvm-svn: 114559
2010-09-22 18:02:38 +00:00
Daniel Dunbar 18456f3d73 CrashRecovery/Darwin: Override raise() as well so that crash recovery doesn't
end up altering the thread on which crashes are done because of its use of
Darwin's broken raise() implementation.

llvm-svn: 114558
2010-09-22 17:46:10 +00:00
Johnny Chen 6594b8cc9b Changed to facilitate 'breakpoint set -n Puts', then 'thread step-out' to workaround
rdar://problem/8464339 test/types directory: b basic_type.cpp:171 does not work, while gdb does work.

llvm-svn: 114557
2010-09-22 17:46:07 +00:00
Rafael Espindola 9bac6cb544 Correctly align bss.
llvm-svn: 114556
2010-09-22 17:43:04 +00:00
Jim Grosbach 284eebc1ae Add MC instruction printer support for ARM and Thumb1 jump tables.
llvm-svn: 114555
2010-09-22 17:39:48 +00:00
Bob Wilson e1223fb583 Attempt to fix llvm-gcc build. It was crashing when building gcov.o for an
ARM cross-compiler on x86, because the MMO size did not match the type size.
This fixes the MMO size and also the size of the stack object to match the
type size.

llvm-svn: 114554
2010-09-22 17:35:14 +00:00
Jim Grosbach 1573b29ea7 Add MC instruction printer support for TB[BH] style thumb2 jump tables.
llvm-svn: 114553
2010-09-22 17:15:35 +00:00
Howard Hinnant 848a5374d0 visibility-decoration.
llvm-svn: 114551
2010-09-22 16:48:34 +00:00