Commit Graph

47 Commits

Author SHA1 Message Date
Chris Lattner
7ed47a1335 Don't attribute in file headers anymore. See llvmdev for the
discussion of this change.  Boy are my fingers tired. ;-)



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45411 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 19:59:42 +00:00
Gordon Henriksen
afba8fe662 Reverting dtor devirtualization patch.
_sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed
_sabre_: the vtable lives to fight another day

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44760 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-10 02:14:30 +00:00
Gordon Henriksen
ed455c8fa2 Devirtualizing Value destructor (PR889). Patch by Pawel Kunio!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44747 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-09 22:46:10 +00:00
Reid Spencer
276222a5ae Change casts from old style to new style. This helps document the details
better, gives the compiler a chance to validate the cast and reduces warnings
if the user turns on -Wold-style-cast option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41033 91177308-0d34-0410-b5e6-96231b3b80d8
2007-08-12 08:12:35 +00:00
Gabor Greif
a99be51bf5 Here is the bulk of the sanitizing.
Almost all occurrences of "bytecode" in the sources have been eliminated.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37913 91177308-0d34-0410-b5e6-96231b3b80d8
2007-07-05 17:07:56 +00:00
Anton Korobeynikov
bd4e080a16 Fix comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36596 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-30 19:14:56 +00:00
Anton Korobeynikov
6f9896fcc8 Implement protected visibility. This partly implements PR1363. Linker
should be taught to deal with protected symbols.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36565 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-29 18:35:00 +00:00
Anton Korobeynikov
a80e1181b7 Implement review feedback. Aliasees can be either GlobalValue's or
bitcasts of them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36537 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-28 13:45:00 +00:00
Anton Korobeynikov
8b0a8c84da Implement aliases. This fixes PR1017 and it's dependent bugs. CFE part
will follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-25 14:27:10 +00:00
Jeff Cohen
728e0e3173 Implement review feedback.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36342 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-22 15:11:24 +00:00
Jeff Cohen
8c28c467f6 Fix breakage of bytecode reader when built with VC++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36303 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-21 15:29:13 +00:00
Chris Lattner
18feb92e91 merge several fields in GlobalValue to use the same word, move CallingConv
field into SubclassData in Value.  This shrinks GlobalVAlue from 48->40
bytes, Function from 88->76, and GlobalVariable from 76->68.  This trims
4640 bytes off my testcase, reading a bc file without materializing any
functions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36192 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-17 04:31:29 +00:00
Dan Gohman
a1a702cdd2 Rename Value::getValueType to getValueID, to avoid confusion with
other things named getValueType.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35964 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-13 18:12:09 +00:00
Chris Lattner
1cf5574636 Rework GlobalValue::removeDeadConstantUsers to always remove dead constant
exprs hanging off a global, even if the global is not otherwise dead.  This
requires some tricky iterator gymnastics.

