Commit Graph

112781 Commits

Author SHA1 Message Date
Douglas Gregor 21931efc4d Make -E work with module imports
llvm-svn: 139750
2011-09-14 23:13:09 +00:00
Jim Grosbach 25ca53b268 ARM tighten up the register classes for the PKH instructions.
llvm-svn: 139748
2011-09-14 22:52:14 +00:00
Owen Anderson d7791b961c Fix a crasher in Thumb2 MOV-immediate encoding for certain inputs.
llvm-svn: 139747
2011-09-14 22:46:14 +00:00
Johnny Chen 45e541f0ed Fix a bug where re-use of the same existing target-wise watchpoint did not work correctly.
llvm-svn: 139746
2011-09-14 22:20:15 +00:00
Douglas Gregor d7910e95bd Don't try to write a macro offset for an identifier that names a non-exported macro, for real this time
llvm-svn: 139745
2011-09-14 22:14:14 +00:00
Bill Wendling bdaa57fe6d Include limits.h to make sure PATH_MAX is known on Solaris 10.
Patch by Joakim Johansson!

llvm-svn: 139743
2011-09-14 21:49:42 +00:00
Jim Grosbach 61326e08ec Thumb2 assembly parsing and encoding for ORR.
llvm-svn: 139742
2011-09-14 21:43:57 +00:00
Jim Grosbach 1fdddf767f Thumb2 assembly parsing and encoding for ORN.
llvm-svn: 139741
2011-09-14 21:29:54 +00:00
Jim Grosbach 36acc8e984 Thumb2 assembly parsing and encoding for NOP.W.
llvm-svn: 139740
2011-09-14 21:26:25 +00:00
Jim Grosbach 752d6fd529 Thumb2 assembly parsing and encoding for MVN.
llvm-svn: 139739
2011-09-14 21:24:41 +00:00
Daniel Dunbar 2682897e11 platform/clang_darwin: Allow use of an RC_SUPPORTED_ARCHS variable to limit the
architectures we try to build for.

llvm-svn: 139738
2011-09-14 21:19:45 +00:00
Owen Anderson f1e384421a Nested IT blocks are UNPREDICTABLE. Mark them as such when disassembling them.
llvm-svn: 139736
2011-09-14 21:06:21 +00:00
Jim Grosbach 9c8b9932d6 Thumb2 assembly parsing and encoding for MUL.
llvm-svn: 139735
2011-09-14 21:00:40 +00:00
Douglas Gregor 4fe9b18182 Revert my exported-macro hackery. Something is amiss
llvm-svn: 139734
2011-09-14 20:57:14 +00:00
Caitlin Sadowski dcd60104c6 Thread safety: small fixes in comments
llvm-svn: 139733
2011-09-14 20:54:57 +00:00
Benjamin Kramer 3266493603 DWARF: Generate the address lookup table from the DIE tree if .debug_aranges is not available.
Ported from LLDB.

llvm-svn: 139732
2011-09-14 20:52:27 +00:00
Douglas Gregor d48ed128e0 Make sure that we actually keep the key length and data length in sync when dealing with non-exported macros
llvm-svn: 139731
2011-09-14 20:51:12 +00:00
Douglas Gregor af3ccaf22c Disable this test on win32. My "sleep 2" trick didn't seem to work
llvm-svn: 139729
2011-09-14 20:38:11 +00:00
Douglas Gregor 4184ab0b26 Don't try to write a macro offset for an identifier that names a non-exported macro
llvm-svn: 139728
2011-09-14 20:36:30 +00:00
Douglas Gregor e162dd46f6 Add test for the driver's handling of modules
llvm-svn: 139727
2011-09-14 20:29:10 +00:00
Douglas Gregor f936f782f5 Teach the driver to always pass down a module cache path. If none is
supplied, use something derived from the system's temporary
directory. Depends on LLVM r139725.

llvm-svn: 139726
2011-09-14 20:28:46 +00:00
Douglas Gregor 123dc70c50 Add a simple routine to determine the typical system directory for
temporary data. 

llvm-svn: 139725
2011-09-14 20:27:01 +00:00
Johnny Chen 0c40637012 Add logging to Target::CreateWatchpointLocation() and fix some bug of using the wrong variable.
Plus simplify WatchpointLocation::Dump() output.

llvm-svn: 139724
2011-09-14 20:23:45 +00:00
Caitlin Sadowski e50d8c3415 Thread safety: reverting to use separate warning for requirement to hold any lock
llvm-svn: 139723
2011-09-14 20:09:09 +00:00
Caitlin Sadowski 5b34a2fd6e Thread safety: adding additional documentation to the main thread safety interface, and making the destructor for the thread safety handler pure virtual
llvm-svn: 139722
2011-09-14 20:05:09 +00:00
Jim Grosbach 0ecd395095 Thumb2 assembly parsing and encoding for MSR/MRS.
Fix a bug in handling default flags for both ARM and Thumb encodings.

