Commit Graph

116176 Commits

Author SHA1 Message Date
Akira Hatanaka 1437852c38 Return function results whose size is smaller than 128-bits in registers if ABI
is N32/64.

llvm-svn: 143589
2011-11-02 23:14:57 +00:00
Greg Clayton e59da1688e Bumping Xcode project versions for lldb-85 and debugserver-150.
llvm-svn: 143587
2011-11-02 23:11:17 +00:00
Sean Callanan f90597993a ...And forgot to check in build-llvm.pl. Sigh.
llvm-svn: 143586
2011-11-02 23:09:23 +00:00
Eli Friedman d1370791c2 Use native endianness for writing out character escapes to the result buffer for string literal parsing. No functional change on little-endian architectures; should fix test failures on PPC.
llvm-svn: 143585
2011-11-02 23:06:23 +00:00
Douglas Gregor 10f939c3db Don't build member initializers for zero-length or incomplete arrays,
and don't try to destroy them, either. Fixes
<rdar://problem/10228639>.

llvm-svn: 143584
2011-11-02 23:04:16 +00:00
Fariborz Jahanian 10317eaa28 back out changes in r143399 and r143475.
rvale-references are captured by reference
in blocks. // rdar://9971124.

llvm-svn: 143583
2011-11-02 22:53:43 +00:00
Lang Hames 9929c423a1 Try to lower memset/memcpy/memmove to vector instructions on ARM where the alignment permits.
llvm-svn: 143582
2011-11-02 22:52:45 +00:00
Douglas Gregor 324dbd3b83 Don't encourage bug reports to the Clang mailing list. We have a bug
report link for that.

llvm-svn: 143581
2011-11-02 22:49:47 +00:00
Galina Kistanova 3246d3556b Few corrections on the document page.
llvm-svn: 143578
2011-11-02 22:05:18 +00:00
Tobias Grosser 3fb4992221 ScopDetection: Add new SCEV Validator
The SCEV Validator is used to check if the bound of a loop can be translated
into a polyhedral constraint. The new validator is more general as the check
used previously and e.g. allows bounds like 'smax 1, %a'. At the moment, we
only allow signed comparisons. Also, the new validator is only used to verify
loop bounds. Memory accesses are still handled by the old validator.

llvm-svn: 143576
2011-11-02 21:40:08 +00:00
Tobias Grosser 1179afafca TempScop: Remove SCEVAffFunc from LoopBoundInfo
This is not needed anymore -> Reduce impact of SCEVAffFunc.

llvm-svn: 143575
2011-11-02 21:37:51 +00:00
Tobias Grosser 65fa78e975 TempScopInfo: Print the original SCEV instead of using SCEVAffFunc
This is reducing the impact of SCEVAffFunc

llvm-svn: 143574
2011-11-02 21:37:06 +00:00
Chad Rosier cdb008d117 In addition to dumping preprocessed source, dump a script with the command line
arguments that caused clang to crash.
rdar://8314451

llvm-svn: 143573
2011-11-02 21:29:05 +00:00
Sean Callanan ef4ab810d1 Whoops, forgot to commit the updated .zip file.
llvm-svn: 143572
2011-11-02 21:03:45 +00:00
Nick Lewycky 000307fef9 I added the first test to run llvm-dwarfdump.
llvm-svn: 143571
2011-11-02 21:02:27 +00:00
Nick Lewycky d1ee7f8cf1 Don't emit a directory entry for the value in DW_AT_comp_dir, that is always
implied by directory index zero.

llvm-svn: 143570
2011-11-02 20:55:33 +00:00
Douglas Gregor 07216d174e Fix various minor issues find via unreachable code warnings, from
Ahmed Charles!

llvm-svn: 143569
2011-11-02 20:52:01 +00:00
Anna Zaks 42a4463091 [analyzer] Tweak the test script
Rename the pre_run_static_analyzer script into cleanup_run_static_analyzer
and use it to clean up after the reference build - which is done as part of
adding a new project to the system.

