Commit Graph

107172 Commits

Author SHA1 Message Date
Bill Wendling e712449688 Heuristic: If the number of operands in the alias are more than the number of
operands in the aliasee, don't print the alias.

llvm-svn: 132963
2011-06-14 03:17:20 +00:00
John McCall 51fbfc928c Test case for r132797.
llvm-svn: 132962
2011-06-14 03:02:05 +00:00
John McCall 5af845226c Use IRBuilder to make our intrinsic calls in the inliner so that we pick up
line info correctly.

llvm-svn: 132961
2011-06-14 02:51:53 +00:00
Greg Clayton c0094b1be3 Remove assert() calls that were firing off and crashing the LLDB framework.
llvm-svn: 132960
2011-06-14 01:53:36 +00:00
Evan Cheng cffdcae2fe Update BitcodeWriter to match recent Triple changes. rdar://9603399
llvm-svn: 132959
2011-06-14 01:51:33 +00:00
Jordy Rose bc7483f505 [analyzer] CStringChecker checks functions in the C standard library, not C++. Its external name is now unix.experimental.CString.
llvm-svn: 132958
2011-06-14 01:40:43 +00:00
Eli Friedman eb7fab61bd The LLVM IR representation of byval arguments has a rather strange property: if the alignment of an argument to a call is less than the specified byval alignment for that argument, there is no way to specify the alignment of the implied copy. Therefore, we must ensure that the alignment of the argument is at least the byval alignment. To do this, we have to mess with the alignment of relevant alloca's in some cases, and insert a copy that conceptually shouldn't be necessary in some cases.
This patch tries relatively hard to avoid creating an extra copy if it can be avoided (see test3 in the included testcase), but it is not possible to avoid in some cases (like test2 in the included testcase).

rdar://9483886

llvm-svn: 132957
2011-06-14 01:37:52 +00:00
Jordy Rose 45d8c12b68 [analyzer] Change large if body to early return. No functionality change.
llvm-svn: 132956
2011-06-14 01:26:48 +00:00
Jordy Rose d359289669 [analyzer] Fix modeling of strnlen to be more conservative. Move tests we can't properly model (yet?) to string-fail.c.
llvm-svn: 132955
2011-06-14 01:15:31 +00:00
Nick Lewycky 9711b5c70b Use Value::stripPointerCasts instead of reinventing part of the wheel.
llvm-svn: 132954
2011-06-14 00:59:24 +00:00
Eli Friedman 51dd0185d6 Make __gnu_inline__ functions in gnu99 mode work the same way as inline functions in gnu89 mode in terms of redefinitions.
rdar://9559708 .

llvm-svn: 132953
2011-06-13 23:56:42 +00:00
Cameron Zwarich 922e4940bd Fix grammar.
llvm-svn: 132952
2011-06-13 23:39:23 +00:00
Johnny Chen 143b39fba4 Removed unneeded method breakAfterLaunch() from the TestBase class to simplify our base class.
It was introduced to work around some debugger infrastructure bug which has long since been fixed.

llvm-svn: 132951
2011-06-13 23:19:35 +00:00
Devang Patel 2d1d1f4942 New test case for r132949.
llvm-svn: 132950
2011-06-13 23:16:05 +00:00
Devang Patel 297207f813 Put local variables in appropriate debug info scope.
This fixes radar 8757124.

llvm-svn: 132949
2011-06-13 23:15:32 +00:00
Devang Patel b4956a7fac Remote this unreliable test case because it did not do its job.
llvm-svn: 132948
2011-06-13 23:14:35 +00:00
Eli Friedman 97f3d1a5ee Update extensions section of the docs to account for wacky gcc stuff we did end up implementing.
llvm-svn: 132947
2011-06-13 23:12:01 +00:00
Jim Grosbach 7ef7ddd2df Clean up a few 80 column violations.
llvm-svn: 132946
2011-06-13 22:54:22 +00:00
Eli Friedman a526f275e3 Whack a bunch of tests in CodeGenCXX to work on ARM (using ARM ABI). Batch 1 of 3 or so.
llvm-svn: 132945
2011-06-13 22:51:21 +00:00
Cameron Zwarich 3ecbd59c27 Rename MergeInType to MergeInTypeForLoadOrStore.
llvm-svn: 132940
2011-06-13 21:44:43 +00:00
Cameron Zwarich 8cb90ac456 Remove the HadAVector instance variable and replace it with a use of ScalarKind.
llvm-svn: 132939
2011-06-13 21:44:40 +00:00
Cameron Zwarich 1bfab48edb Remove a vacuous check.
llvm-svn: 132938
2011-06-13 21:44:38 +00:00
Cameron Zwarich 5e9a0be4b3 Have SRoA explicitly track the kind of scalar it is promoting. This is pretty
spartan right now, but I plan to encode more information in this enum to improve
the correctness and reliability of SRoA. At least this first pass makes it
possible to make VectorTy an actual VectorType.

llvm-svn: 132937
2011-06-13 21:44:35 +00:00
Cameron Zwarich 8deb615d64 Remove an argument that is always true.
llvm-svn: 132936
2011-06-13 21:44:31 +00:00
Caroline Tice 1f499bc039 Cleaning up the Python script interpreter: Use the
embedded_interpreter.py file rather than keeping it
all in a string and compiling the string (easier to maintain,
easier to read, remove redundancy).

