Commit Graph

52465 Commits

Author SHA1 Message Date
Ted Kremenek 94a5f6f949 Fix test case (incomplete "expected-warning" line)
llvm-svn: 62119
2009-01-12 23:09:55 +00:00
Devang Patel 243b4add9a Emit debug info, only if at least one compile unit is seen.
llvm-svn: 62118
2009-01-12 23:09:42 +00:00
Ted Kremenek 6dfeb55897 Patch by Roman Divacky:
Extend string-literal checking for printf() format string to handle conditional
ternary operators where both sides are literals.

This fixes PR 3319: http://llvm.org/bugs/show_bug.cgi?id=3319

llvm-svn: 62117
2009-01-12 23:09:09 +00:00
Devang Patel b71fbeb19f If multiple compile units are seen then emit them independently. In other words, do not force all DIEs into first, whatever it is, compile unit.
Note, multiple compile unit support is not well tested (it did not work correctly until now anyway.)

llvm-svn: 62116
2009-01-12 23:05:55 +00:00
Devang Patel 4aa4128ced Avoid cast<>, use light weith wrapper directly.
llvm-svn: 62115
2009-01-12 22:58:14 +00:00
Devang Patel 4223582f00 Use SrcLineInfo from DwarfWriter. The MachineModuleInfo copy will disappear soon.
llvm-svn: 62114
2009-01-12 22:54:42 +00:00
Ted Kremenek 6ae6513ce2 Fix crasher due to use-after-release: DeclContext now owns all ObjCMethodDecls, and shouldn't be released elsewhere.
llvm-svn: 62113
2009-01-12 22:49:54 +00:00
Douglas Gregor c6f58fe266 Implement support for anonymous structs and unions in C. Both C and
C++ handle anonymous structs/unions in the same way. Addresses several
bugs:

  <rdar://problem/6259534>
  <rdar://problem/6481130>
  <rdar://problem/6483159>

The test case in PR clang/1750 now passes with -fsyntax-only, but
CodeGen for inline assembler still fails.

llvm-svn: 62112
2009-01-12 22:49:06 +00:00
Daniel Dunbar dd0efa8aad ccc: Bug fix, output can be NULL.
llvm-svn: 62108
2009-01-12 22:19:59 +00:00
Dale Johannesen 433a9086c0 Enable recursive inlining. Reduce inlining threshold
back to 200; 400 seems to be too high, loses more than
it gains.

llvm-svn: 62107
2009-01-12 22:11:50 +00:00
Ted Kremenek 7e90422e95 retain/release checker:
- Refactor a bunch of logic in the retain/release checker, making it more
  condense and easier to read.
- Add support for "Create" methods in the DiskArbitration framework

retain/release tests:
- Rename CFDate.m to retain-release.m, and move test from CFString.c to
  retain-release.m
- Add DiskArbitration framework tests cases.
- Add/refine and few more retain/release GC test cases.

llvm-svn: 62106
2009-01-12 21:45:02 +00:00
Daniel Dunbar f538cfa254 ccc: Even more Darwin/cc1 argument translation support.
llvm-svn: 62105
2009-01-12 21:44:10 +00:00
Devang Patel 45d2cfd064 Add classof() methods to support isa<> and other related facilities.
llvm-svn: 62104
2009-01-12 21:38:43 +00:00
Dan Gohman 33a9cef204 The LLVM Assembly Language Reference incorrectly stated that the
prefix used for dll{import,export} is _imp__; it is actually __imp_.
Patch by Mahadevan R!

llvm-svn: 62103
2009-01-12 21:35:55 +00:00
Dan Gohman 87bc800384 Fix the instructions to work even when PATH does not contain ".".
Thanks to Martin Geisse for pointing this out!

llvm-svn: 62102
2009-01-12 21:29:24 +00:00
Daniel Dunbar 62db95e891 (LLVM up) Match TargetData API change in LLVM TOT.
llvm-svn: 62101
2009-01-12 21:08:18 +00:00
Duncan Sands dc020f9c3c Rename getABITypeSize to getTypePaddedSize, as
suggested by Chris.

llvm-svn: 62099
2009-01-12 20:38:59 +00:00
Fariborz Jahanian 8e1555c7c3 Patch to supprt case of readonly property being
assigned to when it has user declared setter method
defined in the class implementation (but no declaration in
the class itself).

llvm-svn: 62098
2009-01-12 19:55:42 +00:00
Daniel Dunbar df5598444a ccc: Add leading space in -### output to match gcc.
llvm-svn: 62097
2009-01-12 19:36:35 +00:00
Devang Patel df31a7256d Add DwarfWriter interface to mainipulate source location info.
( May be this info should be directly handled by the dwarf writer ? )

llvm-svn: 62096
2009-01-12 19:17:34 +00:00
Chris Lattner ecbe933d6a remove some dead options.
llvm-svn: 62095
2009-01-12 19:02:50 +00:00
Daniel Dunbar b1a40a6a58 ccc: (Darwin) More argument translation for Darwin/Compile tool.
llvm-svn: 62093
2009-01-12 18:51:02 +00:00
Devang Patel f033d53264 Clear debug info at the end of function processing.
llvm-svn: 62092
2009-01-12 18:48:36 +00:00
Douglas Gregor 45a33ecce1 Properly set the scope of non-fields declared within a struct, union,
or enum to be outside that struct, union, or enum. Fixes several
regressions: 

  <rdar://problem/6487662>
  <rdar://problem/6487669>
  <rdar://problem/6487684>
  <rdar://problem/6487702>
  PR clang/3305
  PR clang/3312