llvm-svn: 143568
2011-11-02 20:46:50 +00:00
Chandler Carruth e0a89ab702 Add the newest Gentoo GCC version based on the reported installed
version in PR11298.

I hear-by apologize for adding yet more code to this monstrosity.

llvm-svn: 143567
2011-11-02 20:09:56 +00:00
Benjamin Kramer 4832e29795 Try to unbreak Makefile builds.
llvm-svn: 143566
2011-11-02 19:52:07 +00:00
Tobias Grosser 325569f716 docs: Fix two typos
llvm-svn: 143565
2011-11-02 19:51:04 +00:00
Daniel Dunbar 6c92223b37 build/Make: Update for rename of show-diagnostics.
llvm-svn: 143564
2011-11-02 19:48:19 +00:00
Michael J. Spencer 1085ce6d45 object: Add operator < for SymbolRef and SectionRef.
llvm-svn: 143563
2011-11-02 19:33:41 +00:00
Michael J. Spencer d0f5b0e194 object/COFF: Properly initalize uses of DataRefImpl.
llvm-svn: 143562
2011-11-02 19:33:26 +00:00
Michael J. Spencer e03ea9cd71 Object/Archive: Add symbol table iteration.
llvm-svn: 143561
2011-11-02 19:33:12 +00:00
Sean Callanan c832475cd2 Updated LLVM/Clang to pull in an MCJIT fix that
allows us to set __attribute__ ((used)) on expressions
that masquerade as methods.  When we are stopped in
classes in anonymous namespaces, this fix (and enabling
__attribute__ ((used)) on the method) will allow
expressions to run.

llvm-svn: 143560
2011-11-02 18:09:01 +00:00
Chad Rosier 9cf803c4bf Add support for comparing integer non-legal types.
llvm-svn: 143559
2011-11-02 18:08:25 +00:00
Owen Anderson fbb704f551 Fix the issue that r143552 was trying to address the _right_ way. One-register lists are legal on LDM/STM instructions, but we should not print the PUSH/POP aliases when they appear. This fixes round tripping on this instruction.
llvm-svn: 143557
2011-11-02 18:03:14 +00:00
Kevin Enderby 60d8516857 Replace tabs I added in this new line of code with spaces.
Thanks to Nick for spotting this!

llvm-svn: 143556
2011-11-02 17:56:38 +00:00
Daniel Dunbar 5aba1b4ea3 tests: Clean up tests/CMakeLists.txt to drop some variable configuration we no
longer need substitutions for.

llvm-svn: 143555
2011-11-02 17:54:51 +00:00
Anna Zaks 75a3f48cac [analyzer] Start writing Checker Developer Manual.
So far added the skeleton + several more or less complete sections:
Getting Started
Idea for a Checker
AST Visitors
Useful Commands/Debugging Hints

llvm-svn: 143554
2011-11-02 17:49:20 +00:00
Owen Anderson ec5c5f7008 The rules disallowing single-register reglist operands only apply to the POP alias, not to LDM/STM instructions. Revert r143552.
llvm-svn: 143553
2011-11-02 17:46:18 +00:00
Owen Anderson fad59dab62 Register list operands are not allowed to contain only a single register. Alternate encodings are used in that case.
llvm-svn: 143552
2011-11-02 17:41:23 +00:00
Douglas Gregor 8f5653a999 Drastically simplify the mapping from the declaration corresponding to
the injected-class-name of a class (or class template) to the
declaration that results from substituting the given template
arguments. Previously, we would actually perform a substitution into
the injected-class-name type and then retrieve the resulting
declaration. However, in certain, rare circumstances involving
deeply-nested member templates, we would get the wrong substitution
arguments.