This implements Transforms/GlobalOpt/constantexpr-dangle.ll by deleting a
constantexpr that made it appear that the address of the function was taken.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34608 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-25 21:06:13 +00:00
Chris Lattner
dec628eead Switch ValueSymbolTable to use StringMap<Value*> instead of std::map<std::string, Value*>
as its main datastructure.  There are many improvements yet to be made, but
this speeds up opt --std-compile-opts on 447.dealII by 7.3%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34193 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 05:18:08 +00:00
Reid Spencer
5cbf985dcb For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30 20:08:39 +00:00
Reid Spencer
13d0b528ee Add some comments, fix an 80 cols violation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33576 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 04:42:50 +00:00
Anton Korobeynikov
7f70559bc4 * PIC codegen for X86/Linux has been implemented
* PIC-aware internal structures in X86 Codegen have been refactored
* Visibility (default/weak) has been added
* Docs fixes (external weak linkage, visibility, formatting)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33136 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 19:20:47 +00:00
Reid Spencer
ce10f8bb68 Fix some 80 col violations.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32286 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 20:28:46 +00:00
Anton Korobeynikov
b74ed07bfd Adding dllimport, dllexport and external weak linkage types.
DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-14 18:23:27 +00:00
Chris Lattner
7a13354dde Add support for putting globals in a particular section
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24309 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-12 00:09:49 +00:00
Chris Lattner
3aef571287 Make sure to initialize the alignment field
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24222 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-06 08:22:18 +00:00
Chris Lattner
b2f71b12f7 allow functions and modules to have an explicit alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24209 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-06 06:44:42 +00:00
Chris Lattner
70cfe13f19 Remove some dead argument names which irritates GCC at certain warning levels.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23979 91177308-0d34-0410-b5e6-96231b3b80d8
2005-10-25 17:59:28 +00:00
Misha Brukman
9769ab2226 Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21408 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 20:19:05 +00:00
Chris Lattner
f68563ff8a Add doxygen comments, patch contributed by Evan Jones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21397 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 16:10:03 +00:00
Chris Lattner
5181ac8081 Adjust to changes in the User class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19888 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29 00:33:00 +00:00
Chris Lattner
1840f3ce7f Add an accessor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 23:20:19 +00:00
Misha Brukman
f2cdf5e934 Add GhostLinkage for marking functions before they're fully materialized
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17747 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:02:28 +00:00
Chris Lattner
f962ac798a Change method to return void. Inline dtor
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14982 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-19 00:55:19 +00:00
Reid Spencer
8cf4c8cd05 Fix typeos in comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14954 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 00:55:49 +00:00
Reid Spencer
118c091fd7 bug 122:
- derive from Constant
- declare needed overrides from Constant class


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14920 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:28:28 +00:00
Chris Lattner
bbd913bb6d Implement a new method useful for things like the inliner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14768 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-12 01:17:52 +00:00
Chris Lattner
8b70b78ba4 Fixes for PR114: Thanks to Reid Spencer!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10029 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-16 20:21:15 +00:00
Brian Gaeke
d0fde30ce8 Put all LLVM code into the llvm namespace, as per bug 109.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
John Criswell
6fbcc26f14 Added LLVM copyright header (for lack of a better term).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 20:19:47 +00:00
Chris Lattner
e63540307d Add weak linking type
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9168 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-16 18:27:04 +00:00
Chris Lattner
48486893f4 Standardize header file comments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-30 18:37:50 +00:00
Chris Lattner
4ad02e726d Add new linkage types to support a real frontend
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5786 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-16 20:28:45 +00:00
Chris Lattner
4bbd839d10 Make isExtern() be a virtual function inherited from GlobalValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4101 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-09 23:11:33 +00:00
Chris Lattner
fab8c796f6 * Clean up some comments
* Move code out of header file to .cpp files, to make future changes easier
* Add arguments to classes so that they can be automatically inserted into their
  parent structure upon creation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3604 91177308-0d34-0410-b5e6-96231b3b80d8
2002-09-06 21:31:57 +00:00
Chris Lattner
785bfcca13 Add a forward defn for Module since it's no longer in Value.h
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2344 91177308-0d34-0410-b5e6-96231b3b80d8
2002-04-28 04:45:05 +00:00
Chris Lattner
19b0411c95 Transform uses of Method into uses of Function.
Rename MethodArgument to FunctionArgument
Fix some _really_ out of date comments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1986 91177308-0d34-0410-b5e6-96231b3b80d8
2002-03-26 17:48:08 +00:00
Chris Lattner
697954c15d Changes to build successfully with GCC 3.02
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1503 91177308-0d34-0410-b5e6-96231b3b80d8
2002-01-20 22:54:45 +00:00
Chris Lattner
6197b0fe54 Implement "internal vs external linkage" which corresponds to the C notion of static
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1362 91177308-0d34-0410-b5e6-96231b3b80d8
2001-11-26 18:46:40 +00:00
Chris Lattner
4387370c1c Factor parentness out of Module & GlobalVariable into GlobalValue
Implement SymbolTable debug/dump utility


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@710 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 19:28:15 +00:00
Chris Lattner
ef9c23f281 * Both Method & GlobalVariable now subclass GlobalValue
* ConstPoolPointerReference now represents a pointer to a GlobalValue
* Methods name references are now explicit pointers to methods
* Rename Value::GlobalVal to Value::GlobalVariableVal to avoid confusion


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@703 91177308-0d34-0410-b5e6-96231b3b80d8
2001-10-03 14:53:21 +00:00