Commit Graph

75396 Commits

Author SHA1 Message Date
Douglas Gregor 26751ffc53 Silence bogus GCC warning
llvm-svn: 92787
2010-01-05 21:55:26 +00:00
Chris Lattner 7c0c64831c merge some tests.
llvm-svn: 92786
2010-01-05 21:54:09 +00:00
Johnny Chen a9f39bdbb6 Add Rt2 to the asm format string for 32-bit Thumb load/store register dual
instructions.  Thumb does not have the restriction that t2 = t+1.

llvm-svn: 92785
2010-01-05 21:51:46 +00:00
Chris Lattner dec34d8cef merge cast2 into cast.ll
llvm-svn: 92784
2010-01-05 21:48:13 +00:00
Devang Patel 6edcd3994c Allow null to be an element of NamedMDNode. e.g. !llvm.stuff = !{!0, !1, null}
llvm-svn: 92783
2010-01-05 21:47:32 +00:00
Chris Lattner f312cfa250 remove useless test.
llvm-svn: 92782
2010-01-05 21:46:22 +00:00
Chris Lattner 16c7a332d2 another example.
llvm-svn: 92781
2010-01-05 21:43:08 +00:00
Daniel Dunbar d79f40ac7a Fix -plugin command line argument syntax for clang -cc1 change.
llvm-svn: 92780
2010-01-05 21:42:23 +00:00
Douglas Gregor 1a68ab6c83 Make use of available_externally linkage for vtables when the
non-inline key function of a class template instantiation, when no key
function is present, the class template instantiation itself was
instantiated with an explicit instantiation declaration (aka extern
template). I'm fairly certain that the C++0x specification gives us
this lattitude, although GCC doesn't take advantage of it.

llvm-svn: 92779
2010-01-05 21:40:05 +00:00
Jakob Stoklund Olesen aee326860c Don't specify CR sub-registers as implicit defs of BL instructions.
It is enough to give the super registers CR0, CR1, ..., and specifying the
sub-registers as well causes confusion in the liveness computations.

llvm-svn: 92778
2010-01-05 21:38:37 +00:00
Chris Lattner 9068136944 remove a useless negative test, add a rdar # to an xfail that I'm working on.
llvm-svn: 92777
2010-01-05 21:37:44 +00:00
Chris Lattner e3e6f4ce62 clean up tests.
llvm-svn: 92776
2010-01-05 21:32:59 +00:00
Chris Lattner 44a63815b9 just remove this xform which is subsumed by others.
llvm-svn: 92775
2010-01-05 21:16:30 +00:00
Victor Hernandez c2044a1193 Fix comment for CheckDebugInfoIntrinsics
llvm-svn: 92774
2010-01-05 21:13:46 +00:00
Chris Lattner b82a840eb2 move a trunc-specific transform out of commonIntCastTransforms into visitTrunc.
llvm-svn: 92773
2010-01-05 21:11:17 +00:00
Dan Gohman c3f2137c06 Restore dump() methods to Loop and MachineLoop.
llvm-svn: 92772
2010-01-05 21:08:02 +00:00
Benjamin Kramer d2564e3afb Move remaining stuff to the isInteger predicate.
llvm-svn: 92771
2010-01-05 21:05:54 +00:00
Chris Lattner fd7e42b65d move a zext specific xform out of commonIntCastTransforms into visitZExt and modernize it.
llvm-svn: 92770
2010-01-05 21:04:47 +00:00
Jakob Stoklund Olesen 4cb7702c4f Remove livein checks from machine code verifier.
A phi operand that is implicitly defined in a predecessor becomes an undefined
register after phi elimination. This causes a lot of false positives when the
verifier is checking if live-in registers are live-out from all predecessors.

Removing the verifier checks seems like a better solution than insisting on
IMPLICIT_DEF instructions in predecessor blocks.

llvm-svn: 92769
2010-01-05 20:59:36 +00:00
Chris Lattner aaccc8de62 move a trunc-specific xform out of commonIntCastTransforms into visitTrunc
llvm-svn: 92768
2010-01-05 20:57:30 +00:00
Chris Lattner dec6847bf6 reduce indentation
llvm-svn: 92766
2010-01-05 20:56:24 +00:00
Ted Kremenek 902292d7ac Add back #include of 'cstdio' to hopefully unbreak the build on Linux.
llvm-svn: 92765
2010-01-05 20:55:39 +00:00
Anton Korobeynikov 6c1c205183 Regenerate
llvm-svn: 92763
2010-01-05 20:45:43 +00:00
Anton Korobeynikov d93ecc8fef Proper deduce z/System LLVM target from target triple when
--enable-targets=host is specified.