This new approach just matches up the declaration with a declaration
that's part of the current context (or one of its parents), which will
either be an instantiation (during template instantiation) or the
declaration itself (during the definition of the template). This is
both more efficient (we're avoiding a substitution) and more correct
(we can't get the template arguments wrong in the member-template
case). 

Fixes <rdar://problem/9676205>.

llvm-svn: 143551
2011-11-02 17:38:53 +00:00
Douglas Gregor 9d0eb8f929 Use StringLiteral::getBytes(), not StringLiteral::getString(), when profiling the expression, so that it works for non-UTF8 strings.
llvm-svn: 143550
2011-11-02 17:26:05 +00:00
Benjamin Kramer 4e8b463883 Don't print two 0x prefixes when printing an address.
llvm-svn: 143549
2011-11-02 17:24:36 +00:00
Chandler Carruth 76f9e57145 Add back the top-level target for 'llvm-config' and the dependency edge
to force it to build after all library targets so it has complete
dependency information. This should fix broken 'make install' with
CMake.

This is a partial revert of r143540, but it doesn't revert the most
important part of that change: removing the dependency edge from LLVM
tools to the llvm-config script.

llvm-svn: 143548
2011-11-02 17:22:57 +00:00
Chad Rosier 4489f948a7 Factor out an EmitIntExt function. No functionality change intended.
llvm-svn: 143547
2011-11-02 17:20:24 +00:00
Andrew Trick c2c79c90f2 Rewrite LinearFunctionTestReplace to handle pointer-type IVs.
We've been hitting asserts in this code due to the many supported
combintions of modes (iv-rewrite/no-iv-rewrite) and IV types. This
second rewrite of the code attempts to deal with these cases systematically.

llvm-svn: 143546
2011-11-02 17:19:57 +00:00
Chandler Carruth 3198cc7376 Fix a typo noticed by Peter Collingbourne. No one depends on this
working today, but it shouldn't corrupt state for some poor soul to
debug later.

llvm-svn: 143545
2011-11-02 16:55:57 +00:00
Daniel Dunbar f5918316e4 docs: Remove an out-of-date and unnecessary tool list.
llvm-svn: 143544
2011-11-02 15:57:05 +00:00
Daniel Dunbar 9a28c4a522 docs: Separate development process type of documentation from programming
documentation.

llvm-svn: 143543
2011-11-02 15:56:58 +00:00
Daniel Dunbar 1ad9bd9a4e docs: Remove UsingLibraries page, which was inaccurate / out-of-date and not
particularly useful.

llvm-svn: 143542
2011-11-02 15:56:55 +00:00
Daniel Dunbar bcafe5f84d build/Make: Get rid of llvm-config-perobj, which isn't used anymore.
llvm-svn: 143541
2011-11-02 15:56:52 +00:00
Daniel Dunbar ab527acc09 build/CMake: Remove llvm-config.target used to serialize tool builds on
llvm-config build, there is no longer a point to this after Chandler's work.

llvm-svn: 143540
2011-11-02 15:56:38 +00:00
David Blaikie 503616199f Fixing some dead links. Patch by Jean-Daniel Dupas!
llvm-svn: 143539
2011-11-02 15:13:40 +00:00
Benjamin Kramer a4eadc5aa5 Remove virtually empty file.
llvm-svn: 143538
2011-11-02 12:04:24 +00:00
Chandler Carruth ae4e800c5b Begin collecting some of the statistics for block placement discussed on
the mailing list. Suggestions for other statistics to collect would be
awesome. =]

Currently these are implemented as a separate pass guarded by a separate
flag. I'm not thrilled by that, but I wanted to be able to collect the
statistics for the old code placement as well as the new in order to
have a point of comparison. I'm planning on folding them into the single
pass if / when there is only one pass of interest.

llvm-svn: 143537
2011-11-02 07:17:12 +00:00
Craig Topper a47b05c7f3 More AVX2 instructions and intrinsics.
llvm-svn: 143536
2011-11-02 06:54:17 +00:00
Michael J. Spencer e73bd64d12 Add colors to the C++11 status page.
llvm-svn: 143535
2011-11-02 06:29:37 +00:00