Commit Graph

3780 Commits

Author SHA1 Message Date
Chris Lattner a676c0fc77 implement .ll and .bc support for nsw/nuw on shl and exact on lshr/ashr.
Factor some code better.

llvm-svn: 125006
2011-02-07 16:40:21 +00:00
Chris Lattner 35315d065b enhance vmcore to know that udiv's can be exact, and add a trivial
instcombine xform to exercise this.

Nothing forms exact udivs yet though.  This is progress on PR8862

llvm-svn: 124992
2011-02-06 21:44:57 +00:00
Devang Patel 7846c1e99b Update docs to match reality.
llvm-svn: 124761
2011-02-03 00:22:17 +00:00
Anton Korobeynikov 3e956af404 Document the LLVM GIT mirror
llvm-svn: 124677
2011-02-01 20:08:28 +00:00
Devang Patel 9a8539c4d9 Remove stale references of obsolete @llvm.dbg.variable.
llvm-svn: 124664
2011-02-01 17:22:12 +00:00
Nick Lewycky fea7ddc735 Most browsers eliminate whitespace between anchor tags. Force whitespace with
  so that the code reads properly.

llvm-svn: 124514
2011-01-29 01:09:53 +00:00
Oscar Fuentes 6495595382 Handles libffi on the CMake build.
Patch by arrowdodger!

llvm-svn: 123976
2011-01-21 15:42:54 +00:00
Chris Lattner 92ec3d1bf4 finish a sentence.
llvm-svn: 123750
2011-01-18 06:12:10 +00:00
Rafael Espindola f1ed781aea Add a clarification about merging constants with and without unnamed_addr.
llvm-svn: 123530
2011-01-15 08:20:57 +00:00
Jakob Stoklund Olesen d3438eb27d Don't document exactly how virtual registers are represented as integers. Code
shouldn't depend directly on that.

Give an example of how to iterate over all virtual registers in a function
without depending on the representation.

llvm-svn: 123099
2011-01-08 23:10:59 +00:00
Rafael Espindola 45e6c195d7 First step in fixing PR8927:
Add a unnamed_addr bit to global variables and functions. This will be used
to indicate that the address is not significant and therefore the constant
or function can be merged with others.

If an optimization pass can show that an address is not used, it can set this.

Examples of things that can have this set by the FE are globals created to
hold string literals and C++ constructors.

Adding unnamed_addr to a non-const global should have no effect unless
an optimization can transform that global into a constant.

Aliases are not allowed to have unnamed_addr since I couldn't figure
out any use for it.

llvm-svn: 123063
2011-01-08 16:42:36 +00:00
David Greene 2f7cf7fcb4 Rename lisp-like functions as suggested by Gabor Greif as loooong time
ago.  This is both easier to learn and easier to read.

llvm-svn: 123001
2011-01-07 17:05:37 +00:00
Owen Anderson b6e4ff0d85 Stub out a new updating interface to AliasAnalysis, allowing stateful analyses to be informed when
a pointer value has potentially become escaping.  Implementations can choose to either fall back to
conservative responses for that value, or may recompute their analysis to accomodate the change.

llvm-svn: 122777
2011-01-03 21:38:41 +00:00
Owen Anderson 4423070356 We can count properly.
llvm-svn: 122773
2011-01-03 21:08:22 +00:00
David Greene dc276c315c Reapply 122341 to fix PR8199 now that clang changes are in.
llvm-svn: 122754
2011-01-03 17:30:25 +00:00
Nick Lewycky 80b2e8151e Further expand what a call graph pass may do.
The rationale is that after analyzing a function in the SCC, we may want to
modify it in a way that requires us to update its uses (f.e. to replace the
call with a constant) or its users (f.e. to call it with fewer arguments).

llvm-svn: 122739
2011-01-03 06:16:07 +00:00
Nick Lewycky 00f1b801b1 Permit CallGraphSCCPasses readonly access to the direct callers of the functions
in their SCC as they already have with the direct callees.

llvm-svn: 122734
2011-01-03 04:01:44 +00:00
Duncan Sands 7f3a656624 Correct a bunch of mistakes which meant that the example pass didn't
even compile, let alone work.

llvm-svn: 122657
2011-01-01 17:37:07 +00:00
Duncan Sands f5897f8aa0 I was unable to get the instructions to work if LLVM was built
using a separate objects directory.

llvm-svn: 122656
2011-01-01 17:28:49 +00:00
Duncan Sands 92ad41f99e Clarify that the loadable module turns up in the top-level directory,
not locally.

llvm-svn: 122655
2011-01-01 17:21:58 +00:00
Erick Tryzelaar 5d556ab160 Add a reference to the OCamlLangImpl8.
llvm-svn: 122651
2011-01-01 03:29:25 +00:00
Erick Tryzelaar 619714a65b Add an OCaml tutorial page 8
llvm-svn: 122650
2011-01-01 03:27:43 +00:00
Tobias Grosser 4c8c95b099 Integers are primitive types. Update the documentation to state this
This was done for label, void, floating point, x86mmx, metadata,
just not integer.

