Commit Graph

69094 Commits

Author SHA1 Message Date
Rafael Espindola c3031a9643 Refactor the c++ include path a bit.
llvm-svn: 83357
2009-10-06 01:33:02 +00:00
Devang Patel 849e59abb2 Remove unintentional function decl.
llvm-svn: 83356
2009-10-06 01:31:35 +00:00
Devang Patel 475d32a987 Add utility routine to collect variable debug info. This is not yet used.
llvm-svn: 83355
2009-10-06 01:26:37 +00:00
Jeffrey Yasskin e97fe329e9 Fix http://llvm.org/PR5116 by rolling back r60822. This passes `make unittests
check-lit` on both x86-64 Linux and x86-32 Darwin.

llvm-svn: 83353
2009-10-06 00:35:55 +00:00
Devang Patel faf7e9ad24 Set appropriate context for a global variable while emitting debug info.
llvm-svn: 83352
2009-10-06 00:35:31 +00:00
Fariborz Jahanian 333bb733a5 Refixed pr5086 by letting Expr::isNullPointerConstant
handle checking for a null pointer for a zero-valued
enumerator; moving the test case from CodeGen to Sema.

llvm-svn: 83350
2009-10-06 00:09:31 +00:00
Devang Patel bb802206d2 Set default location for the function if it is not already set.
This code is not  yet enabled.

llvm-svn: 83349
2009-10-06 00:09:08 +00:00
Devang Patel d859d86538 Existence of a compile unit for input source file is a good indicator to check debug info's presence in a module.
llvm-svn: 83348
2009-10-06 00:03:14 +00:00
Devang Patel 1c9eef72b4 If subprogram die is not available then construct new one.
This can happen if debug info is processed lazily.

llvm-svn: 83347
2009-10-05 23:59:00 +00:00
Jeffrey Yasskin ce133e5225 Add a test for http://llvm.org/PR3043.
llvm-svn: 83346
2009-10-05 23:51:08 +00:00
Mike Stump 4348c565ad This is slightly contentious, but, if llvm has gone to addressable
units, we should as well.  The problem is the non-predictability of
the dimension of the values.  I'd love for the dimension to be part of
the static type system...  but in C++ it is kinda annoying to do.

llvm-svn: 83345
2009-10-05 23:40:59 +00:00
Devang Patel 4c420eca41 Adjust context for the global variables that are not at file scope, e.g.
void foo() { static int bar = 42; }
Here, foo's DIE is parent of bar's DIE.

llvm-svn: 83344
2009-10-05 23:40:42 +00:00
Devang Patel 4144a82154 Set address while constructing DIE.
llvm-svn: 83343
2009-10-05 23:22:08 +00:00
Mike Stump 916c006735 Fix thinko and simplify.
llvm-svn: 83342
2009-10-05 23:08:21 +00:00
Edward O'Callaghan 655314ef95 CMake misses a check for sbrk on NetBSD.
llvm-svn: 83341
2009-10-05 23:05:32 +00:00
Evan Phoenix 44e5dbcaf0 Extend ConstantFolding to understand signed overflow variants
llvm-svn: 83338
2009-10-05 22:53:52 +00:00
Mike Stump 3472ae5bac Ensure we have atleast 2-byte alignment for member functions.
llvm-svn: 83337
2009-10-05 22:49:20 +00:00
Jim Grosbach 2dfb5da6bb In Thumb1, the register scavenger is not always able to use an emergency
spill slot. When frame references are via the frame pointer, they will be
negative, but Thumb1 load/store instructions only allow positive immediate
offsets. Instead, Thumb1 will spill to R12.

llvm-svn: 83336
2009-10-05 22:30:23 +00:00
Douglas Gregor 084a654334 Make sure that c-index-test links as a C++ executable
llvm-svn: 83335
2009-10-05 22:29:42 +00:00
Evan Phoenix b6defa0994 First test commit
llvm-svn: 83334
2009-10-05 22:29:11 +00:00
Douglas Gregor 629f4811a0 Make sure that libCIndex links as a C++ library
llvm-svn: 83331
2009-10-05 22:25:29 +00:00
Mike Stump f6ab1f0a4d Testcase for recent checkin.
llvm-svn: 83330
2009-10-05 22:24:47 +00:00
Mike Stump c5e153c50e Respect alignments better.
llvm-svn: 83328
2009-10-05 21:58:44 +00:00
Eric Christopher c2ac4f020b Fix C90 compile warning about mixed declarations and code.
llvm-svn: 83327
2009-10-05 21:33:42 +00:00
Fariborz Jahanian 8764c74784 tweaked my last patch to 1) preserve the protocol in
extension class's protocol list so its AST is complete.
2) Because of this no need to issue warning on unimplemeted
methods coming from the extended class protocols
because warning is issued when class definition is seen.

llvm-svn: 83326
2009-10-05 21:32:49 +00:00
Chris Lattner 78a2e6356b remove this test, grepping for define isn't really testing anything.
llvm-svn: 83325
2009-10-05 21:16:22 +00:00
Torok Edwin c5b8846891 Don't treat malloc calls with non-matching prototype as malloc.
Fixes second part of PR5130, miscompilation in FreeBSD kernel, where malloc takes 3 params,
and *does* initialize memory.

llvm-svn: 83324
2009-10-05 21:15:43 +00:00
Douglas Gregor d54f3a1e58 Encode the Clang branch and Subversion revision into a PCH file, and
assume that PCH files from different Clang revisions are not
compatible. Addresses <rdar://problem/7266572>.

llvm-svn: 83323
2009-10-05 21:07:28 +00:00
Fariborz Jahanian 092cd6e624 Patch to implement Protocols on class extensions.
<rdar://problem/7269631> Protocols on class extensions don't work

llvm-svn: 83322
2009-10-05 20:41:32 +00:00
Douglas Gregor 1b7035da6f Provide a common set of routines in Version.h that return Subversion
branch/revision information. Use that information in the driver,
rather than one-off branch/revision computation. 

llvm-svn: 83321
2009-10-05 20:33:49 +00:00
Douglas Gregor 7550a6c186 Pre-commit commit to get URL keyword expansion for Clang version information
llvm-svn: 83319
2009-10-05 18:52:24 +00:00
Edward O'Callaghan 50d75a6099 No newline at end of files.
llvm-svn: 83318
2009-10-05 18:43:19 +00:00
Devang Patel 2089d16140 Gracefully handle various scopes while recording source line info.
llvm-svn: 83317
2009-10-05 18:03:19 +00:00
Steve Naroff d7eb7179a2 - Fix assert in clang_getCursorDecl (having to do with recently added ObjC_ProtocolRef).
- Make sure CHECK: lines in test case match the expected output. 

llvm-svn: 83316
2009-10-05 17:58:19 +00:00
Dan Gohman e525d9ddc0 Remove an unnnecessary LLVMContext argument in
ConstantFoldLoadThroughGEPConstantExpr.

llvm-svn: 83311
2009-10-05 16:36:26 +00:00
Dan Gohman 238cf49812 Use Use::operator= instead of Use::set, for consistency.
llvm-svn: 83310
2009-10-05 16:31:55 +00:00
Dan Gohman 2728569a38 Remove explicit enum integer values. They don't appear to be needed, and
they make it less convenient to add new entries.

llvm-svn: 83308
2009-10-05 15:52:08 +00:00
Dan Gohman 774149a878 Add RIP to GR64_NOREX. This fixed a MachineVerifier error when RIP
is used in an operand which requires GR64_NOREX.

llvm-svn: 83307
2009-10-05 15:42:08 +00:00
Dan Gohman 5d36b9c447 Fix a name in a comment.
llvm-svn: 83306
2009-10-05 15:23:17 +00:00
Benjamin Kramer dde0fee82e Use new predicates for some type equality tests.
llvm-svn: 83303
2009-10-05 13:47:21 +00:00
Rafael Espindola e7178953f9 Add a -nostdclanginc flag to clang-cc that prevents it from searching
its own binary-relative headers. Useful when using clang's preprocessor
with gcc.

llvm-svn: 83302
2009-10-05 13:12:17 +00:00
Chris Lattner b1fe4b1f0c callgraph changes came after the 2.6 branch.
llvm-svn: 83299
2009-10-05 07:07:29 +00:00
Chris Lattner fdd8790718 strength reduce a ton of type equality tests to check the typeid (Through
the new predicates I added) instead of going through a context and doing a
pointer comparison.  Besides being cheaper, this allows a smart compiler
to turn the if sequence into a switch.

llvm-svn: 83297
2009-10-05 05:54:46 +00:00
Chris Lattner 3a2e503e33 add more type predicates.
llvm-svn: 83296
2009-10-05 05:48:40 +00:00
Chris Lattner 59d939894b teach the optimizer how to constant fold uadd/usub intrinsics.
llvm-svn: 83295
2009-10-05 05:26:04 +00:00
Chris Lattner 351534f9b1 simplify this code a bunch.
llvm-svn: 83294
2009-10-05 05:06:24 +00:00
Chris Lattner cc1cfda9ea add some helper functions.
llvm-svn: 83293
2009-10-05 05:05:57 +00:00
Chris Lattner 9ca7c0913a code simplifications.
llvm-svn: 83292
2009-10-05 05:00:35 +00:00
Evan Cheng ef716b04b3 Move implicit and paralle to a separate codegen specific section.
llvm-svn: 83291
2009-10-05 02:51:06 +00:00
Chris Lattner 463716d559 instcombine shouldn't delete all null checks for mallocs.
This fixes PR5130.

llvm-svn: 83290
2009-10-05 02:47:47 +00:00