Commit Graph

26 Commits

Author SHA1 Message Date
Rafael Espindola
bea4626f93 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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123063 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-08 16:42:36 +00:00
Chris Lattner
61c70e98ac remove unions from LLVM IR. They are severely buggy and not
being actively maintained, improved, or extended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112356 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-28 04:09:24 +00:00
Chris Lattner
299f424f44 expand on the llvm ir bitcode dox. Patch by Peter Housel!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104391 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-21 22:20:54 +00:00
mike-m
e2c3a49c80 Revert r103213. It broke several sections of live website.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103219 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-07 00:28:04 +00:00
mike-m
68cb31901c Overhauled llvm/clang docs builds. Closes PR6613.
NOTE: 2nd part changeset for cfe trunk to follow.

*** PRE-PATCH ISSUES ADDRESSED

- clang api docs fail build from objdir
- clang/llvm api docs collide in install PREFIX/
- clang/llvm main docs collide in install
- clang/llvm main docs have full of hard coded destination
  assumptions and make use of absolute root in static html files;
  namely CommandGuide tools hard codes a website destination
  for cross references and some html cross references assume
  website root paths

*** IMPROVEMENTS

- bumped Doxygen from 1.4.x -> 1.6.3
- splits llvm/clang docs into 'main' and 'api' (doxygen) build trees
- provide consistent, reliable doc builds for both main+api docs
- support buid vs. install vs. website intentions
- support objdir builds
- document targets with 'make help'
- correct clean and uninstall operations
- use recursive dir delete only where absolutely necessary
- added call function fn.RMRF which safeguards against botched 'rm -rf';
  if any target (or any variable is evaluated) which attempts
  to remove any dirs which match a hard-coded 'safelist', a verbose
  error will be printed and make will error-stop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-06 23:45:43 +00:00
Chris Lattner
f958dd2e1c reduce redundant are's.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94008 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20 17:53:51 +00:00
Chris Lattner
5c303e85bd greatly improve the LLVM IR bitcode encoding documentation,
patch by Peter Housel!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85479 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-29 04:25:46 +00:00
Benjamin Kramer
8040cd3cfd Documentation: Perform automated correction of common typos.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83849 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 14:46:08 +00:00
Benjamin Kramer
e15192b36b Documentation: fix HTML validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78196 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-05 15:42:44 +00:00
Chris Lattner
f9a3ec86c1 Add two new record types to the blockinfo block:
BLOCKNAME and SETRECORDNAME.  This allows a bitcode
file to be self describing with pretty names for 
records and blocks in addition to numbers.  This
enhances llvm-bcanalyzer to use this to print prettily.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70165 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-26 22:21:57 +00:00
Chris Lattner
dcd006bf7b add a new Blob encoding abbreviation for bitcode files that emits
elements in a form that is efficient for the reader to just get a
pointer in memory and start reading.  APIs to do efficient reading
and writing are still todo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68465 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06 21:50:39 +00:00
Chris Lattner
63c3ffc16a clean up some html
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68456 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-06 20:35:19 +00:00
Bill Wendling
903bcc4a5a Fix some HTML validation errors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68427 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-04 22:36:02 +00:00
Bill Wendling
bb7425fafb General clean-up of the bitcode format documentation. Having the paragraphs
formatted the same, putting words in <tt> tags, adding &mdash;s, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68426 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-04 22:27:03 +00:00
Chris Lattner
217b919cf9 fix some validation problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68026 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-30 06:34:59 +00:00
Misha Brukman
444087057a Global replace of yellow W3C "valid HTML/CSS" icons with blue ones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60880 91177308-0d34-0410-b5e6-96231b3b80d8
2008-12-11 17:34:48 +00:00
Chris Lattner
6fa6a32e4e Add a little wrapper header that is put around bc files when emitting
bc files for modules with a target triple that indicates they are for
darwin.  The reader unconditionally handles this, and the writer could
turn this on for more targets if we care.

This change has two benefits for darwin:

1) it allows us to encode the cpu type of the file in an easy to read
   place that doesn't require decoding the bc file.
2) it works around a bug (IMO) in darwin's AR where it is incapable of
   handling files that are not a multiple of 8 bytes long.  BC files
   are only guaranteed to be multiples of 4 bytes long.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53275 91177308-0d34-0410-b5e6-96231b3b80d8
2008-07-09 05:14:23 +00:00
Chris Lattner
f19b8e43b3 Various improvements to the documentation, contributed by
Joshua Haberman!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42763 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-08 18:42:45 +00:00
Chris Lattner
69b3e40196 add initial description of llvm top-level stuff.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37017 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-13 01:39:44 +00:00
Chris Lattner
7300af5896 finish the description of the bitstream format.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37016 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-13 00:59:52 +00:00
Reid Spencer
58d054783d Fix a grammaro.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37005 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-12 08:01:52 +00:00
Chris Lattner
f1d64e90b3 fix typo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37004 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-12 07:50:14 +00:00
Chris Lattner
daeb63c220 continued description
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37003 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-12 07:49:15 +00:00
Chris Lattner
3a1716db58 add a bunch of content.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37002 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-12 05:37:42 +00:00
Chris Lattner
e9ef4573e2 first step
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37001 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-12 03:23:40 +00:00
Reid Spencer
2c1ce4f28e Initial template for the 2.0 Bitcode format that will replace the 1.x
Bytecode format.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33412 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-20 23:21:08 +00:00