summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [analyzer] Solve another source of non-determinism in the diagnosticAnna Zaks2012-08-023-23/+17
| | | | | | | | | | | | engine. The code that was supposed to split the tie in a deterministic way is not deterministic. Most likely one of the profile methods uses a pointer. After this change we do finally get the consistent diagnostic output. Testing this requires running the analyzer on large code bases and diffing the results. llvm-svn: 161224
* Remove redundant '== true' after a comparison.Richard Trieu2012-08-021-1/+1
| | | | llvm-svn: 161223
* ARM: Tidy up. Remove unused template parameters.Jim Grosbach2012-08-021-20/+16
| | | | llvm-svn: 161222
* Update status.Howard Hinnant2012-08-022-5/+6
| | | | llvm-svn: 161221
* ARM: More InstAlias refactors to use #NAME#.Jim Grosbach2012-08-021-42/+27
| | | | llvm-svn: 161220
* Move test yaml files under Inputs until they are converted to be the actualMatt Beaumont-Gay2012-08-026-6/+8
| | | | | | test files. llvm-svn: 161219
* ARM: Refactor instaliases using TableGen support for #NAME#.Jim Grosbach2012-08-021-31/+23
| | | | | | | | Now that TableGen supports references to NAME w/o it being explicitly referenced in the definition's own name, use that to simplify assembly InstAlias definitions in multiclasses. llvm-svn: 161218
* Comments AST: refactor DeclInfo to use an enum for decl kind instead ofDmitri Gribenko2012-08-023-10/+56
| | | | | | separate flags. llvm-svn: 161217
* [driver] Lipo can handle the lto-bc type.Chad Rosier2012-08-021-1/+2
| | | | | | rdar://12000401 llvm-svn: 161216
* Comments: handle template paramter documentation in alias-declarationDmitri Gribenko2012-08-022-0/+16
| | | | | | templates. llvm-svn: 161215
* [analyzer] Add a simple check for initializing reference variables with null.Jordan Rose2012-08-024-95/+214
| | | | | | | | | There's still more work to be done here; this doesn't catch reference parameters or return values. But it's a step in the right direction. Part of <rdar://problem/11212286>. llvm-svn: 161214
* Attaching comments to declarations: handle using-declaration.Dmitri Gribenko2012-08-023-19/+29
| | | | llvm-svn: 161211
* Updating Xcode project version numbers for lldb-164 and debugserver-191Sean Callanan2012-08-025-27/+27
| | | | llvm-svn: 161209
* X86 Peephole: fold loads to the source register operand if possible.Manman Ren2012-08-025-38/+67
| | | | | | | | | | Add more comments and use early returns to reduce nesting in isLoadFoldable. Also disable folding for V_SET0 to avoid introducing a const pool entry and a const pool load. rdar://10554090 and rdar://11873276 llvm-svn: 161207
* [yaml2obj] Fix build. Apparently I've gotten too familiar with C++11.Michael J. Spencer2012-08-021-1/+1
| | | | llvm-svn: 161206
* Add yaml2obj. A utility to convert YAML to binaries.Michael J. Spencer2012-08-0214-14/+1311
| | | | | | | | yaml2obj takes a textual description of an object file in YAML format and outputs the binary equivalent. This greatly simplifies writing tests that take binary object files as input. llvm-svn: 161205
* TableGen: Allow use of #NAME# outside of 'def' names.Jim Grosbach2012-08-021-11/+21
| | | | | | | | | | | | | | | | | | | | | Previously, def NAME values were only populated, and references to NAME resolved, when NAME was referenced in the 'def' entry of the multiclass sub-entry. e.g., multiclass foo<...> { def prefix_#NAME : ... } It's useful, however, to be able to reference NAME even when the default def name is used. For example, when a multiclass has 'def : Pat<...>' or 'def : InstAlias<...>' entries which refer to earlier instruction definitions in the same multiclass. e.g., multiclass myMulti<RegisterClass rc> { def _r : myI<(outs rc:$d), (ins rc:$r), "r $d, $r", []>; def : InstAlias<\"wilma $r\", (!cast<Instruction>(NAME#\"_r\") rc:$r, rc:$r)>; } llvm-svn: 161198
* Compute the critical path length through a trace.Jakob Stoklund Olesen2012-08-022-5/+75
| | | | | | | | | | | Whenever both instruction depths and instruction heights are known in a block, it is possible to compute the length of the critical path as max(depth+height) over the instructions in the block. The stored live-in lists make it possible to accurately compute the length of a critical path that bypasses the current (small) block. llvm-svn: 161197
* Andrew Morrow: The attached patch updates the initialization of the 'struct ↵Howard Hinnant2012-08-021-1/+1
| | | | | | | | | | tm' in __time_get_storage<char> to match the initialization behavior in __time_get_storage<wchar>. Without the initialization, valgrind reports errors in the subsequent calls to strftime_l. llvm-svn: 161196
* Andrew Morrow: There are two tests under test/utilities/memory that heap ↵Howard Hinnant2012-08-022-4/+0
| | | | | | | | | | | | | allocate two integers which remain unused and are subsequently leaked, so the test fail when run under valgrind. Unless I'm overlooking a subtle reason why they are needed I think they can be removed, allowing these tests to pass under valgrind. The attached patch removes the variables. If there is a reason for them to exist, I can change this to just delete them at the end of the test. llvm-svn: 161195
* objc-arc: Modify test for more prcecise fixit.Fariborz Jahanian2012-08-021-9/+8
| | | | | | // rdar://11913153 llvm-svn: 161194
* Andrew Morrow: The attached patch updates the lit.config for libc++ unit ↵Howard Hinnant2012-08-021-0/+2
| | | | | | | | | tests so that the valgrind configuration passed to lit.py is used to run .pass tests. llvm-svn: 161193
* Andrew Morrow: Among the various libc++ tests that currently don't pass on ↵Howard Hinnant2012-08-022-26/+21
| | | | | | | | | | | | | | | | Linux are localization/locale.categories/category.collate/category.ctype/locale.ctype.byname/is_1.pass.cpp and scan_is.pass.cpp. The tests fail when the character class being tested is compound, like ctype_base::alnum or ctype_base::graph, because the existing series of conditionals in do_is an do_scan_is will abort too early. For instance, if the character class being tested is alnum, and the character is numeric, do_is will return false because iswalpha_l will return false, 'result' becomes false, and the 'true' result from the later call to iswdigit_l ends up being ignored . A similar problem exists in do_scan_is. llvm-svn: 161192
* Move the code that creates instances of MipsInstrInfo and MipsFrameLowering outAkira Hatanaka2012-08-029-29/+51
| | | | | | of MipsTargetMachine.cpp. llvm-svn: 161191
* Andrew Morrow: The attached patch is an attempt to implementHoward Hinnant2012-08-022-9/+11
| | | | | | | std::thread::hardware_concurrency for platforms that don't offer sysctl, but do provide a POSIX sysconf and _SC_NPROCESSORS_ONLN. llvm-svn: 161190
* Set transient stack alignment in constructor of MipsFrameLowering and re-enableAkira Hatanaka2012-08-022-7/+3
| | | | | | test o32_cc_vararg.ll. llvm-svn: 161189
* Andrew Morrow: This patch fixesHoward Hinnant2012-08-022-6/+1
| | | | | | | | | test/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp to accept '(nil)' as a valid representation for NULL so that the test passes on Linux. The same thing is already done in some other tests, like in /test/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp. llvm-svn: 161188
* objective-c arc: Patch to suggest bridge casting of CFFariborz Jahanian2012-08-022-2/+78
| | | | | | | objects used as dictionary subscript objects. // rdar://11913153 llvm-svn: 161187
* ASTContext.h: replace include by a forward declaration.Dmitri Gribenko2012-08-022-1/+5
| | | | llvm-svn: 161186
* <rdar://problem/11846023> Fixing a bug where malformed DWARF could lead to ↵Enrico Granata2012-08-021-5/+19
| | | | | | an endless recursion with synthetic children llvm-svn: 161185
* Verify regunit intervals along with virtreg intervals.Jakob Stoklund Olesen2012-08-021-2/+12
| | | | | | | Don't cause regunit intervals to be computed just to verify them. Only check the already cached intervals. llvm-svn: 161183
* Avoid creating dangling physreg live ranges during DCE.Jakob Stoklund Olesen2012-08-021-6/+30
| | | | | | | | | | | | | | | | | | | | | | | | | LiveRangeEdit::eliminateDeadDefs() can delete a dead instruction that reads unreserved physregs. This would leave the corresponding regunit live interval dangling because we don't have shrinkToUses() for physical registers. Fix this problem by turning the instruction into a KILL instead of deleting it. This happens in a landing pad in test/CodeGen/X86/2012-05-19-CoalescerCrash.ll: %vreg27<def,dead> = COPY %EDX<kill>; GR32:%vreg27 becomes: KILL %EDX<kill> An upcoming fix to the machine verifier will catch problems like this by verifying regunit live intervals. This fixes PR13498. I am not including the test case from the PR since we already have one exposing the problem once the verifier is fixed. llvm-svn: 161182
* Implement LinuxSymbolizer instead of symbolize_addr2line.Alexander Potapenko2012-08-021-39/+37
| | | | llvm-svn: 161181
* Add TargetRegisterInfo::hasRegUnit().Jakob Stoklund Olesen2012-08-021-0/+8
| | | | | | | This trivial helper function tests if a register contains a register unit. It is similar to regsOverlap(), but with asymmetric arguments. llvm-svn: 161180
* include/llvm/Analysis/RegionInfo.h: Appease msvc.NAKAMURA Takumi2012-08-021-1/+1
| | | | llvm-svn: 161179
* Add report() functions that take a LiveInterval argument.Jakob Stoklund Olesen2012-08-021-60/+67
| | | | llvm-svn: 161178
* Implement the block_iterator of Region based on df_iterator.Hongbin Zheng2012-08-022-48/+40
| | | | llvm-svn: 161177
* Some refactoring for asan_symbolize.py: introduced the Symbolizer class and ↵Alexander Potapenko2012-08-021-59/+184
| | | | | | | | implemented DarwinSymbolizer for atos-based symbolization, BreakpadSymbolizer for breakpad-based symbolization (files produced by the dump_syms tool, http://code.google.com/p/google-breakpad/source/browse/#svn%2Ftrunk%2Fsrc%2Ftools%2Fmac%2Fdump_syms) and ChainSymbolizer to allow falling back if a symbolizer hadn't succeeded. Fixed pylint warnings. llvm-svn: 161176
* Add OpenBSD arch targets for powerpc, arm, mips64, mips64el and sparc.Hans Wennborg2012-08-021-1/+13
| | | | | | Contributed by Brad Smith <brad@comstyle.com> llvm-svn: 161175
* Remove leftover definitionsTobias Grosser2012-08-021-2/+0
| | | | | | Contributed by: Michael Kruse <MichaelKruse@meinersbur.de> llvm-svn: 161174
* Correct AddDefaultCIncludePaths for OpenBSD to not include /usr/local/includeHans Wennborg2012-08-021-0/+1
| | | | | | | | | in the default search path. Compilers on *BSD OS's only include /usr/include by default. Contributed by Brad Smith <brad@comstyle.com> llvm-svn: 161173
* add a comment to explain this test caseNuno Lopes2012-08-021-1/+2
| | | | llvm-svn: 161172
* JIT::runFunction(): add a fast path for functions with a single argument ↵Nuno Lopes2012-08-021-2/+7
| | | | | | that is a pointer. llvm-svn: 161171
* [Sanitizer] fix windows buildAlexey Samsonov2012-08-021-1/+1
| | | | llvm-svn: 161170
* Follow-up for r161168 for WindowsAlexey Samsonov2012-08-022-13/+18
| | | | llvm-svn: 161169
* [Sanitizer] Workaround for a compiler warning - ISO C++ forbids casting ↵Alexey Samsonov2012-08-025-18/+30
| | | | | | pointer-to-function to pointer-to-object, so we use cast via integral type llvm-svn: 161168
* Make strcat() and strncat() more standard-compliant (check for invalid ↵Alexander Potapenko2012-08-022-14/+22
| | | | | | | | parameters even if zero bytes is copied, more accurate overlap check) Fix the tests that were relying on the incorrect behavior. llvm-svn: 161167
* [Sanitizer] Fix warnings to please cmake buildAlexey Samsonov2012-08-021-2/+2
| | | | llvm-svn: 161166
* test/Sema/tls.c: don't use -verify to check if TLS is supportedHans Wennborg2012-08-021-9/+9
| | | | | | | Use "%clang_cc1" vs "not %clang_cc1" instead. Also use -fsyntax-only. llvm-svn: 161165
* Sphinxify the Code Generator document.Bill Wendling2012-08-023-3193/+2432
| | | | llvm-svn: 161164
OpenPOWER on IntegriCloud