Eli Friedman
1f4f9ddee8
The value of a case statement is a potentially evaluated context. Found by inspection.
...
llvm-svn: 148373
2012-01-18 02:54:10 +00:00
Anna Zaks
7f6a6b7507
[analyzer] Refactor: prePropagateTaint ->
...
TaintPropagationRule::process().
Also remove the "should be a pointer argument" warning - should be
handled elsewhere.
llvm-svn: 148372
2012-01-18 02:45:13 +00:00
Anna Zaks
560dbe9ac9
[analyzer] Taint: warn when tainted data is used to specify a buffer
...
size (Ex: in malloc, memcpy, strncpy..)
(Maybe some of this could migrate to the CString checker. One issue
with that is that we might want to separate security issues from
regular API misuse.)
llvm-svn: 148371
2012-01-18 02:45:11 +00:00
Anna Zaks
5d324e509c
[analyzer] Taint: add taint propagation rules for string and memory copy
...
functions.
llvm-svn: 148370
2012-01-18 02:45:07 +00:00
Anna Zaks
28db7ceabd
Constify FunctionDecl::getmemoryFunctionKind().
...
llvm-svn: 148369
2012-01-18 02:45:01 +00:00
Nick Lewycky
72cd229398
Fix special king of typo.
...
llvm-svn: 148368
2012-01-18 01:50:13 +00:00
Eli Friedman
fbc0dff6f8
Fix a couple issues where we didn't correctly delay diagnostics in PotentiallyPotentiallyEvaluated contexts. In preparation for making sizeof() PotentiallyPotentiallyEvaluated.
...
llvm-svn: 148367
2012-01-18 01:05:54 +00:00
Jim Grosbach
adcc938c46
Thumb2 load/store fixups don't set the thumb bit.
...
Load/store instructions w/ a fixup to be relative a function marked as thumb
don't use the low bit to specify thumb vs. non-thumb like interworking
branches do, so don't set it when dealing with those fixups.
rdar://10348687.
llvm-svn: 148366
2012-01-18 00:40:25 +00:00
Howard Hinnant
f30d9ad6e1
Create target installhdrs as a synonym for do-installhdrs.
...
llvm-svn: 148365
2012-01-18 00:30:57 +00:00
Jim Grosbach
3b50c9ec7f
Move some ARM specific MCAssmebler bits into the ARMAsmBackend.
...
llvm-svn: 148364
2012-01-18 00:23:57 +00:00
Jakob Stoklund Olesen
f43b599550
Add a CoveredBySubRegs property to Register descriptions.
...
When set, this bit indicates that a register is completely defined by
the value of its sub-registers.
Use the CoveredBySubRegs property to infer which super-registers are
call-preserved given a list of callee-saved registers. For example, the
ARM registers D8-D15 are callee-saved. This now automatically implies
that Q4-Q7 are call-preserved.
Conversely, Win64 callees save XMM6-XMM15, but the corresponding
YMM6-YMM15 registers are not call-preserved because they are not fully
defined by their sub-registers.
llvm-svn: 148363
2012-01-18 00:16:39 +00:00
Daniel Dunbar
9619961e1b
[lit] Add a --filter option which is useful when dealing with virtual test
...
paths.
llvm-svn: 148362
2012-01-18 00:03:12 +00:00
Fariborz Jahanian
07b5f4ca03
output body of folded case again.
...
llvm-svn: 148361
2012-01-17 23:55:19 +00:00
Jakub Staszak
62e5f55874
Remove unneeded include.
...
llvm-svn: 148360
2012-01-17 23:53:08 +00:00
Fariborz Jahanian
9ce39e299d
Folding away unreachable case statement.
...
patch (slightly revised) by Aaron Ballman.
llvm-svn: 148359
2012-01-17 23:39:50 +00:00
Douglas Gregor
a95f9aaa84
Make sure to initialize ExternalProtocolPtrTy
...
llvm-svn: 148358
2012-01-17 23:38:32 +00:00
Jakob Stoklund Olesen
fdbb12b235
Implement ARMBaseRegisterInfo::getCallPreservedMask().
...
Move ARM callee-saved lists into ARMCallingConv.td.
llvm-svn: 148357
2012-01-17 23:09:00 +00:00
Jim Grosbach
3fa6dcfebb
Fix MCJIT memory leak of owned TargetMachine.
...
The JIT is expected to take ownership of the TM that's passed in. The MCJIT
wasn't freeing it, resulting in leaks.
llvm-svn: 148356
2012-01-17 23:08:46 +00:00
Fariborz Jahanian
c72a807039
objc-arc: when 'assign' attribute is unspecified,
...
rely on property's type for its life-time to avoid
bogus warning with -Warc-unsafe-retained-assign.
// rdar://10694932
llvm-svn: 148355
2012-01-17 22:58:16 +00:00
Sebastian Redl
be24ec22fd
Add Sema::isInitListConstructor. This will be needed for upcoming work.
...
llvm-svn: 148354
2012-01-17 22:50:14 +00:00
Sebastian Redl
42acd4a05b
Auto deduction support for std::initializer_list, including for-range support. This means you can now write:
...
for (int i : {1, 4, 512, 23, 251}) {}
llvm-svn: 148353
2012-01-17 22:50:08 +00:00
Sebastian Redl
43144e72b5
Template argument deduction for std::initializer_list arguments from initializer lists.
...
llvm-svn: 148352
2012-01-17 22:49:58 +00:00
Sebastian Redl
fb0b1f1f1f
Rename the first of 11 DeduceTemplateArguments overloads.
...
There are 5 functions of this name in Sema, and 6 more static helpers in
SemaTemplateDeduction.cpp. The Sema functions have jobs like "deduce for
function call", "deduce for taking the address", etc. The static helpers
have jobs like "deduce by comparing two types", "deduce by comparing two
lists of types", "deduce by comparing two template arguments", etc.
The fact that they all are called the same and only differ in two of their
6 or more arguments makes the code using them very hard to read.
Here I rename the one function that concerns me most at the moment, but
as a matter of cleanup, the others will eventually be renamed as well.
llvm-svn: 148351
2012-01-17 22:49:52 +00:00
Sebastian Redl
10f0fc04a8
Basic overloading support for std::initializer_list.
...
llvm-svn: 148350
2012-01-17 22:49:48 +00:00
Sebastian Redl
c1839b1b09
Sema support for initialization of std::initializer_list from initializer lists.
...
This does not yet support CodeGen.
llvm-svn: 148349
2012-01-17 22:49:42 +00:00
Sebastian Redl
2bfa104b40
Add Sema::isStdInitializerList, which will be necessary for the upcoming operations.
...
llvm-svn: 148348
2012-01-17 22:49:33 +00:00
Jakob Stoklund Olesen
d51a710bde
Move X86 callee saved register lists to the X86CallConv .td file.
...
Add a trivial implementation of the getCallPreservedMask() hook.
llvm-svn: 148347
2012-01-17 22:47:01 +00:00
Jakob Stoklund Olesen
c3abb0f64a
Add TableGen support for callee saved registers.
...
Targets can now add CalleeSavedRegs defs to their *CallingConv.td file.
TableGen will use this to create a *_SaveList array suitable for
returning from getCalleeSavedRegs() as well as a *_RegMask bit mask
suitable for returning from getCallPreservedMask().
llvm-svn: 148346
2012-01-17 22:46:58 +00:00
Anton Yartsev
68d773cb3d
fix for PR11655
...
changes i64 alignment from 64 to 32 for powerpc-darwin
llvm-svn: 148345
2012-01-17 22:40:00 +00:00
Andrew Trick
c193b16ea2
Test case rename
...
llvm-svn: 148344
2012-01-17 22:27:45 +00:00
Bob Wilson
206e2302eb
Disable -Wduplicate-method-match by default. <rdar://problem/10663536>
...
llvm-svn: 148343
2012-01-17 22:24:32 +00:00
Jakub Staszak
173bce3d2b
Move includes to the .cpp file.
...
llvm-svn: 148342
2012-01-17 22:16:31 +00:00
Jim Grosbach
4045507fea
MC tweak symbol difference resolution for non-local symbols.
...
When the non-local symbol in the expression is in the same fragment
as the second symbol, the assembler can still evaluate the expression
without needing a relocation.
For example, on ARM:
_foo:
ldr lr, (_foo - 4)
rdar://10348687
llvm-svn: 148341
2012-01-17 22:14:39 +00:00
Eli Friedman
65499b45f0
Add __builtin_labs and __builtin_llabs, to complete the set of __builtin_*abs. Patch by Ruben Van Boxem.
...
llvm-svn: 148340
2012-01-17 22:11:30 +00:00
Jim Grosbach
354f48f201
Tidy up.
...
llvm-svn: 148339
2012-01-17 22:03:42 +00:00
Devang Patel
c9ed518792
Intel syntax: Fix parser match class to check memory operand size.
...
llvm-svn: 148338
2012-01-17 21:48:03 +00:00
Nadav Rotem
fb6ddee0e9
Transform: (EXTRACT_VECTOR_ELT( VECTOR_SHUFFLE )) -> EXTRACT_VECTOR_ELT.
...
llvm-svn: 148337
2012-01-17 21:44:01 +00:00
Richard Smith
dd5bdd8de7
Remove constant member pointer support from Expr-based constant emission now
...
that APValue-based constant emission knows how to emit member pointers.
llvm-svn: 148336
2012-01-17 21:42:19 +00:00
Eli Friedman
419b1ff677
Correctly resolve an overload set passed to an overloaded operator=. PR11784.
...
llvm-svn: 148335
2012-01-17 21:27:43 +00:00
Devang Patel
a7143b6a2b
Intel syntax: Parse "BYTE PTR [RDX + RCX]"
...
llvm-svn: 148334
2012-01-17 21:25:10 +00:00
Richard Smith
4ef685becf
Enable constant evaluation of implicit calls to constexpr conversion operators.
...
llvm-svn: 148333
2012-01-17 21:17:26 +00:00
Jakub Staszak
a6607fa84e
Trailing spaces.
...
llvm-svn: 148332
2012-01-17 20:58:08 +00:00
Dan Gohman
5932ce257f
Enable the new ObjC ARC autorelease pool elimination pass.
...
llvm-svn: 148331
2012-01-17 20:54:51 +00:00
Dan Gohman
e7a243fea5
Add a new ObjC ARC optimization pass to eliminate unneeded
...
autorelease push+pop pairs.
llvm-svn: 148330
2012-01-17 20:52:24 +00:00
Dan Gohman
b9936296d3
Add a new PassManagerBuilder customization point,
...
EP_ModuleOptimizerEarly, to allow passes to be added before the
main ModulePass optimizers.
llvm-svn: 148329
2012-01-17 20:51:32 +00:00
Tobias Grosser
030b0d77ed
ScopInfo: Further style improvements
...
llvm-svn: 148328
2012-01-17 20:39:11 +00:00
Tobias Grosser
dea982300e
ScopInfo: Simplify some code II
...
llvm-svn: 148327
2012-01-17 20:34:27 +00:00
Tobias Grosser
78d8a3d505
ScopInfo: Simplify some code
...
llvm-svn: 148326
2012-01-17 20:34:23 +00:00
John McCall
9701731a3e
When initializing a catch variable in ARC, be sure to emit retains
...
or whatever else is required for the initialization instead of
assuming it can be done with a simple store.
Fixes PR11732.
llvm-svn: 148325
2012-01-17 20:16:56 +00:00
Jean-Daniel Dupas
0ae6e671cc
Fix a couples of issues in format strings checking.
...
PR 10274: format function attribute with the NSString archetype yields no compiler warnings
PR 10275: format function attribute isn't checked in Objective-C methods
llvm-svn: 148324
2012-01-17 20:03:31 +00:00