Evan Cheng
a33fc86be3
Add predicate operand to NEON instructions. Fix lots (but not all) 80 col violations in ARMInstrNEON.td.
...
llvm-svn: 89542
2009-11-21 06:21:52 +00:00
Evan Cheng
1f4062f194
Allow target to disable if-converting predicable instructions. e.g. NEON instructions under ARM mode.
...
llvm-svn: 89541
2009-11-21 06:20:26 +00:00
Ted Kremenek
775d9c149d
Add RegionStore test case that shows that floating point values are also implicitly tracked for undefined values. (test case for <rdar://problem/6811085>).
...
llvm-svn: 89538
2009-11-21 02:52:12 +00:00
Devang Patel
930143b0dc
Cosmetic changes, which were long overdue, in DwarfDebug.cpp.
...
llvm-svn: 89537
2009-11-21 02:48:08 +00:00
Devang Patel
ed85e12da6
We are not using DBG_STOPPOINT anymore.
...
llvm-svn: 89536
2009-11-21 02:46:55 +00:00
Evan Cheng
960ad9a8ab
Maintain stylistic consistency.
...
llvm-svn: 89535
2009-11-21 02:32:35 +00:00
Daniel Dunbar
f4b39e9c95
Fix refacto, gcc's cc1 needs to see --output-pch=, which is not just an alias
...
for -output-pch=.
llvm-svn: 89534
2009-11-21 02:31:29 +00:00
Ted Kremenek
f3febe4bdc
Add another test case to show the precision of RegionStore over
...
BasicStore. In this example, BasicStore would lose information about
the pointer in path after '*path++', causing the analyzer to falsely
flag a null dereference. This addresses <rdar://problem/7191542>.
llvm-svn: 89533
2009-11-21 02:17:47 +00:00
Douglas Gregor
26aedb7460
Implement C++ [temp.param]p2 correctly, looking ahead when we see a
...
"typename" parameter to distinguish between non-type and type template
parameters. Fixes the actual bug in PR5559.
llvm-svn: 89532
2009-11-21 02:07:55 +00:00
Jakob Stoklund Olesen
4c83e2c253
Don't leave temporary files in the test directory.
...
llvm-svn: 89531
2009-11-21 02:05:31 +00:00
Jakob Stoklund Olesen
bc630aca39
Be more clever about calculating live variables through new basic blocks.
...
When splitting a critical edge, the registers live through the edge are:
- Used in a PHI instruction, or
- Live out from the predecessor, and
- Live in to the successor.
This allows the coalescer to eliminate even more phi joins.
llvm-svn: 89530
2009-11-21 02:05:21 +00:00
Daniel Dunbar
dbeef0c161
Allow SmallString to implicitly convert to StringRef.
...
llvm-svn: 89529
2009-11-21 02:01:24 +00:00
Ted Kremenek
9d6daf2cc4
Restructure DereferenceChecker slightly to handle caching out when we would report a null dereference more than once.
...
llvm-svn: 89526
2009-11-21 01:50:48 +00:00
Ted Kremenek
caf2c51fad
Pull BadCallChecker int UndefinedArgChecker, and have UndefinedArgChecker also handled undefined receivers in message expressions.
...
llvm-svn: 89524
2009-11-21 01:25:37 +00:00
Eric Christopher
0c7bd96de2
Add more optimizations for object size checking, enable handling of
...
object size intrinsic and verify return type is correct. Collect various
code in one place.
llvm-svn: 89523
2009-11-21 01:01:30 +00:00
Devang Patel
e1bbc33355
Remove dead code.
...
llvm-svn: 89522
2009-11-21 00:54:03 +00:00
Dale Johannesen
b91eba382d
When generating a vector the really slow way, via loads
...
and stores, handle the case where the element size is not
a valid target type correctly (PPC).
llvm-svn: 89521
2009-11-21 00:53:23 +00:00
Edward O'Callaghan
847f2a10ee
Add SigAtomicType to TargetInfo, Needed for MSP and PIC Targets, Credit to Ken Dyck.
...
llvm-svn: 89520
2009-11-21 00:49:54 +00:00
Ted Kremenek
f7adea43b4
More checker refactoring. Passing undefined values in a message expression is now handled by UndefinedArgChecker.
...
llvm-svn: 89519
2009-11-21 00:49:41 +00:00
Devang Patel
92e8c655b2
There is no need to use FoldingSet to unique DIEs.
...
DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode.
llvm-svn: 89518
2009-11-21 00:31:03 +00:00
John Thompson
c1b70ab9b8
Revised Win32 include path to search highest version in registry, plus platform SDK path
...
llvm-svn: 89517
2009-11-21 00:15:52 +00:00
Viktor Kutuzov
7dcca8f7fc
Added two SubtargetFeatures::AddFeatures methods, which accept a comma-separated string or already parsed command line parameters as input, and some code re-factoring to use these new methods.
...
llvm-svn: 89516
2009-11-21 00:00:02 +00:00
Daniel Dunbar
c2588c3bd9
Convert test to FileCheck.
...
llvm-svn: 89514
2009-11-20 23:46:56 +00:00
Mike Stump
58ef18b38c
Checkpoint current work. WIP.
...
llvm-svn: 89513
2009-11-20 23:44:51 +00:00
Douglas Gregor
ade9bcd72e
Cope with extraneous "template" keyword when providing an out-of-line
...
definition of a member template (or a member thereof). Fixes PR5566.
llvm-svn: 89512
2009-11-20 23:39:24 +00:00
David Goodwin
5305dc0be1
Restructure code to allow renaming of multiple-register groups for anti-dep breaking.
...
llvm-svn: 89511
2009-11-20 23:33:54 +00:00
Evan Cheng
73f9a9e2c8
Enable hoisting load from constant memories.
...
llvm-svn: 89510
2009-11-20 23:31:34 +00:00
Dan Gohman
312971513f
Fix a thinko that caused spurious @GOTOFFs.
...
llvm-svn: 89509
2009-11-20 23:30:32 +00:00
Daniel Dunbar
a764eef0e9
Driver: Add clang -cc1 dependency output options parsing.
...
llvm-svn: 89508
2009-11-20 23:28:07 +00:00
Dan Gohman
e14b347176
Update for new getBlockAddress signature.
...
llvm-svn: 89507
2009-11-20 23:21:00 +00:00
Dan Gohman
7a6611793f
Target-independent support for TargetFlags on BlockAddress operands,
...
and support for blockaddresses in x86-32 PIC mode.
llvm-svn: 89506
2009-11-20 23:18:13 +00:00
Daniel Dunbar
a604639635
Switch CompilerInvocation::CreateFromArgs to take const char** arguments until Driver itself switches to StringRef.
...
llvm-svn: 89503
2009-11-20 22:47:55 +00:00
Daniel Dunbar
2eaef18e76
Fix refactoro, clang-cc wasn't properly reporting errors when opening an output file failed.
...
llvm-svn: 89502
2009-11-20 22:32:38 +00:00
Daniel Dunbar
32164f4bdb
Driver: Use '-target-abi' 'FOO' instead of '-target-abi=FOO'.
...
llvm-svn: 89501
2009-11-20 22:32:30 +00:00
Sean Callanan
c1f532e930
Recommitting PALIGNR shift width fixes.
...
Thanks to Daniel Dunbar for fixing clang intrinsics:
http://llvm.org/viewvc/llvm-project?view=rev&revision=89499
llvm-svn: 89500
2009-11-20 22:28:42 +00:00
Daniel Dunbar
b17d34906a
Update for palign intrinsic fix.
...
llvm-svn: 89499
2009-11-20 22:21:59 +00:00
Daniel Dunbar
4274685b63
Pass '-mcpu' 'FOO' instead of '-mcpu=FOO'.
...
llvm-svn: 89498
2009-11-20 22:21:52 +00:00
Daniel Dunbar
8bed86c43e
Standardize Driver translation to call clang-cc using '-foo' form instead of '--foo'.
...
llvm-svn: 89497
2009-11-20 22:21:36 +00:00
Dale Johannesen
8495a506eb
Remove an incorrect overaggressive optimization
...
(PPC specific).
llvm-svn: 89496
2009-11-20 22:16:40 +00:00
Sean Callanan
19d92728d0
Reverting PALIGNR fix until I figure out how this
...
broke the Clang testsuite.
llvm-svn: 89495
2009-11-20 22:09:28 +00:00
Douglas Gregor
2094c5e80f
A previous commit fixed PR5519; here's the test case.
...
llvm-svn: 89494
2009-11-20 22:05:53 +00:00
Douglas Gregor
a25d65d1b6
Implement C++ [basic.lookup.classref]p3, which states how the type
...
name 'T' is looked up in the expression
t.~T()
Previously, we weren't looking into the type of "t", and therefore
would fail when T actually referred to an injected-class-name. Fixes
PR5530.
llvm-svn: 89493
2009-11-20 22:03:38 +00:00
Douglas Gregor
09177b2b7f
Update C++ status
...
llvm-svn: 89492
2009-11-20 22:00:06 +00:00
Sean Callanan
fbed130173
Fixed PALIGNR to take 8-bit rotations in all cases.
...
Also fixed the corresponding testcase, and the PALIGNR
intrinsic (tested for correctness with llvm-gcc).
llvm-svn: 89491
2009-11-20 21:40:28 +00:00
Devang Patel
e064ad4741
Do not hold on to a map slot while new entries may be inserted into the map.
...
Use ValueMap, instead of std::map.
llvm-svn: 89490
2009-11-20 21:37:22 +00:00
David Greene
f46c37c0de
Cleanups.
...
Make things a little more efficient as suggested by Evan.
llvm-svn: 89489
2009-11-20 21:13:27 +00:00
Devang Patel
85121a3bda
There is no need to emit source location info for DW_TAG_pointer_type.
...
llvm-svn: 89487
2009-11-20 21:05:37 +00:00
Dan Gohman
fbffe63528
Make Loop::getLoopLatch() work on loops which don't have preheaders, as
...
it may be used in contexts where preheader insertion may have failed due
to an indirectbr.
Make LoopSimplify's LoopSimplify::SeparateNestedLoop properly fail in
the case that it would require splitting an indirectbr edge.
These fix PR5502.
llvm-svn: 89484
2009-11-20 20:51:18 +00:00
Dan Gohman
d15302afa0
Fix IPSCCP's code for deleting dead blocks to tolerate outstanding
...
blockaddress users. This fixes PR5569.
llvm-svn: 89483
2009-11-20 20:19:14 +00:00
Daniel Dunbar
f87c75706f
Revert "Add some rough optimizations for checking routines.", it buildeth not.
...
llvm-svn: 89482
2009-11-20 20:17:30 +00:00