Nick Kledzik
3efa0ef21a
FUNCTIONS.armv6 to have actual function names
...
llvm-svn: 95018
2010-02-01 22:40:40 +00:00
Evan Cheng
a49d8e6d38
Fix PR6196. GV callee may not be a function.
...
llvm-svn: 95017
2010-02-01 22:40:09 +00:00
Devang Patel
e8fb4b7fd6
Use appropriate context descriptor in RecordDecl's debug info.
...
llvm-svn: 95016
2010-02-01 22:40:08 +00:00
Evan Cheng
4eb3d2867c
Add test case for 95013.
...
llvm-svn: 95014
2010-02-01 22:32:42 +00:00
Mon P Wang
d74e0023c5
Improve EXTRACT_VECTOR_ELT patch based on comments from Duncan
...
llvm-svn: 95012
2010-02-01 22:15:09 +00:00
Sean Callanan
47cbefac94
Rollback on including blocks functionality in .exports
...
because some platforms don't support blocks and then
break because the symbols aren't present
llvm-svn: 95011
2010-02-01 21:57:50 +00:00
Devang Patel
3efd1470c9
Do not use clang type name to name a local variable, e.g. Decl.
...
llvm-svn: 95010
2010-02-01 21:52:22 +00:00
Devang Patel
1c0954cca7
Do not use clang type name to name a local variable, e.g. Decl.
...
llvm-svn: 95009
2010-02-01 21:39:52 +00:00
Devang Patel
7b7f46f5a6
Use DeclContext as getContextDescriptor() argument.
...
llvm-svn: 95008
2010-02-01 21:34:11 +00:00
Bob Wilson
d517b52012
Add an option to GVN to remove all partially redundant loads. This is currently
...
disabled by default. This divides the existing load PRE code into 2 phases:
first it checks that it is safe to move the load to each of the predecessors
where it is unavailable, and then if it is safe, the code is changed to move
the load. Radar 7571861.
llvm-svn: 95007
2010-02-01 21:17:14 +00:00
Daniel Dunbar
98188414ef
Driver/Darwin: Darwin uses -fobjc-legacy-dispatch on ARM.
...
llvm-svn: 95006
2010-02-01 21:07:43 +00:00
Daniel Dunbar
ca5e3eb7f7
NeXT: Add support for -fobjc-legacy-dispatch.
...
llvm-svn: 95005
2010-02-01 21:07:33 +00:00
Daniel Dunbar
2e3f2c805e
Driver/Frontend: Add support for -fobjc-legacy-dispatch, not yet used.
...
llvm-svn: 95004
2010-02-01 21:07:25 +00:00
Chris Lattner
5b5d2db3f6
Don't explicitly force utf strings into the __TEXT,__ustring
...
by setting the section of the generated global. This is an
optimization done by the code generator, and the code being
removed didn't handle the case when the string contained an
embedded nul (which the code generator does correctly
handle). This is rdar://7589850
llvm-svn: 95003
2010-02-01 20:59:08 +00:00
Duncan Sands
180334e13f
Do an early exit when the result is known cheaply.
...
llvm-svn: 95002
2010-02-01 20:57:35 +00:00
Chris Lattner
f5edeebd8c
eliminate a bunch of pointless LLVMContext arguments.
...
llvm-svn: 95001
2010-02-01 20:48:08 +00:00
Duncan Sands
dddba06e9e
Fix typo "of" -> "or" and change the way a line was formatted to fit
...
into 80 columns to match my artistic preferences.
llvm-svn: 95000
2010-02-01 20:42:02 +00:00
Sebastian Redl
5ca7984bb4
In C++, an initializer on a variable doesn't necessarily mean it's the definition. With that in mind, rename getDefinition to getAnyInitializer (to distinguish it from getInit) and reimplement it in terms of isThisDeclarationADefinition. Update all code to use this new function.
...
llvm-svn: 94999
2010-02-01 20:16:42 +00:00
Chris Lattner
b18093e467
fix PR6187: various load functions in xmmintrin.h were missing 'const'.
...
emmintrin looks ok.
llvm-svn: 94998
2010-02-01 20:14:14 +00:00
Chris Lattner
94eb4b285b
fix PR6195, a bug constant folding scalar -> vector compares.
...
llvm-svn: 94997
2010-02-01 20:04:40 +00:00
Dale Johannesen
0b30cfc57e
fix PR 6157. Testcase pending.
...
llvm-svn: 94996
2010-02-01 19:54:53 +00:00
Chris Lattner
9306ffa05a
cleanups.
...
llvm-svn: 94995
2010-02-01 19:54:45 +00:00
Ted Kremenek
fb20c4121e
Use early return as suggested by Cristian Draghici.
...
llvm-svn: 94994
2010-02-01 19:38:10 +00:00
Chris Lattner
3c46e14137
fix PR6197 - infinite recursion in ipsccp due to block addresses
...
evaluateICmpRelation wasn't handling blockaddress.
llvm-svn: 94993
2010-02-01 19:35:08 +00:00
Ted Kremenek
cd83106151
Format string checking: selectively ignore implicit casts to 'int'
...
when checking if the format specifier matches the type of the data
argument and the length modifier indicates the data type is 'char' or
'short'.
llvm-svn: 94992
2010-02-01 19:28:15 +00:00
Devang Patel
973f2eb0cd
Emit debug info for namespaces.
...
llvm-svn: 94991
2010-02-01 19:16:32 +00:00
Mon P Wang
72c60c73af
Fixed a couple of optimization with EXTRACT_VECTOR_ELT that assumes the result
...
type is the same as the element type of the vector. EXTRACT_VECTOR_ELT can
be used to extended the width of an integer type. This fixes a bug for
Generic/vector-casts.ll on a ppc750.
llvm-svn: 94990
2010-02-01 19:03:18 +00:00
Dan Gohman
36bca4e4ba
Update this test for a trivial register allocation difference.
...
llvm-svn: 94989
2010-02-01 19:00:32 +00:00
John McCall
8b9ed55bfb
Note that an overload candidate was non-viable because template argument
...
deduction failed. Right now there's a very vague diagnostic for most cases
and a good diagnostic for incomplete deduction.
llvm-svn: 94988
2010-02-01 18:53:26 +00:00
Dan Gohman
e5e1b7b05a
Generalize target-independent folding rules for sizeof to handle more
...
cases, and implement target-independent folding rules for alignof and
offsetof. Also, reassociate reassociative operators when it leads to
more folding.
Generalize ScalarEvolution's isOffsetOf to recognize offsetof on
arrays. Rename getAllocSizeExpr to getSizeOfExpr, and getFieldOffsetExpr
to getOffsetOfExpr, for consistency with analagous ConstantExpr routines.
Make the target-dependent folder promote GEP array indices to
pointer-sized integers, to make implicit casting explicit and exposed
to subsequent folding.
And add a bunch of testcases for this new functionality, and a bunch
of related existing functionality.
llvm-svn: 94987
2010-02-01 18:27:38 +00:00
Chris Lattner
846a52e228
fix rdar://7590304, a miscompilation of objc apps on arm. The caller
...
of objc message send was getting marked arm_apcscc, but the prototype
isn't. This is fine at runtime because objcmsgsend is implemented in
assembly. Only turn a mismatched caller and callee into 'unreachable'
if the callee is a definition.
llvm-svn: 94986
2010-02-01 18:11:34 +00:00
Chris Lattner
2cecedf081
fix rdar://7590304, an infinite loop in instcombine. In the invoke
...
case, instcombine can't zap the invoke for fear of changing the CFG.
However, we have to do something to prevent the next iteration of
instcombine from inserting another store -> undef before the invoke
thereby getting into infinite iteration between dead store elim and
store insertion.
Just zap the callee to null, which will prevent the next iteration
from doing anything.
llvm-svn: 94985
2010-02-01 18:04:58 +00:00
Bob Wilson
f65ba356e1
Fix pr6198 by moving the isSized() check to an outer conditional.
...
The testcase from pr6198 does not crash for me -- I don't know what's up with
that -- so I'm not adding it to the tests.
llvm-svn: 94984
2010-02-01 17:41:44 +00:00
Dan Gohman
de047f2051
Add a getNUWMul function.
...
llvm-svn: 94982
2010-02-01 16:38:14 +00:00
Dan Gohman
ede94e6850
Add a generalized form of ConstantExpr::getOffsetOf which works for
...
array types as well as struct types, and which accepts arbitrary
Constant indicies.
llvm-svn: 94981
2010-02-01 16:37:38 +00:00
Bruno Cardoso Lopes
aa8c429a53
MulOp is actually a Mips specific node, so do the match using Opcode. This fixes PR6192
...
llvm-svn: 94977
2010-02-01 12:16:39 +00:00
Zhongxing Xu
d41dacdcbf
Add an immutable interval map, prepared to be used by flat memory model
...
in the analyzer. WIP.
llvm-svn: 94976
2010-02-01 10:43:31 +00:00
Sean Callanan
bc7bd4bf40
Whoops, left some debugging code in that broke
...
a buildbot. Removed.
llvm-svn: 94975
2010-02-01 09:02:24 +00:00
Sean Callanan
328f60f08c
Added the enhanced disassembly library's implementation and
...
fleshed out the .exports file. I still have to fix several
details of operand parsing, but the basic functionality is
there and usable.
llvm-svn: 94974
2010-02-01 08:49:35 +00:00
Zhongxing Xu
7120eb77d1
Simplify code. We can compare TNew with T in one batch.
...
llvm-svn: 94973
2010-02-01 07:32:52 +00:00
Sam Weinig
deb55d5123
Fix for PR5185. C99 [*] VLA notation should be disallowed in function definitions.
...
llvm-svn: 94972
2010-02-01 05:02:49 +00:00
John McCall
760af170ff
Access checking for implicit user-defined conversions.
...
llvm-svn: 94971
2010-02-01 03:16:54 +00:00
Evan Cheng
ed8ca56eeb
Undo r94946 now all the tests are passing again.
...
llvm-svn: 94970
2010-02-01 02:13:39 +00:00
Bruno Cardoso Lopes
1cb8b33d61
Fix stack size bug while using o32 abi
...
llvm-svn: 94969
2010-02-01 02:03:24 +00:00
Sebastian Redl
35351a9554
Add VarDecl::isThisDeclarationADefinition(), which properly encapsulates the logic for when a variable declaration is a (possibly tentativ) definition. Add a few functions building on this, and shift C tentative definition handling over to this new functionality. This shift also kills the Sema::TentativeDefinitions map and instead simply stores all declarations in the renamed list. The correct handling for multiple tentative definitions is instead shifted to the final walk of the list.
...
llvm-svn: 94968
2010-01-31 22:27:38 +00:00
Eli Friedman
a682427e42
Switch expressions like T() and T(1,2) over to new-style initialization. I'm
...
not quite sure what we want to do about the AST representation; comments
welcome.
llvm-svn: 94967
2010-01-31 20:58:15 +00:00
Eli Friedman
604179775a
Simplify EmitMemberInitializer; no intended functionality change.
...
llvm-svn: 94965
2010-01-31 19:07:50 +00:00
Anders Carlsson
ab0ddb57b1
Start creating CXXBindReferenceExpr nodes when binding complex types to references.
...
llvm-svn: 94964
2010-01-31 18:34:51 +00:00
Anders Carlsson
8abde4b447
Diagnose binding a non-const reference to a vector element.
...
llvm-svn: 94963
2010-01-31 17:18:49 +00:00
Chandler Carruth
cd6d426075
Fix my dyslexia.
...
llvm-svn: 94958
2010-01-31 11:52:52 +00:00