Bill Wendling
988a47d7e5
Make sure we add the predicate after all of the registers are added.
...
<rdar://problem/12183003>
llvm-svn: 162703
2012-08-27 22:12:44 +00:00
Benjamin Kramer
29f9a00732
CodeGen: Hoist check from recursive function to its only callsite.
...
Suggested by Roman Divacky.
llvm-svn: 162702
2012-08-27 22:07:02 +00:00
Benjamin Kramer
46cbe77b49
CodeGen: When emitting stores for an initializer, only emit a GEP if we really need the store.
...
This avoids emitting many dead GEPs for large zero-initialized arrays.
llvm-svn: 162701
2012-08-27 21:35:58 +00:00
Matt Beaumont-Gay
71f611fbd6
Appease -Wnon-virtual-dtor
...
llvm-svn: 162700
2012-08-27 21:15:55 +00:00
Chad Rosier
c4ee7d1add
[ms-inline asm] Add a few comments.
...
llvm-svn: 162699
2012-08-27 21:14:01 +00:00
Chad Rosier
7989f834c7
[ms-inline asm] Hoist common Expr handling logic into AsmStmt.
...
llvm-svn: 162698
2012-08-27 21:04:42 +00:00
Simon Atanasyan
ec4b1c194b
MIPS: Use -G option to specify MIPS section threshold. Translate it
...
to the -mllvm -mips-ssection-threshold=<value> pair and pass to the frontend.
The patch suggested by Carl Norum.
llvm-svn: 162697
2012-08-27 20:55:56 +00:00
Chad Rosier
3b0c2607ef
[ms-inline asm] Rename GenerateAsmString to generateAsmString to conform with
...
coding standards. Also, add stub for MSAsmStmt class as part of unifying
codegen logic for AsmStmts.
llvm-svn: 162696
2012-08-27 20:23:31 +00:00
Jordan Rose
1a61674f5a
[analyzer] Look through casts when trying to track a null pointer dereference.
...
Also, add comments to addTrackNullOrUndefValueVisitor.
Thanks for the review, Anna!
llvm-svn: 162695
2012-08-27 20:18:30 +00:00
John McCall
986a992400
Restore a -cc1 invariant that was causing problems on PPC64.
...
This test case is pretty bad, though.
llvm-svn: 162694
2012-08-27 19:56:37 +00:00
Chad Rosier
1c17844c8c
[ms-inline asm] Base class AsmStmt implements these.
...
llvm-svn: 162693
2012-08-27 19:48:56 +00:00
Chad Rosier
fe3352e0bc
[ms-inline asm] Hoist common logic into the AsmStmt base class.
...
llvm-svn: 162692
2012-08-27 19:38:01 +00:00
Chad Rosier
aeff2299c3
[ms-inline asm] Add a new base class, AsmStmt, for the GCCAsmStmt and MSAsmStmt
...
classes.
llvm-svn: 162691
2012-08-27 18:56:36 +00:00
Manuel Klimek
de06338a08
This is a temporary solution until we have a better way to
...
parse doxygen comments for macros with libclang.
I'm not entirely happy about this script, but as it saves
a lot of work in keeping the docs up to date with the
actual code I think checking it in makes sense.
llvm-svn: 162690
2012-08-27 18:49:12 +00:00
Jordan Rose
561919e5bd
[analyzer] Don't inline constructors for objects allocated with operator new.
...
Because the CXXNewExpr appears after the CXXConstructExpr in the CFG, we don't
actually have the correct region to construct into at the time we decide
whether or not to inline. The long-term fix (discussed in PR12014) might be to
introduce a new CFG node (CFGAllocator) that appears before the constructor.
Tracking the short-term fix in <rdar://problem/12180598>.
llvm-svn: 162689
2012-08-27 18:39:22 +00:00
Jordan Rose
39fbb023d3
[analyzer] Update inlining design notes for r162681.
...
llvm-svn: 162688
2012-08-27 18:39:16 +00:00
Anna Zaks
7d2babc046
[analyzer] More internal stats collection.
...
llvm-svn: 162687
2012-08-27 18:38:32 +00:00
Dan Gohman
10c82cee04
Don't use for loops for code that is only intended to execute once. No
...
intended functionality change. Thanks to Ahmed Charles for spotting it.
llvm-svn: 162686
2012-08-27 18:31:36 +00:00
Enrico Granata
8fb5d46ec0
Fixing a potential control may reach end of non-void function issue
...
llvm-svn: 162685
2012-08-27 18:30:45 +00:00
Chad Rosier
0c574f8a4e
Update comment, per Jordan's suggestion.
...
llvm-svn: 162684
2012-08-27 18:16:34 +00:00
John McCall
64044c3a81
Use cast<> instead of static_cast. Patch by Timur Iskhodzhanov!
...
llvm-svn: 162683
2012-08-27 18:12:29 +00:00
Chad Rosier
716c7bd52e
Update comment.
...
llvm-svn: 162682
2012-08-27 18:00:52 +00:00
Jordan Rose
c93183042f
[analyzer] Inline constructors for any object with a trivial destructor.
...
This allows us to better reason about status objects, like Clang's own
llvm::Optional (when its contents are trivially destructible), which are
often intended to be passed around by value.
We still don't inline constructors for temporaries in the general case.
<rdar://problem/11986434>
llvm-svn: 162681
2012-08-27 17:50:07 +00:00
Enrico Granata
114bb19d19
Data formatters for libc++ deque and shared/weak ptrs - a contribution by Jared Grubb
...
llvm-svn: 162680
2012-08-27 17:42:50 +00:00
Filipe Cabecinhas
e94695cfb9
Fix include path for Linux and FreeBSD.
...
llvm-svn: 162679
2012-08-27 16:54:58 +00:00
Rafael Espindola
073ee7d0a8
Fix comment.
...
llvm-svn: 162678
2012-08-27 16:04:24 +00:00
Danil Malyshev
97714bc149
Fix comment for function RuntimeDyldImpl.resolveRelocation()
...
llvm-svn: 162677
2012-08-27 15:34:01 +00:00
Alexey Samsonov
d1d1a814b7
[Sanitizer] align allocation sizes in low level allocator
...
llvm-svn: 162676
2012-08-27 14:51:36 +00:00
Evgeniy Stepanov
f72f08affc
CMake build rules for ASan/Android runtime.
...
llvm-svn: 162675
2012-08-27 14:28:27 +00:00
Alexey Samsonov
28d8be2d86
[Sanitizer] One more try to fix Windows build
...
llvm-svn: 162674
2012-08-27 14:08:53 +00:00
Alexey Samsonov
e67a5dd8e1
[Sanitizer] Use low-level allocator in flag parsing to avoid calling malloc() before ASan/TSan initialization is done
...
llvm-svn: 162673
2012-08-27 14:04:54 +00:00
Hongbin Zheng
14c05c409a
Remove the the block_node_iterator of Region, replace it by the block_iterator.
...
llvm-svn: 162672
2012-08-27 13:49:24 +00:00
Alexey Samsonov
cc62211fbf
[Sanitizer] Rename ProcessMaps to MemoryMappingLayout and fix Windows build by providing stub implementation
...
llvm-svn: 162671
2012-08-27 13:48:48 +00:00
Alexey Samsonov
c74289db2b
[ASan] add missing build dependency on sanitizer_common headers
...
llvm-svn: 162670
2012-08-27 13:47:28 +00:00
Simon Atanasyan
8f06f2fbbf
Support MIPS DSP Rev2 intrinsics.
...
The patch reviewed by Akira Hatanaka.
llvm-svn: 162669
2012-08-27 12:29:20 +00:00
Simon Atanasyan
bb45f5b6a1
Support MIPS DSP Rev2 intrinsics.
...
The patch reviewed by Akira Hatanaka.
llvm-svn: 162668
2012-08-27 12:29:01 +00:00
NAKAMURA Takumi
fee50c8cf1
llvm/test/CodeGen/X86/fma.ll: Add -march=x86, or two tests would fail on non-x86 hosts.
...
llvm-svn: 162667
2012-08-27 11:50:26 +00:00
Evgeniy Stepanov
be01398612
A few tweaks for building ASanRT against Android NDK.
...
llvm-svn: 162666
2012-08-27 11:15:55 +00:00
NAKAMURA Takumi
37338a8352
DWARFDebugRangeList.cpp: Use PRIx64 for uint64_t as format string.
...
llvm-svn: 162665
2012-08-27 10:10:10 +00:00
NAKAMURA Takumi
10eb4cfc3e
llvm/test/CodeGen/X86/fma_patterns.ll: Add -mtriple=x86_64. It was incompatible on i686 and Windows x64.
...
llvm-svn: 162664
2012-08-27 09:37:54 +00:00
Alexey Samsonov
dc8d1f1039
[Sanitizer] move low-level (mmap-based) allocator to sanitizer_common
...
llvm-svn: 162663
2012-08-27 09:30:58 +00:00
Tobias Grosser
882a283946
Dependences: Print dependences in -analyze output
...
The dependency printing was accidentally removed in during a previous
restructuring.
llvm-svn: 162662
2012-08-27 08:44:15 +00:00
Craig Topper
a737ef8964
Remove MMX shift intrinsic handling code that also exists in SelectionDAGBuilder.
...
llvm-svn: 162661
2012-08-27 08:08:30 +00:00
Craig Topper
bfc1d0ed48
Commit test change for r162658.
...
llvm-svn: 162660
2012-08-27 07:55:50 +00:00
Alexey Samsonov
b4c95daf86
[DebugInfo] fixup for r162657: update CMakeLists.txt
...
llvm-svn: 162659
2012-08-27 07:24:43 +00:00
Craig Topper
5af2fed5f2
Don't allow vextractf128 to be folded with unaligned stores. We don't fold unaligned loads so shouldn't fold unaligned stores as it can cause an alignment fault to occur.
...
llvm-svn: 162658
2012-08-27 07:19:59 +00:00
Alexey Samsonov
034e57a297
Add basic support for .debug_ranges section to LLVM's DebugInfo library.
...
This section (introduced in DWARF-3) is used to define instruction address
ranges for functions that are not contiguous and can't be described
by low_pc/high_pc attributes (this is the usual case for inlined subroutines).
The patch is the first step to support fetching complete inlining info from DWARF.
Reviewed by Benjamin Kramer.
llvm-svn: 162657
2012-08-27 07:17:47 +00:00
Craig Topper
6d44554cd4
Fold some patterns into instruction definitons so tablegen can infer flags removing the need for an explicit 'neverHasSideEffects = 1'
...
llvm-svn: 162656
2012-08-27 07:04:50 +00:00
Anitha Boyapati
0dd589c5f1
FMA3 tests on bdver2 target for changes made in rev 162012. Also made
...
corresponding changes to existing tests for darwin triple to ensure that
same pattern is tested for bdver2 target.
llvm-svn: 162655
2012-08-27 06:59:01 +00:00
Craig Topper
f7828f91ee
Add HasAVX1Only predicate and use it for patterns that have an AVX1 instruction and an AVX2 instruction rather than relying on AddedComplexity.
...
llvm-svn: 162654
2012-08-27 06:08:57 +00:00