llvm-svn: 92762
2010-01-05 20:45:13 +00:00
Devang Patel e307348325 NamedMDNode is a collection MDNodes.
llvm-svn: 92761
2010-01-05 20:41:31 +00:00
Benjamin Kramer a81a6dff0d Convert a ton of simple integer type equality tests to the new predicate.
llvm-svn: 92760
2010-01-05 20:07:06 +00:00
Benjamin Kramer 76aa677ec3 Add a new predicate for integer type equality tests.
llvm-svn: 92759
2010-01-05 20:04:48 +00:00
Ted Kremenek 0ec2cca8f2 Split code in CIndex.cpp into multiple source files, and remove some unnecessary #includes.
llvm-svn: 92756
2010-01-05 19:32:54 +00:00
Fariborz Jahanian 7fac65572f API support for __block variables which are also __weak.
llvm-svn: 92755
2010-01-05 19:21:35 +00:00
David Greene 297bfe6d71 Add an !eq() operator to TableGen. It operates on strings only.
Use !cast<string>() to compare other types of objects.

llvm-svn: 92754
2010-01-05 19:11:42 +00:00
Douglas Gregor a318efd1f2 Improve key-function computation for templates. In particular:
- All classes can have a key function; templates don't change that.
  non-template classes when computing the key function.
  - We always mark all of the virtual member functions of class
  template instantiations. 
  - The vtable for an instantiation of a class template has weak
  linkage. 

We could probably use available_externally linkage for vtables of
classes instantiated by explicit instantiation declarations (extern
templates), but GCC doesn't do this and I'm not 100% that the ABI
permits it.

llvm-svn: 92753
2010-01-05 19:06:31 +00:00
Mike Stump 79ed590c85 Add code to skip the emission of available externally functions at -O0. WIP.
llvm-svn: 92749
2010-01-05 18:48:04 +00:00
Dan Gohman 60b0a86a08 Add an entry on SmallBitVector.
llvm-svn: 92747
2010-01-05 18:24:00 +00:00
Fariborz Jahanian f794543472 Minor clean up.
llvm-svn: 92746
2010-01-05 18:15:57 +00:00
Chris Lattner 54f4e39956 optimize comparisons against cttz/ctlz/ctpop, patch by Alastair Lynn!
llvm-svn: 92745
2010-01-05 18:09:56 +00:00
Steve Naroff 7bf01ea165 Remove bogus "C" from preamble block decls.
llvm-svn: 92744
2010-01-05 18:09:31 +00:00
Fariborz Jahanian e389158dbf More rewriting of __block APIs. wip.
llvm-svn: 92742
2010-01-05 18:04:40 +00:00
Dan Gohman fb4193625a Delete useless trailing semicolons.
llvm-svn: 92740
2010-01-05 17:55:26 +00:00
Dan Gohman c3c031bb37 Nick Lewycky pointed out that this code makes changes unconditionally.
llvm-svn: 92739
2010-01-05 17:50:58 +00:00
David Greene fb652a7a5c Have TableGen emit code that uses dbgs() rather than errs().
llvm-svn: 92738
2010-01-05 17:47:41 +00:00
Steve Naroff 3d38a68b06 Fix <rdar://problem/7490212> clang rewriter: return of the mixed line endings, which is
related to <rdar://problem/6596843> clang ObjC rewriter: Line endings still mixed in rewrite output

This fix was dropped when I integrated the 'objective-rewrite' branch.

llvm-svn: 92737
2010-01-05 17:33:23 +00:00
Devang Patel d146e2e3df If a scope has only one instruction then first instruction is also the last instruction.
llvm-svn: 92736
2010-01-05 16:59:17 +00:00
Dan Gohman b5358003fb Set Changed properly after calling DeleteDeadPHIs.
llvm-svn: 92735
2010-01-05 16:31:45 +00:00
Dan Gohman 28943873e6 Use do+while instead of while for loops which obviously have a
non-zero trip count. Use SmallVector's pop_back_val().

llvm-svn: 92734
2010-01-05 16:27:25 +00:00
Dan Gohman 92fdb96474 Fix indentation.
llvm-svn: 92733
2010-01-05 16:20:55 +00:00
Dan Gohman cb99fe9839 Make RecursivelyDeleteTriviallyDeadInstructions,
RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag
indicating whether they made any changes.

llvm-svn: 92732
2010-01-05 15:45:31 +00:00
Dan Gohman 1117a59b84 Some versions of GCC don't like non-static data members in sizeof
in this context.

llvm-svn: 92731
2010-01-05 15:28:21 +00:00
Dan Gohman 5976e7d5dd Add a SmallBitVector class, which mimics BitVector but uses only
a single pointer (PointerIntPair) member. In "small" mode, the
pointer field is reinterpreted as a set of bits. In "large" mode,
the pointer points to a heap-allocated object.

Also, give BitVector empty and swap functions.

And, add some simple unittests for BitVector and SmallBitVector.

llvm-svn: 92730
2010-01-05 15:04:49 +00:00
Benjamin Kramer f7cc698b69 Add newline at EOF.
llvm-svn: 92727
2010-01-05 13:32:48 +00:00
Benjamin Kramer ccce8bae14 Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.
llvm-svn: 92726
2010-01-05 13:12:22 +00:00