There is still some work to do in Objective-C++, but this requires
that each of the Objective-C entities (interfaces, implementations,
etc.) to be introduced into the context stack with
PushDeclContext/PopDeclContext. This will be a separate fix, later.

llvm-svn: 62091
2009-01-12 18:45:55 +00:00
Devang Patel 5daa1abf25 There is no need to maintain separate labelid list in the dwarf writer. It is not a good idea.
llvm-svn: 62090
2009-01-12 18:41:00 +00:00
Daniel Dunbar d0b0eca12a ccc: (Darwin) More argument translation for Darwin/Compile tool.
llvm-svn: 62089
2009-01-12 17:53:19 +00:00
Rafael Espindola 6919ab4d05 Remove some dead code from the days llvm had type planes.
There might be more dead code, but with llvm-gcc bootstrap broken on linux x86-64 it is had to test :-(

llvm-svn: 62088
2009-01-12 15:53:25 +00:00
Daniel Dunbar 999c85542a ccc: (Darwin) Start implementing argument translation for
Darwin/Compile tool.

llvm-svn: 62085
2009-01-12 09:23:15 +00:00
Evan Cheng 2adb5cfb48 Second test is only valid in 32-bit mode.
llvm-svn: 62084
2009-01-12 08:05:54 +00:00
Daniel Dunbar f12e40736a ccc: When constructing a named output, only use base name (not full
path).

llvm-svn: 62083
2009-01-12 07:48:07 +00:00
Daniel Dunbar e42e520a57 ccc: (Darwin) Move path resolution into ToolChain.
llvm-svn: 62082
2009-01-12 07:45:49 +00:00
Daniel Dunbar 17bbcfd5a0 ccc: Implement the rest of Darwin/Assembler argument translation.
llvm-svn: 62081
2009-01-12 07:40:25 +00:00
Daniel Dunbar c11d8d4a09 ccc: Implement macosx-version-min conditions (including a bug fix).
llvm-svn: 62079
2009-01-12 05:02:38 +00:00
Daniel Dunbar e84d6ed8f8 ccc: Generalize Darwin/Link tool based on Darwin version.
llvm-svn: 62078
2009-01-12 04:21:12 +00:00
Evan Cheng 0258874607 Test for r62076.
llvm-svn: 62077
2009-01-12 03:46:55 +00:00
Daniel Dunbar 02cd7e4070 ccc: Support arguments which behave like linker inputs.
- Support comma joined options which magically turn into multiple
   value arguments (e.g., -Wl,)

 - Split out separate Arg::render routine for when an argument is
   being rendered as an input (as opposed to in its original form).

 - Add option flag for options which should be rendered without the
   option when they are used as an input (e.g., -Xlinker or -o).

 - Support -weak-l..., -weak_framework, and -weak_library.

llvm-svn: 62075
2009-01-12 03:33:58 +00:00
Evan Cheng b2c42c648d Fix PR3241: Currently EmitCopyFromReg emits a copy from the physical register to a virtual register unless it requires an expensive cross class copy. That means we are only treating "expensive to copy" register dependency as physical register dependency.
Also future proof the scheduler to handle "normal" physical register dependencies. The code is not exercised yet.

llvm-svn: 62074
2009-01-12 03:19:55 +00:00
Owen Anderson 45cfef2cb6 More two-address fixes. This gets lua working with join-creation enabled.
llvm-svn: 62073
2009-01-12 03:10:40 +00:00
Chris Lattner 2089cd09ba make tblgen autogenerate the nocapture intrinsics for
llvm.memcpy/memset/memmove.  This allows removal of some 
hackish code from basicaa.

llvm-svn: 62071
2009-01-12 02:41:37 +00:00
Daniel Dunbar 027c5fbb6d ccc: (Darwin) Pass -ObjC to linker if -ObjC, -ObjC++ or -fobjc is
present.

llvm-svn: 62070
2009-01-12 02:24:21 +00:00
Anders Carlsson 00057e4e09 Handle multi-value inputs
llvm-svn: 62069
2009-01-12 02:22:13 +00:00
Anders Carlsson 30c235d182 Make sure to initialize the ConstraintInfo to 0
llvm-svn: 62068
2009-01-12 02:15:29 +00:00
Chris Lattner 9d0a8770bd add scaffolding to emit argument attributes. No functionality
change.

llvm-svn: 62067
2009-01-12 01:27:55 +00:00
Chris Lattner 49b7ee1b50 make tblgen emit the entire Intrinsic::getAttributes method,
not a random piece of it.  No functionality change.

llvm-svn: 62066
2009-01-12 01:18:58 +00:00
Chris Lattner 9a3113aeb8 add nocapture attribute to llvm.mem* intrinsics and have tblgen
parse them.  tblgen doesn't yet do anything with this info though.

llvm-svn: 62065
2009-01-12 01:12:03 +00:00
Chris Lattner 5562d19ebe some more minor asqualtype bugs.
llvm-svn: 62064
2009-01-12 00:21:19 +00:00
Chris Lattner d1f748dabc improve some more is*Type predicates to look through asqualtypes.
llvm-svn: 62063
2009-01-12 00:10:42 +00:00
Chris Lattner 5cdc94d282 testcase that works now with r62061
llvm-svn: 62062
2009-01-12 00:08:58 +00:00
Chris Lattner ebcbce5ec8 simplify these predicates a bit.
llvm-svn: 62061
2009-01-11 23:59:49 +00:00
Nuno Lopes a0abe62904 make ScalarExprEmitter::EmitCompare() emit the expression with the correct type instead of always zext it to an int
this fixes codegen of simple exprs in C++ like 'if (x != 0)'

llvm-svn: 62060
2009-01-11 23:22:37 +00:00