llvm-svn: 139721
2011-09-14 20:03:46 +00:00
Caitlin Sadowski 787c2a1b09 Thread safety: adding test cases for unparseable lock expressions and expanding the handling of these expressions
llvm-svn: 139720
2011-09-14 20:00:24 +00:00
Kaelyn Uhrain 7fbe2f78d7 Plug an abstraction leak and fix a crasher in DiagnoseInvalidRedeclaration
llvm-svn: 139718
2011-09-14 19:37:32 +00:00
Jim Grosbach e9d80bbc1d Thumb2 assembly parsing and encoding for MRC/MRC2/MRRC/MRRC2.
llvm-svn: 139717
2011-09-14 19:28:49 +00:00
Eli Friedman 8eac6c2187 PR10864: make sure we correctly delay type-checking for inline asm tied operands with dependent type. Patch by Likai Liu.
llvm-svn: 139716
2011-09-14 19:20:00 +00:00
Jim Grosbach c39c2dfe15 Thumb2 assembly parsing and encoding for MOVT.
llvm-svn: 139715
2011-09-14 19:15:15 +00:00
Jim Grosbach 18b8b17579 Thumb2 assembly parsing for MOV in IT block.
Select the right 16 vs. 32 bit encoding in an IT block.

llvm-svn: 139714
2011-09-14 19:12:11 +00:00
Fariborz Jahanian fe52617bcd Use a group for a diagnostics I added late.
llvm-svn: 139713
2011-09-14 19:02:25 +00:00
Benjamin Kramer a59d118b6c DWARF: Reorder fields to reduce padding.
llvm-svn: 139712
2011-09-14 18:34:47 +00:00
Howard Hinnant f554add54e Initial checkin for debug mode (version 2)
llvm-svn: 139711
2011-09-14 18:33:51 +00:00
Dan Gohman fca43c21c3 Don't mark objc_retainBlock as nounwind. It calls user copy constructors
which could theoretically throw.

llvm-svn: 139710
2011-09-14 18:33:34 +00:00
Argyrios Kyrtzidis 41899f3bac [arcmt] Use __bridge_retained when passing an objc object to a CF parameter
annotated with cf_consumed attribute.

llvm-svn: 139709
2011-09-14 18:17:09 +00:00
Dan Gohman d4b5e3a4d9 objc_retainBlock is not NoModRef because it can update forwarding pointers
in memory relevant to the optimizer. rdar://10050579.

llvm-svn: 139708
2011-09-14 18:13:00 +00:00
Jim Grosbach 3ac26b138b ARM fix assembly parser handling of ranges in register lists.
Clean up register list handling in general a bit to explicitly check things
like all the registers being from the same register class.

rdar://8883573

llvm-svn: 139707
2011-09-14 18:08:35 +00:00
Fariborz Jahanian 1723e17b78 objc-arc: warn when a 'retain' block property is
declared which does not force a 'copy' of the block literal
object. // rdar://9829425

llvm-svn: 139706
2011-09-14 18:03:46 +00:00
Benjamin Kramer f915acc613 DWARF: Improve indentation of DIE dumping so it's easier to see the structure.
llvm-svn: 139705
2011-09-14 17:54:56 +00:00
Anna Zaks 2ced26ef72 [analyzer] Remove redundant copy constructor.
llvm-svn: 139704
2011-09-14 17:53:23 +00:00
Anna Zaks 615e3a69c3 [analyzer] After CFG has been linearized, we can have a situation where an ExpoledNode has an invalid SourceLocation (which has no correspondence in the source code). This commit is the first step to solve this problem.
- It adds LocationContext to the PathDiagnosticLocation object and uses it to lookup the enclosing statement with a valid location.
 - So far, the LocationContext is only available when the object is constructed from the ExplodedNode.
 - Already found some subtle bugs(in plist-output-alternate.m) where the intermediate diagnostic steps were not previously shown. 

llvm-svn: 139703
2011-09-14 17:48:01 +00:00
Jakob Stoklund Olesen 811b9c475d Ignore the cloning of unknown registers.
THe LRE_DidCloneVirtReg callback may be called with vitual registers
that RAGreedy doesn't even know about yet.  In that case, there are no
data structures to update.

llvm-svn: 139702
2011-09-14 17:34:37 +00:00
Benjamin Kramer 973b5cde7e llvm-dwarfdump: Make the "is debug info section" heuristic stricter so it doesn't accidentaly picks up the wrong section.
Also add some validation code to the aranges section parser.

Fixes PR10926.

llvm-svn: 139701
2011-09-14 17:28:13 +00:00
Akira Hatanaka f0bbc1c8fd Add comment.
llvm-svn: 139700
2011-09-14 17:24:05 +00:00
Akira Hatanaka 3efff6c9f8 Add comment.
llvm-svn: 139699
2011-09-14 17:22:51 +00:00
Jakob Stoklund Olesen a98af39856 Hoist back-copies to the least busy dominator.
When a back-copy is hoisted to the nearest common dominator, keep
looking up the dominator tree for a less loopy dominator, and place the
back-copy there instead.

Don't do this when a single existing back-copy dominates all the others.
Assume the client knows what he is doing, and keep the dominating
back-copy.

This prevents us from hoisting back-copies into loops in most cases.  If
a value is defined in a loop with multiple exits, we may still hoist
back-copies into that loop.  That is the speed/size tradeoff.

llvm-svn: 139698
2011-09-14 16:45:39 +00:00
Jim Grosbach 1daf07338c Move state var to private class member.
llvm-svn: 139697
2011-09-14 16:37:04 +00:00
Douglas Gregor a739d9a023 Encode the module hash in base-36, to reduce the length of the strings a bit
llvm-svn: 139696
2011-09-14 15:55:12 +00:00