llvm-svn: 132935
2011-06-13 21:33:00 +00:00
Jim Grosbach dca8531821 Fix coordination for using R4 in Thumb1 as a scratch for SP restore.
The logic for reserving R4 for use as a scratch needs to match that for
actually using it. Also, it's not necessary for immediate <=508, so adjust
the value checked.

llvm-svn: 132934
2011-06-13 21:18:25 +00:00
Evan Cheng 871b71247b Aliased flag options should be directed to stdout, not stderr to be consistent. Patch by Julien Lerouge.
llvm-svn: 132931
2011-06-13 20:45:54 +00:00
Caroline Tice 6e8dc334db More prompt-timing cleanups: Make multi-line expressions
use the asynchronous stream mechanism rather than writing
directly to the Debugger's output & error streams.

llvm-svn: 132930
2011-06-13 20:20:29 +00:00
Bill Wendling c8be05ace5 Add compatibility version when compiling the Apple way.
<rdar://problem/9600408>

llvm-svn: 132929
2011-06-13 20:14:37 +00:00
Daniel Dunbar 47e71a3711 build/clang_darwin: Improve archs check to verify we can not just recognize
arch, but actually compile a file with that arch.

llvm-svn: 132928
2011-06-13 19:18:23 +00:00
Stuart Hastings 351a3f881f Avoid fusing bitcasts with dynamic allocas if the amount-to-allocate
might overflow.  Re-typing the alloca to a larger type (e.g. double)
hoists a shift into the alloca, potentially exposing overflow in the
expression.  rdar://problem/9265821

llvm-svn: 132926
2011-06-13 18:48:49 +00:00
Benjamin Kramer 558d09d87e Move class into an anonymous namespace.
llvm-svn: 132925
2011-06-13 18:38:56 +00:00
Benjamin Kramer dc0a46d29a Put classes into anonymous namespaces.
llvm-svn: 132924
2011-06-13 18:38:45 +00:00
Nadav Rotem 573ee374a2 Fix a bug in FindMemType. When widening vector loads, use a wider memory type
only if the number of packed elements is a power of two.
Bug found in Duncan's testcase.

llvm-svn: 132923
2011-06-13 18:13:24 +00:00
Marshall Clow 92091dbe41 Clean up the vector tests
llvm-svn: 132921
2011-06-13 17:57:10 +00:00
Douglas Gregor c9224d6714 Eliminate the -f[no]objc-infer-related-result-type flags; there's no
reason to allow the user to control these semantics through a flag.

llvm-svn: 132919
2011-06-13 16:42:53 +00:00
Fariborz Jahanian bf31c4e4ca Update Indexer test for new 'atomic' keyword.
llvm-svn: 132918
2011-06-13 16:42:02 +00:00
Douglas Gregor c0629e031c Document CheckObjCMethodOverrides
llvm-svn: 132917
2011-06-13 16:07:18 +00:00
Chris Lattner ed58a95c33 mention graph vis isn't available in Release builds.
llvm-svn: 132916
2011-06-13 15:59:35 +00:00
Benjamin Kramer c970849ea0 InstCombine: Fold A-b == C --> b == A-C if A and C are constants.
The backend already knew this trick.

llvm-svn: 132915
2011-06-13 15:24:24 +00:00
Benjamin Kramer 975c29629f Revert r132910 and r132909 on behalf of Michael. They didn't build with clang.
llvm-svn: 132914
2011-06-13 12:56:51 +00:00
Michael J. Spencer aa41981dd8 Revert the last two commits in the series. r132911, r132912.
llvm-svn: 132913
2011-06-13 11:53:31 +00:00
Michael J. Spencer 902695c488 Modify llvm-nm to use new Binary creation method.
llvm-svn: 132912
2011-06-13 11:12:42 +00:00
Michael J. Spencer a7f9c49aab Make Binary the parent of ObjectFile and update children to new interface.
llvm-svn: 132911
2011-06-13 11:12:33 +00:00
Michael J. Spencer 7dc3c3de7e Add Binary class. This is a cleaner parent than ObjectFile.
llvm-svn: 132910
2011-06-13 11:12:12 +00:00
Michael J. Spencer 0901cec03e Add Object/Error.
llvm-svn: 132909
2011-06-13 11:11:59 +00:00
Michael J. Spencer 422504fba6 Fix spelling and sort CMakeLists.txt.
llvm-svn: 132908
2011-06-13 11:11:39 +00:00
Nick Lewycky f8e046b148 It's possible that an all-zero GEP may be used as the argument to lifetime
intrinsics. In fact, we'll optimize a bitcast to that when possible. Detect it
when looking for the lifetime intrinsics.

No test case, noticed by inspection.

llvm-svn: 132906
2011-06-13 07:52:46 +00:00
David Majnemer 254a5c07e7 Give a diagnostic when using non-POD types in a va_arg
llvm-svn: 132905
2011-06-13 06:37:03 +00:00
David Majnemer 0ac67fa22f Improve the diagnostics generated for switch statements missing expressions
- Move the diagnostic to the case statement instead of at the end of the switch
- Add a fix-it hint as to how to fix the compilation error

llvm-svn: 132903
2011-06-13 05:50:12 +00:00