Chris Lattner
edac2d1a80
recognize llvm.prefetch. Patch contributed by Justin Wick!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20377 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-28 19:28:00 +00:00
Chris Lattner
6f72282e02
Verify llvm.prefetch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20376 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-28 19:27:42 +00:00
Chris Lattner
aab1820816
Fix some problems where the verifier would crash on invalid input instead of
...
reporting the problem and exiting.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20302 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 16:58:29 +00:00
Chris Lattner
d1a326006d
switch instructions only allow constantints for their values, be more specific.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20298 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 05:32:09 +00:00
Chris Lattner
ad993cbb77
add a new method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20293 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-24 02:37:26 +00:00
Chris Lattner
1f21ef1511
make this more efficient. Scan up to 16 nodes, not the whole list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20289 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 16:53:04 +00:00
Chris Lattner
8daf056c90
new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20288 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 16:51:11 +00:00
Chris Lattner
35f0aecdb0
Reduce the amount of searching this assertion does. On a testcase of mine,
...
this reduces the time for -simplifycfg in a debug build from 106s to 14.82s
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20286 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-23 07:09:08 +00:00
Chris Lattner
1117bb0e99
Nuke blank line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20154 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-13 17:54:21 +00:00
Chris Lattner
fe0343a1cd
Fix test/Regression/Assembler/2005-02-09-AsmWriterStoreBug.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20089 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-09 17:45:03 +00:00
Chris Lattner
286629736f
Instead of initializing the volatile field, use accessors to set it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20045 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-05 01:38:38 +00:00
Chris Lattner
905547b02b
Initialize new field.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20044 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-05 01:37:58 +00:00
Chris Lattner
29d1ca6c42
Updates for new use list changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19961 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-01 01:24:21 +00:00
Chris Lattner
5c461404fe
Update for API change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19960 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-01 01:24:01 +00:00
Chris Lattner
bca81448ac
Improve conformance with the Misha spelling benchmark suite
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19930 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-30 00:09:23 +00:00
Chris Lattner
3cf8e6857e
Adjust to ilist changes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19923 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29 18:41:12 +00:00
Chris Lattner
1f377fcaad
Make sure that we always grow a multiple of 2 operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19902 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29 01:05:12 +00:00
Chris Lattner
96d83f63cd
Adjust to changes in User class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19892 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29 00:35:33 +00:00
Chris Lattner
b12261ac69
Merge InstrTypes.cpp into this file
...
Adjust to changes in the User class, operand handling is very different.
PHI node and switch statements must handle explicit resizing of operand
lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19891 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29 00:35:16 +00:00
Chris Lattner
e467147b30
Adjust to changes in User class. Aggregate constants now must explicitly
...
manage their operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19890 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29 00:34:39 +00:00
Chris Lattner
265287f714
This file is now merged into Instructions.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19889 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-29 00:33:32 +00:00
Chris Lattner
f4aa3351de
Fix a nasty thinko in my previous commit.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19881 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-28 23:17:27 +00:00
Chris Lattner
ce04a6d7f6
Fix ConstProp/2005-01-28-SetCCGEP.ll: indexing over zero sized elements does
...
not change the address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19874 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-28 19:09:51 +00:00
Misha Brukman
1bae291cb9
Fix grammar
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19854 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-27 06:46:38 +00:00
Jeff Cohen
5fb6ed4ae6
Use binary mode for reading/writing bytecode files
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19751 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-22 17:36:17 +00:00
Chris Lattner
353c3e4981
Add missing entry.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19712 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-20 17:32:28 +00:00
Chris Lattner
57bf3287dd
implement these methods.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19571 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-15 06:52:40 +00:00
Chris Lattner
9a791eaf8f
Make this compatible with the HP/intel compiler. Fix by Duraid, thanks!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19548 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-14 15:53:26 +00:00
Chris Lattner
7d7a0ed4ec
Allow arrays to have more than 4G elements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19395 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-08 20:19:51 +00:00
Chris Lattner
fe59d36c45
Add convenience method.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19321 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-07 07:40:32 +00:00
Chris Lattner
488742a28e
No need to pessimize current code for future possibilities.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19311 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-06 16:26:38 +00:00
Chris Lattner
71d94d16b6
To not break TBAA rules, use a union.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19280 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-04 01:56:57 +00:00
Chris Lattner
f5ac6c27ac
Allow getZeroExtend and getSignExtend to work with boolean inputs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19210 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 15:59:57 +00:00
Chris Lattner
56998b26ae
Add a verifier assertion
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18965 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-15 20:23:49 +00:00
Chris Lattner
fcdd82e4a9
Change this method to return ulong, not uint, for 64-bit targets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-13 19:48:51 +00:00
Chris Lattner
f23586c7ef
Check in the file I forgot last night, to solve all of the crashes in every
...
test in the suite. :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18804 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-11 22:10:29 +00:00
Alkis Evlogimenos
9913e59678
Fix writer to properly quote label names when they don't contain
...
simple characters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18744 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-10 05:41:10 +00:00
Chris Lattner
1d875b854c
Work correctly with MSVC and ICC, patch contributed by Bjørn Wennberg
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18631 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-08 16:22:48 +00:00
Reid Spencer
574cdb32a0
Revert the recent patches to "fix" ConstantFP::isValueValidForType. None
...
of them seem to work everywhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18598 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-07 07:38:08 +00:00
Reid Spencer
e2432596ac
Provide a missing header file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18597 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-07 07:08:08 +00:00
Reid Spencer
79457c791e
Fix some comments.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18596 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-07 07:06:47 +00:00
Alkis Evlogimenos
eb61d60e1b
Fix check for valid floats. Also use and HUGE_VALF instead
...
of std::numeric_limits, because they work in more platforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18593 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-07 06:46:50 +00:00
Reid Spencer
ce9653ce44
For PR387:\
...
Make only one print method to avoid overloaded virtual warnings when \
compiled with -Woverloaded-virtual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18589 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-07 04:03:45 +00:00
Reid Spencer
b9ce8b3f1b
For PR409: \
...
Test the range of float constants to ensure we are not attempting to create a \
float constant using a double value that is out of range for a float
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18585 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-06 22:18:37 +00:00
Chris Lattner
333529e6be
When printing out a function, make sure that local and global symbols
...
don't conflict. This fixes Assembler/2004-12-05-LocalGlobalSymtabConflict.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18532 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 06:44:09 +00:00
Chris Lattner
caa4ae7c3f
Add a new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18531 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-05 06:43:27 +00:00
Alkis Evlogimenos
4f4cf99a86
Check if a block has a terminator first before calling front() on
...
it. If a block has a terminator then it is certainly non-empty so the
verifier will not crash on it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18484 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-04 02:30:42 +00:00
Alkis Evlogimenos
8b42b43dc2
Make error msg reflect what exactly went wrong.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18478 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-04 01:25:06 +00:00
Chris Lattner
f0228053f8
Get GEP's working with packed types. Contributed by Morten Ofstad!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18404 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-01 17:12:16 +00:00
Chris Lattner
38f1455393
Add method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18368 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 02:51:53 +00:00
Chris Lattner
ddc4860c1d
Fix test/Regression/CFrontend/2003-11-01-EmptyStructCrash.c
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18115 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-22 19:15:27 +00:00
Chris Lattner
9945826d50
Fix memory leaks, patch contributed by Morten Ofstad!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17999 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 17:09:48 +00:00
Chris Lattner
8a7ad2d2c5
Add hooks to free all memory allocated by the singleton factories in these
...
files. Patch contributed by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17995 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 16:39:44 +00:00
Chris Lattner
18e6c22f05
These methods are inlined
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17958 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-18 17:47:13 +00:00
Alkis Evlogimenos
859804f529
Make ReturnInst accept a value of type void as the return value. The
...
ReturnInst constructed is the same as if NULL was passed instead of
the void value.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17923 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-17 21:02:25 +00:00
Chris Lattner
1b9fe1cbbe
Generalize this code to turn any cast-to-first-element-of into a gep constexpr
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17914 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-17 17:59:35 +00:00
Chris Lattner
bcb31d645d
Minor cleanup and speedup. This reduces link-time for 252.eon from 35.5s
...
to 34.7s with a profile build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17906 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 20:39:04 +00:00
Chris Lattner
8511c351dc
Make this function work with non-abstract types.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17905 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 20:30:53 +00:00
Misha Brukman
f771bea740
Remove extra space char
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17834 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-15 19:30:05 +00:00
Reid Spencer
5e081fb74a
Moved to lib/Linker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17786 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:15:31 +00:00
Misha Brukman
3c8f2c66e5
GhostLinkage not allowed in LLVM AsmWriter, either
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17751 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 21:04:34 +00:00
Reid Spencer
07adb2836b
Stop propagating method names that violate the coding standard
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17498 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-05 22:15:36 +00:00
Misha Brukman
e7a3f3e728
The Alpha (tm) intrinsics have never been used anywhere
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17340 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-29 18:43:17 +00:00
Alkis Evlogimenos
56a2468b68
Gep indices must be of int, uint, long or ulong type.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17313 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-28 06:43:38 +00:00
Reid Spencer
6cb21d443e
Change Library Names Not To Conflict With Others When Installed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17286 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 23:18:45 +00:00
Chris Lattner
1fca5ff62b
Convert 'struct' to 'class' in various places to adhere to the coding standards
...
and work better with VC++. Patch contributed by Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17281 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-27 16:14:51 +00:00
Alkis Evlogimenos
6edde961e2
Make this actually work.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17199 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 03:02:16 +00:00
Alkis Evlogimenos
60ab140298
Add ConstantExpr::getSizeOf(Type*).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17196 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-24 01:41:10 +00:00
Reid Spencer
cac731ecbe
We won't use automake
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17155 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-22 03:35:04 +00:00
Reid Spencer
86d341b204
Initial automake generated Makefile template
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17136 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-18 23:55:41 +00:00
Chris Lattner
cfbf9faaa4
fold gep undef, ... -> undef
...
This comes up many times in perlbmk and probably others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17100 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-17 21:54:55 +00:00
Chris Lattner
35f92ae3af
Fix constant folding relational operators with undef operands.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17077 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-17 04:01:51 +00:00
Chris Lattner
71d3778c0b
Implement constant folding of undef values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17070 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16 23:31:32 +00:00
Chris Lattner
b976e66816
Add support for undef and unreachable
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17041 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16 18:08:06 +00:00
Chris Lattner
b9f18592a6
Implement UndefValue class
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17040 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-16 18:07:16 +00:00
Chris Lattner
795948a5d1
Move the implementation of the instructions clone methods to this file so
...
that the vtables for these classes are only instantiated in this translation
unit, not in every xlation unit they are used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17026 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-15 23:52:53 +00:00
Misha Brukman
961ca77e5b
Add a space between the type and name of value when printing error message
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17022 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-15 23:08:50 +00:00
Chris Lattner
a06b3af2fe
Make sure any client of Dominators.h links in Dominators.cpp
...
Patch by Morten Ofstad
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16987 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-14 15:47:16 +00:00
Reid Spencer
d96cb6eaa0
Update to reflect changes in Makefile rules.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16950 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-13 11:46:52 +00:00
Chris Lattner
a28809d1fd
Minor tweaks
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16929 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 04:32:37 +00:00
Chris Lattner
4ec82eb1de
Implement a new method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16927 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-12 04:20:25 +00:00
Chris Lattner
7fa6e666ec
Allow creation of GEP constantexprs with a vector of value* operands as
...
well as a vector of constant*'s. It turns out that this is more efficient
and all of the clients want to do that, so we should cater to them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16923 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-11 22:52:25 +00:00
Chris Lattner
4b83380f33
Implement remove/eraseFromParent methods
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16922 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-11 22:21:39 +00:00
Chris Lattner
f8d1097e9d
If we are trying to create a ConstantExpr cast that is really a GEP to the
...
first element of an array, return a GEP instead of a cast. This allows us
to transparently fold this:
int* getelementptr (int* cast ([100 x int]* %Gbody to int*), int 40)
into this:
int* getelementptr ([100 x int]* %Gbody, int 0, int 40)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16911 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-11 03:57:30 +00:00
Reid Spencer
81f76b324e
Initial version of automake Makefile.am file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16893 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-10 22:20:40 +00:00
Chris Lattner
a6b10b6fcc
Unfortunately the fix for the previous bug introduced the previous
...
exponential behavior (bork!). This patch processes stuff with an
explicit SCC finder, allowing the algorithm to be more clear,
efficient, and also (as a bonus) correct! This gets us back to taking
0.6s to disassemble my horrible .bc file that previously took something
> 30 mins.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16811 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 19:20:48 +00:00
Chris Lattner
f464ab5b86
Fix a bug in my previous change. Unfortunately this reverts most of the
...
speedup, but has the advantage of not breaking a bunch of programs!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16806 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-07 16:19:40 +00:00
Chris Lattner
b5c16705fd
Change Type::isAbstract to have better comments, a more correct name
...
(PromoteAbstractToConcrete), and to use a set to avoid recomputation.
In particular, this set eliminates the potentially exponential cases
from this little recursive algorithm.
On a particularly nasty testcase, llvm-dis on the .bc file went from 34
minutes (which is when I killed it, it still hadn't finished) to 0.57s.
Remember kids, exponential algorithms are bad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16772 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-06 16:36:46 +00:00
Chris Lattner
d4984cca0e
Make sure the const bit gets inherited correctly when linking declarations
...
of disagreeing constness. This fixes
test/Regression/Linker/ConstantGlobals[123].ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16692 91177308-0d34-0410-b5e6-96231b3b80d8
2004-10-05 02:28:11 +00:00
Chris Lattner
0030e6c5c5
Make sure to check select instructions for generic instruction properties
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16597 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-29 21:19:28 +00:00
Chris Lattner
a7b1c7ec7c
Don't use DominatorSet::dominates for intra-block instruction dom checks.
...
This method is linear time in the size of the basic block, which is very
bad for large basic blocks. On the Assembler/2004-09-29-VerifierIsReallySlow.llx
testcase, the verifier changes from taking 50s to 0.23s with this patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16593 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-29 20:07:45 +00:00
Chris Lattner
b12914bfc0
'Pass' should now not be derived from by clients. Instead, they should derive
...
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16436 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:48:05 +00:00
Chris Lattner
bba61c07dd
'Pass' should now not be derived from by clients. Instead, they should derive
...
from ModulePass. Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
Also, fix some undefined behavior, expecting | on booleans to evaluate
left-to-right.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16435 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-20 04:47:19 +00:00
Alkis Evlogimenos
e0de1d64be
When creating constant arrays check that the initializer vector is the
...
same size as the one in the array type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16354 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-15 02:32:15 +00:00
Reid Spencer
1c7b907325
Okay, the list of link-time passes wasn't such a hot idea. Its prone to
...
error. We'll strategize on this when we have multiple front ends to deal
with. For now llvm-ld just runs a standard set of transforms.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16333 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 05:43:23 +00:00
Chris Lattner
44da7d7976
Don't print newlines between passes in the pass list.
...
Note to self: sentences end with ".", not "...".
Note to reid: sentences end with ".", not "". :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16332 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 05:06:58 +00:00
Chris Lattner
cfe97b78e7
Don't print newlines between each library in the deplibs list.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16331 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-14 04:51:44 +00:00
Reid Spencer
e59eaf407a
Add support for the link-time pass list to Modules.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16321 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-13 23:44:23 +00:00
Reid Spencer
57a0efa322
Implement support for dependent libraries. The "source" module's dependent
...
libraries list is merged into the "destination" module's list. Also, if the
source module is one of the dependent libraries, it is removed from the
list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16282 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-11 04:25:17 +00:00
Alkis Evlogimenos
cad90ad162
Add assertion descriptiosn on type mismatches when creating
...
ConstantArray and ConstantPacked objects.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16261 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-10 04:16:59 +00:00
Reid Spencer
551ccae044
Changes For Bug 352
...
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Reid Spencer
1390103887
Add an assert to cature null Operands. It is better to catch it here than
...
to SIGSEGV in the bowels of isa<...> later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16098 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:37:59 +00:00
Reid Spencer
1f079267dc
Give the -time-passes tool option a global storage location so that its
...
value can be discovered by the various LLVM tools.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16032 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-24 17:52:35 +00:00
Chris Lattner
72cf7df6a3
Fix a nasty bug that Nate ran into. In particular, instead of emitting a 2+MB
...
error message, print out:
llvm-link: error linking in 'g.2.rbc': Global Variable Collision on
' %struct.D_Reduction* %d_reduction_10_gram' - External linkage globals have
different initializers
That's a bit more concise, huh?
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15958 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-21 00:50:59 +00:00
Reid Spencer
5527c0b6d1
Fix a bug found exposed by: Regression/Other/2004-08-20-PackedControlFlow.ll
...
Packed types need to be allowed in type statements too.
Patch provided by Brad Jones.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15953 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 15:37:30 +00:00
Brian Gaeke
715c90ba52
Packed types, brought to you by Brad Jones
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15938 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-20 06:00:58 +00:00
Chris Lattner
91b362bba9
Check constant expression validity more strictly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15883 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 17:28:46 +00:00
Chris Lattner
97f3e37f00
Allow an arbitrary prefix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15865 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-17 06:06:54 +00:00
Reid Spencer
28531c71cd
Fix PR422.
...
Ouch! Changes in the lazy initialization code caused each incorporated
function to reprocess the entire function on every lookup of a value's
slot number. This caused a horrible slowdown in all functions. This
fix made llvm-dis go from "longer than I care to wait" (minutes) on a large
test case to 0.53 seconds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15818 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-16 07:46:33 +00:00
Alkis Evlogimenos
8fabb621b1
Split assertion to two in order to give better assertion messages.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15543 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-06 14:33:37 +00:00
Alkis Evlogimenos
8243976b69
Make GlobalVariable constructor assert when an initializer is of
...
incorrect type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15519 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-05 11:28:34 +00:00
Chris Lattner
aad2deb17c
Fix another minor problem that exists if you ahve multiple functions with
...
nonunifiable types but the same name. Down with PR411!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15511 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 22:39:54 +00:00
Chris Lattner
82b5b219dd
Fix a typeo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15510 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 22:29:05 +00:00
Chris Lattner
d2da229ce3
Add a hack to work around a problem my changes exposed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15509 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 22:26:13 +00:00
Chris Lattner
c3d12f0823
Fix a latent bug exposed by my recent changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15498 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 18:50:09 +00:00
Chris Lattner
868bbf35b0
Fix a major regression in my previous checkin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15486 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 08:30:43 +00:00
Alkis Evlogimenos
cc7ba49d85
Stop using getValues().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15485 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 08:08:13 +00:00
Alkis Evlogimenos
9e4c681354
Stop using getValues().
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15482 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 08:02:59 +00:00
Chris Lattner
5a837defff
FindGlobalNamed used to take 2.92s out of 8.39s running a profile build of
...
gccld -disable-opt on 252.eon.
This patch deletes it and replaces it with a map. The proper fix for this
is to fix PR411, but this will do in the short term.
gccld on eon now takes 5.51s, which is 50% faster than before this patch. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15480 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:44:58 +00:00
Chris Lattner
7b0c84dcf5
I swear I compiled this, really I did.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15467 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:28:06 +00:00
Chris Lattner
c003628a61
Factor some code out, no substantial change.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15466 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 07:05:54 +00:00
Chris Lattner
fe41069070
Concisify some code
...
Do not call FindGlobalNamed when we know we will ignore the result (because
we are not going to link a static symbol anyway). This speeds up
gccld -disable-opt on 252.eon from 8.63s to 8.39s.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15465 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 06:05:47 +00:00
Chris Lattner
6823c9f9ff
Implement a FIXME, by not searching linearly through a map to remove an
...
element. This speeds up the bytecode reader from 12.86s to 8.72s on 252.eon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15463 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 04:48:01 +00:00
Chris Lattner
07d7c9d9c5
Add a cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15457 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 02:27:17 +00:00
Chris Lattner
1c06891186
Change SymbolTable::insertEntry to be more careful about how many map
...
lookups it does. This shaves another 5% off of bcreading 252.eon. Note that
the proper solution to this problem is to fix PR411, but that will have to
wait until later.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15455 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 00:37:31 +00:00
Misha Brukman
47b14a4a6a
Fix #includes of i*.h => Instructions.h as per PR403.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15334 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 17:30:56 +00:00
Misha Brukman
44336292fc
Fix #includes of i*.h files => Instructions.h as per PR403
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15327 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 16:53:53 +00:00
Alkis Evlogimenos
91366a8541
Merge i*.cpp definitions into Instructions.cpp as part of bug403.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15326 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 12:33:25 +00:00
Alkis Evlogimenos
eb62bc77b6
Merge i*.h headers into Instructions.h as part of bug403.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15325 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-29 12:17:34 +00:00
Chris Lattner
70c7d03d1c
alloca void makes no sense
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15262 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-27 07:30:02 +00:00
Reid Spencer
cddc86f27c
Avoid use of size(), which counts, in favor of other mechanisms.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15221 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 21:44:54 +00:00
Reid Spencer
c9a1f0dcdd
Adjust to new Module.h interface for dependent libraries
...
Only write the target triple and deplibs if they are non-empty.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15216 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 21:29:43 +00:00
Reid Spencer
801db47373
bug 263:
...
Ensure the list of libraries is cleared.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15212 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 18:08:57 +00:00
Reid Spencer
83f6a77c8f
bug 263:
...
Add ability to write target triple and dependent libraries information.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15211 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 18:08:18 +00:00
Alkis Evlogimenos
89756ea109
Use name.empty() instead of testing against equality with the empty
...
string.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15191 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 06:16:52 +00:00
Alkis Evlogimenos
83949fcf7c
Disallow creation of named values of type void.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15190 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-25 06:07:15 +00:00
Brian Gaeke
7ff4006f82
Fix problem with inserting FunctionPasses that depend on ImmutablePasses
...
(e.g., LICM) into FunctionPassManagers. The problem is that we were
using a C-style cast to cast required analysis passes to PassClass*, but
if it's a FunctionPassManager, and the required analysis pass is an
ImmutablePass, the types aren't really compatible, so the C-style cast
causes a crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15140 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-23 19:35:50 +00:00
Chris Lattner
9545a1797b
Updates to gc intrinsics, contributed by Tobias Nurmiranta
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15096 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-22 05:50:01 +00:00
Chris Lattner
ab4c19ec3e
classof implementations are now inlined
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14987 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-19 00:59:10 +00:00
Chris Lattner
f8083b7f20
Method now returns null, dtor is inlined
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14983 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-19 00:55:35 +00:00
Chris Lattner
da6cdfa9e8
Fix infinite loop gccld'ing povray
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14962 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 08:12:57 +00:00
Reid Spencer
acc928042d
Shrink some code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14956 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 01:04:19 +00:00
Reid Spencer
e253cf60fd
bug 122:
...
- Move these functions from other places
- Provide implementations of Constant class overrides in GlobalValue
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14936 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 00:06:26 +00:00
Reid Spencer
a31fdda275
bug 122:
...
- Replace ConstantPointerRef usage with GlobalValue usage
- Replace tabs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14935 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 00:03:48 +00:00
Reid Spencer
38696d2f2b
bug 122:
...
- Correct an assert to not have redundant isa<GlobalValue>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14934 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 00:02:41 +00:00
Reid Spencer
4ec2e4c578
bug 122:
...
- Correct isa<Constant> for GlobalValue subclass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14933 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 00:01:50 +00:00
Reid Spencer
ffe77d36eb
bug 122:
...
- Correct isa<Constant> for GlobalValue subclass
- Fix some tabs and indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14932 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:57:36 +00:00
Reid Spencer
0f7eea5d04
bug 122:
...
- Module doesn't need to manage ConstantPointerRefs any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14931 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:53:23 +00:00
Reid Spencer
00dc479613
bug 122:
...
- Replace ConstantPointerRef usage with GlobalValue usage
- Correct isa<Constant> for GlobalValue subclass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14930 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:50:57 +00:00
Reid Spencer
bb9051531c
bug 122:
...
- Move GlobalValue and GlobalVariable implementations to Globals.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14929 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-17 23:50:19 +00:00