John McCall
417e74491c
Add a quick-and-dirty hack to give a better diagnostic for [class.protected]
...
restrictions. The note's not really on the right place given its wording,
but putting a second note on the call site (or muddying the wording) doesn't
appeal.
There are corner cases where this can be wrong, but I'm not concerned.
llvm-svn: 112950
2010-09-03 04:56:05 +00:00
Chris Lattner
3dd48bd169
"I see dead code". IdempotentOperationChecker::isTruncationExtensionAssignment
...
should probably be removed if it has no purpose, but I just #if'd it out
in case it's usefulIdempotentOperationChecker::isTruncationExtensionAssignment
should probably be removed if it has no purpose, but I just #if'd it out
in case it's useful
llvm-svn: 112949
2010-09-03 04:34:38 +00:00
Owen Anderson
14431a1cb8
Re-enable CorrelatedValuePropagation. I've tested nightly tests, llvm-gcc
...
bootstrap, and clang self-host.
llvm-svn: 112948
2010-09-03 04:16:28 +00:00
NAKAMURA Takumi
24d039ebe3
test/CodeGen/X86: Add explicit -mtriple=(i686|x86_64)-linux for Win32 host.
...
llvm-svn: 112947
2010-09-03 03:24:08 +00:00
Oscar Fuentes
e16dc06159
Fix cmake build without native target selected.
...
The cmake (+ MSVC) build is broken if you don't select your native
target.
e.g. 'cmake -D LLVM_TARGETS_TO_BUILD="MyNonNativeTarget" .'
This is because cmake currently sets the LLVM_NATIVE_* definitions
regardless of whether the native target is selected (causing build
errors).
Patch by Mike Gist!
llvm-svn: 112946
2010-09-03 02:22:23 +00:00
John McCall
96326e447c
Devirtualize Sema, kill off DeleteExpr and DeleteStmt, and reformat.
...
llvm-svn: 112945
2010-09-03 02:10:08 +00:00
Bruno Cardoso Lopes
d6634a5b2e
AVX doesn't support mm operations neither its instrinsics.
...
The AVX versions of PALIGN and PABS* should only exist for
128-bit. Remove the unnecessary stuff.
llvm-svn: 112944
2010-09-03 02:08:45 +00:00
Daniel Dunbar
2f8df98c92
IRgen: Fix silly thinko in r112021, which was generating code for the same expr
...
twice. This showed up as an assert on the odd test case because we generated the
decl map entry twice.
llvm-svn: 112943
2010-09-03 02:07:00 +00:00
Bruno Cardoso Lopes
a85ec10483
Use punpckh and unpckh family of nodes instead of using unpckh mask pattern fragment
...
llvm-svn: 112942
2010-09-03 01:39:08 +00:00
Bob Wilson
f65c9ef720
Replace NEON vabdl, vaba, and vabal intrinsics with combinations of the
...
vabd intrinsic and add and/or zext operations. In the case of vaba, this
also avoids the need for a DAG combine pattern to combine vabd with add.
Update tests. Auto-upgrade the old intrinsics.
llvm-svn: 112941
2010-09-03 01:35:08 +00:00
Dawn Perchik
335e16bad4
Add symantic support for the Pascal calling convention via
...
"__attribute((pascal))" or "__pascal" (and "_pascal" under
-fborland-extensions). Support still needs to be added to llvm.
llvm-svn: 112939
2010-09-03 01:29:35 +00:00
Bruno Cardoso Lopes
adc6bca2dd
Fix comment
...
llvm-svn: 112938
2010-09-03 01:28:51 +00:00
Bob Wilson
6061b05d51
Translate NEON vabdl, vaba, and vabal builtins to be implemented using the
...
vabd intrinsic combined with zext and add operations.
llvm-svn: 112937
2010-09-03 01:27:09 +00:00
John McCall
0d635f53a8
Re-commit r112916 with an additional fix for the self-host failures.
...
I've audited the remaining getFunctionInfo call sites.
llvm-svn: 112936
2010-09-03 01:26:39 +00:00
Fariborz Jahanian
0389df4a45
Patch to allow alternative representation of c++
...
operators (and, or, etc.) to be used as selectors
to match g++'s behavior.
llvm-svn: 112935
2010-09-03 01:26:16 +00:00
Bruno Cardoso Lopes
cce44678b4
- Use specific nodes to match unpckl masks.
...
- Teach getShuffleScalarElt how to handle more target
specific nodes, so the DAGCombine can make use of it.
- Add another hack to avoid the node update problem
during legalization. More description on the comments
llvm-svn: 112934
2010-09-03 01:24:00 +00:00
Anders Carlsson
4013404eff
Static local variables don't result in global constructors being emitted.
...
llvm-svn: 112933
2010-09-03 01:11:38 +00:00
Ted Kremenek
ba8752aac8
Support pointer arithmetic in SimpleSValuator involving direct constants.
...
llvm-svn: 112932
2010-09-03 01:07:06 +00:00
Ted Kremenek
5c0969f027
Remove bogus assertions.
...
llvm-svn: 112931
2010-09-03 01:07:04 +00:00
Ted Kremenek
5b24adda26
Add optional record of "location" SVals in the environment. When we analyzing loads/stores, we lose the location SVal, which makes it difficult to recover in some cases (e.g., for post diagnostics). This is prep for pending changes to GRExprEngine.
...
llvm-svn: 112930
2010-09-03 01:07:02 +00:00
Ted Kremenek
db4c128f2f
Add GRState::getSimplifiedSVal(), which provides an API hook for doing symbol -> constant folding. This isn't used yet, but
...
is prep for some pending optimizations in GRExprEngine.
llvm-svn: 112929
2010-09-03 01:06:58 +00:00
Ted Kremenek
860aca01dc
Fix enum: CallEnter/CallExit are StmtPoints
...
llvm-svn: 112928
2010-09-03 01:06:44 +00:00
Anders Carlsson
4399668652
Remove now unused function.
...
llvm-svn: 112927
2010-09-03 00:51:09 +00:00
Daniel Dunbar
90dc0c574d
Fix a typo.
...
llvm-svn: 112926
2010-09-03 00:41:43 +00:00
John McCall
c32f94b4ce
Revert r112916, it's breaking selfhost pretty badly.
...
llvm-svn: 112925
2010-09-03 00:40:45 +00:00
Jakob Stoklund Olesen
99d82f2e8b
Stop emitting predicate functions. They are no longer used.
...
llvm-svn: 112924
2010-09-03 00:39:50 +00:00
Eric Christopher
6aaed72949
Simple branch instruction support.
...
llvm-svn: 112923
2010-09-03 00:35:47 +00:00
Daniel Dunbar
be13194655
Revert "Another i1 vs. i8 type mismatch issue. This time", it breaks some projects.
...
llvm-svn: 112922
2010-09-03 00:35:23 +00:00
Jakob Stoklund Olesen
08aede2538
Don't call Predicate_* from X86 target.
...
llvm-svn: 112921
2010-09-03 00:35:18 +00:00
Jakob Stoklund Olesen
d7dcbb57fb
Remove Predicate_* calls from MBlaze and XCore
...
llvm-svn: 112920
2010-09-03 00:35:16 +00:00
Jakob Stoklund Olesen
44a2797e02
Remove Predicate_* calls from Mips
...
llvm-svn: 112919
2010-09-03 00:35:13 +00:00
Anders Carlsson
af7534f084
Get rid of the "functions declared 'noreturn' should have a 'void' result type" warning.
...
The rationale behind this is that it is normal for callback functions to have a non-void return type
and it should still be possible to mark them noreturn. (JavaScriptCore is a good example of this).
llvm-svn: 112918
2010-09-03 00:25:02 +00:00
Daniel Dunbar
09c8fbe812
tests: Fix a dependency on the temporary value names.
...
llvm-svn: 112917
2010-09-03 00:24:06 +00:00
John McCall
12d3891a27
It's not safe to use the generic CXXMethodDecl overload of CGT::getFunctionInfo
...
to set up a destructor call, because ABIs can tweak these conventions.
Fixes rdar://problem/8386802.
llvm-svn: 112916
2010-09-03 00:01:57 +00:00
Dawn Perchik
68bb1b441f
Add support for Borland extensions via option -fborland-extensions
...
(original patch r112791 was reverted due to a bug).
llvm-svn: 112915
2010-09-02 23:59:25 +00:00
Daniel Dunbar
a70fab8dd7
IRgen/Obj-C: Rewrite Objective-C bit-field access to compute the access strategy
...
using the same methods as used for normal structures.
- This fixes problems with reading past the end of the structure and with
handling straddled bit-field access.
llvm-svn: 112914
2010-09-02 23:53:31 +00:00
Daniel Dunbar
c7f9bbafe4
IRgen: Move CGBitFieldInfo strategy computation helpers to static member
...
functions.
llvm-svn: 112913
2010-09-02 23:53:28 +00:00
Eric Christopher
c3e118ef3d
Add basic support for materializing constants (including fp) and
...
stores.
llvm-svn: 112912
2010-09-02 23:43:26 +00:00
Chris Lattner
7bf4b82e97
update one more test
...
llvm-svn: 112910
2010-09-02 23:32:55 +00:00
Tom Care
796ed50433
Reapply 112850 and 112839 with a constructor for the BinaryOperatorData struct. Clang would zero out the enum and pointer in the struct in some conditions, but GCC would never zero out the values.
...
llvm-svn: 112909
2010-09-02 23:30:22 +00:00
Douglas Gregor
040ad500c4
Fix a few more ConvertTypes that should be ConvertTypeForMems, fixing
...
two regressions in Boost.Config.
llvm-svn: 112908
2010-09-02 23:24:14 +00:00
Chris Lattner
fc561bad88
this is a release note worthy change.
...
llvm-svn: 112907
2010-09-02 23:22:50 +00:00
Chris Lattner
7f2f0930a7
add a new "llvm-dis -show-annotations" option, which causes it to print
...
#uses comments, with a testcase.
llvm-svn: 112906
2010-09-02 23:21:44 +00:00
Sebastian Redl
b469afb4f3
Implement __has_virtual_destructor. Patch by Steven Watanabe.
...
llvm-svn: 112905
2010-09-02 23:19:42 +00:00
Chris Lattner
ad074cb3f2
lets get crazy and name the header file the exact class name,
...
not a scrunched version of it.
llvm-svn: 112904
2010-09-02 23:09:42 +00:00
Chris Lattner
82570a04df
AsmPrinter has a formatted stream, pass it down through AsmAnnotationWriter
...
llvm-svn: 112903
2010-09-02 23:07:12 +00:00
Anton Korobeynikov
a5a645559c
Properly emit __chkstk call instead of __alloca on non-mingw windows targets.
...
Patch by Cameron Esfahani!
llvm-svn: 112902
2010-09-02 23:03:46 +00:00
Chris Lattner
19199cce55
stop forcing a noop AssemblyAnnotationWriter to silence #uses
...
comments, these don't happen anymore.
llvm-svn: 112901
2010-09-02 23:03:10 +00:00
Devang Patel
854ad26ae2
There is no need to use .set here.
...
Thanks Chris!
llvm-svn: 112900
2010-09-02 23:01:10 +00:00
Chris Lattner
fb483625b1
reapply 112894:
...
Remove #uses comments from functions: they we're padded out to column 50
and were potentially confusing for externally visible functions.
going further, remove the "<i8**> [#uses=3]" comments entirely. They
add a lot of noise, confuse people about what the IR is, and don't add
any particular value. When the types are long it makes it really really
hard to read IR.
If someone is interested in this sort of thing, the right way to do this
is to implement an AsmAnnotationWriter that produces the same output, and
add a flag to llvm-dis (only) to produce this output.
llvm-svn: 112899
2010-09-02 22:52:10 +00:00