llvm-svn: 122606
2010-12-28 20:29:31 +00:00
David Greene be57ab185f Revert 122341. It breaks some darwin tests.
llvm-svn: 122346
2010-12-21 17:25:43 +00:00
David Greene a93adab324 Fix PR 8199. This patch prepends the build tool dir to LLVM programs
being tested.  This ensures that we test the tools just built and not
some random tools that might happen to be in the user's PATH.  This
makes LLVM testing much more stable and predictable.

llvm-svn: 122341
2010-12-21 16:55:53 +00:00
Bill Wendling 510504a6e8 Grammar corrections and some formatting changes.
llvm-svn: 122312
2010-12-21 03:31:05 +00:00
Wesley Peck 671d54d5a2 Update the target feature matrix to reflect some new features in the MBlaze backend.
llvm-svn: 122276
2010-12-20 21:54:50 +00:00
Oscar Fuentes 7064035998 New cmake option LLVM_APPEND_VC_REV for controlling when the VC
revision id is appended to the LLVM version string. Defaults to
OFF.

Until now the VC revision id was always appended to the revision
string whenever cmake was invoked (either explicitly or implicitly
because a cmake source file changed). This was causing massive
recompilations because config.h are reconfigured with the new contents
of PACKAGE_VERSION.

llvm-svn: 122240
2010-12-20 09:47:13 +00:00
Bruno Cardoso Lopes 8e303e896e Update the Target Feature Matrix for Mips
llvm-svn: 122203
2010-12-19 22:41:43 +00:00
Dan Gohman e1d8d3a2e4 Fix a typo that Bill spotted.
llvm-svn: 121909
2010-12-15 23:09:41 +00:00
Dan Gohman b3f04f468e Document some more AliasAnalysis infrastructure limitations.
llvm-svn: 121874
2010-12-15 18:45:20 +00:00
Bill Wendling 5d32b70967 Add mention that we support FreeBSD/amd64.
llvm-svn: 121832
2010-12-15 01:35:55 +00:00
Jakob Stoklund Olesen 36eab1cee4 Add IntervalMap to the Programmer's Manual.
llvm-svn: 121740
2010-12-14 00:55:51 +00:00
Chris Lattner bd61444cb9 further fixes.
llvm-svn: 121657
2010-12-13 00:17:12 +00:00
Chris Lattner 053a025bfe fix typo
llvm-svn: 121620
2010-12-12 02:42:57 +00:00
Dan Gohman 4bd64fa805 Introduce a new PartialAlias response for AliasAnalysis. For most
AliasAnalysis consumers, PartialAlias will be treated as MayAlias.

For AliasAnalysis chaining, MayAlias says "procede to the next analysis".
PartialAlias will be used to indicate that the query should terminate,
even though it didn't reach MustAlias or NoAlias.

llvm-svn: 121507
2010-12-10 19:38:58 +00:00
Eric Christopher 775608995c Use GZIPBIN instead of GZIP. Apparently gzip uses GZIP as an environment
variable for args you want to default pass to gzip.

Patch based on one by asau@inbox.ru.

Fixes PR8758.

llvm-svn: 121449
2010-12-10 01:31:51 +00:00
Chris Lattner 02093e1f0b fix some validation problems
llvm-svn: 121444
2010-12-10 00:54:03 +00:00
Chris Lattner 77c8cc8fc9 restructure this for readability, correct the example to follow the public ivar name convention
llvm-svn: 121443
2010-12-10 00:52:35 +00:00
Chris Lattner 7365a2838b add a rule for enums, patch by Zhanyong Wan!
llvm-svn: 121430
2010-12-09 23:32:39 +00:00
Bill Wendling 2eeba63215 Fix the prototype for the llvm.eh.selector intrinsic.
llvm-svn: 121425
2010-12-09 23:05:48 +00:00
Bill Wendling 7a05f00ade Fix newlines.
llvm-svn: 121233
2010-12-08 02:46:25 +00:00
Frits van Bommel 7cf63ace18 Clarify some of the differences between indexing with getelementptr and indexing with insertvalue/extractvalue.
llvm-svn: 120957
2010-12-05 20:54:38 +00:00
Zhanyong Wan 4f3b26de28 Add naming rules to the coding standards.
llvm-svn: 120689
2010-12-02 05:10:07 +00:00
Chris Lattner 9db8e15f4d forbid rtti and exceptions
llvm-svn: 120450
2010-11-30 19:20:40 +00:00
Nick Lewycky 2965d3e3cd Make @llvm.invariant.start not be readonly, so that it has side-effects. This
unbreaks test/Transforms/InstCombine/invariant.ll which was broken by r120382.
This is a fix-forward to do what I think Chris intended.

llvm-svn: 120388
2010-11-30 04:13:41 +00:00
Oscar Fuentes e1c6a67df6 Bump required cmake version on CMake.html.
llvm-svn: 120162
2010-11-25 21:41:48 +00:00
Zhanyong Wan 19b96fd4ee Fix formatting nits in the coding standards. Reviewed by clattner.
llvm-svn: 119998
2010-11-23 05:03:07 +00:00
Wesley Peck 527da1b6e2 Renaming ISD::BIT_CONVERT to ISD::BITCAST to better reflect the LLVM IR concept.
llvm-svn: 119990
2010-11-23 03:31:01 +00:00
Chris Lattner d78dbee431 a byval argument without an align can have an arbitrary alignment
requirement on the input pointer.

llvm-svn: 119914
2010-11-20 23:49:06 +00:00