Commit Graph

1235 Commits

Author SHA1 Message Date
Chris Lattner
1325b42a7d Now that hasConstantValue is more careful w.r.t. returning values that only
dominate the PHI node, this code can go away.  This also makes passes more
aggressive, e.g. implementing Transforms/CondProp/phisimplify2.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22670 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-05 01:02:04 +00:00
Chris Lattner
b3b48e11da Use the bool argument to hasConstantValue to decide whether the client is
prepared to deal with return values that do not dominate the PHI.  If we
cannot prove that the result dominates the PHI node, do not return it if
the client can't cope.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22669 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-05 01:00:58 +00:00
Chris Lattner
9acbd611ec Mark hasConstantValue as a const method
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22666 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-05 00:49:06 +00:00
Nate Begeman
c523f4c096 Add an extra parameter that Chris requested
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22665 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-04 23:50:43 +00:00
Nate Begeman
a83ba0f5c9 Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization into
BasicBlock's removePredecessor routine.  This requires shuffling around
the definition and implementation of hasContantValue from Utils.h,cpp into
Instructions.h,cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22664 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-04 23:24:19 +00:00
Jeff Cohen
00b16889ab Eliminate all remaining tabs and trailing spaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22523 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-27 06:12:32 +00:00
Andrew Lenharth
558bc88a00 core changes for varargs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22254 91177308-0d34-0410-b5e6-96231b3b80d8
2005-06-18 18:34:52 +00:00
Reid Spencer
edd5d9ece1 Some cleanups for compilation with GCC 4.0.0 to remove warnings:
* Use C++ style casts, not C style casts
* Abstract base classes should have virtual destructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22057 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 16:13:11 +00:00
Chris Lattner
37c121acf4 Verify that varargs functions all have ccc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21792 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-08 22:27:09 +00:00
Chris Lattner
d511898b58 add support for explicit calling conventions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21746 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 20:26:43 +00:00
Chris Lattner
ddb6db4fa1 Add a 'tail' marker for call instructions, patch contributed by
Alexander Friedman.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21722 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-06 05:51:46 +00:00
Andrew Lenharth
691ef2ba06 Implement count leading zeros (ctlz), count trailing zeros (cttz), and count
population (ctpop).  Generic lowering is implemented, however only promotion
is implemented for SelectionDAG at the moment.

More coming soon.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21676 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-03 17:19:30 +00:00
Chris Lattner
f818cfe096 fix a bug in the 1 index GEP handling code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21670 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-03 16:44:45 +00:00
Chris Lattner
38bacf29e8 add direct support for making GEP instrs with one index
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21665 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-03 05:43:30 +00:00
Jeff Cohen
a97e8db835 Use ANSI-approved way of getting the value infinity (otherwise VC++ won't compile it)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21662 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-03 03:13:01 +00:00
Andrew Lenharth
8b9e3e6511 fold fp div by 0 to inf, the way gcc does. This is legal according to the FP spec
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21655 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-02 21:25:47 +00:00
Chris Lattner
eed37bad01 Add llvm.sqrt intrinsic, patch contributed by Morten Ofstad
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21627 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-30 03:44:07 +00:00
Chris Lattner
22cab6c752 Unbreak the sparc backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21598 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-27 18:57:15 +00:00
Chris Lattner
3f80a38859 don't let Reid build void*'s :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21571 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-26 20:03:33 +00:00
Chris Lattner
91bd25d9df Make dominates(A,B) work with post dominators. Patch contributed by
Naveen Neelakantam, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21543 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-25 20:50:33 +00:00
Reid Spencer
e8f3848639 Older compilers won't like the inline virtual destructor in the header file
so we put the destructor in Pass.cpp and make it non-inline.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21520 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-25 01:01:35 +00:00
Reid Spencer
2b2a528374 Shut GCC 4.0 up about classes with virtual functions but no virtual
destructor.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21510 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-24 22:27:20 +00:00
Chris Lattner
64001d0a13 Allow these methods to take a generic Value* to simplify clients. Use
const_cast instead of c casts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21493 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-24 07:28:37 +00:00
Chris Lattner
ea1049139e Fix a bug in my previous checkin
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21485 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-23 22:01:39 +00:00
Chris Lattner
4f0247c10d Add a method, remove last use of Type.def
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21483 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-23 22:00:09 +00:00
Jeff Cohen
9d80930e95 Eliminate tabs and trailing spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21480 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-23 21:38:35 +00:00
Misha Brukman
fd93908ae8 Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21427 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 23:48:37 +00:00
Misha Brukman
edf128a7fa Remove trailing whitespace
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21420 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 22:36:52 +00:00
Chris Lattner
566f600779 Improve doxygen, from part of Evan's patch that didn't apply.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21394 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 16:06:03 +00:00
Chris Lattner
0f67dd6237 Improve doxygen documentation, patch contributed by Evan Jones!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21393 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 16:04:49 +00:00
Chris Lattner
3464547968 add an argument to allow avoiding deleting phi nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21255 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-12 18:52:14 +00:00
Andrew Lenharth
7f4ec3b2e3 First step in adding pcmarker intrinsic. Second step (soon) is adding backend support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20900 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-28 20:05:49 +00:00
Alkis Evlogimenos
1cecd3a1d2 Add new function getPtrPtrFromArrayPtr().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20684 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-19 11:40:31 +00:00
Misha Brukman
fd67824386 Convert tabs to spaces
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20638 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-16 05:42:00 +00:00
Chris Lattner
39220ded94 stop using arg_front
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20599 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15 05:03:36 +00:00
Chris Lattner
e4d5c441e0 This mega patch converts us from using Function::a{iterator|begin|end} to
using Function::arg_{iterator|begin|end}.  Likewise Module::g* -> Module::global_*.

This patch is contributed by Gabor Greif, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20597 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-15 04:54:21 +00:00
Chris Lattner
76da61621c correct the computation of the isAbstract bit for types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20533 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-09 17:34:27 +00:00
Reid Spencer
9dbf1e5bb8 Fix a typo in an assertion comment.
Patch contributed by Vladimir Merzliakov.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20529 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-09 15:19:41 +00:00
Chris Lattner
f1b4d1dee6 rename insertEntry to insert
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20484 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:55:40 +00:00
Chris Lattner
e4c872a8fa Merge SymbolTable::removeEntry into SymbolTable::remove, its only caller
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20483 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:51:09 +00:00
Chris Lattner
c27aa8ddb2 Delete the really inefficient method: void remove(const Type* Typ);
Speed up the symbol stripping code by avoiding a linear search of the
type table.

Get rid of removeEntry(type_iterator), since 'remove' is exactly the same
operation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20481 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:46:41 +00:00
Chris Lattner
a98cbe57ea Remove some really gross and hard to understand code now that
InternallyInconsistent is always false.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20477 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:21:40 +00:00
Chris Lattner
ee4da939b0 Simplify some code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20476 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 05:13:42 +00:00
Chris Lattner
921c565888 remove these methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20474 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:37:47 +00:00
Chris Lattner
04cb800c32 This fixes PR531, a crash when running the CBE on a bytecode file.
The problem is that Function::renameLocalSymbols is iterating through
the symbol table planes, occasionally calling setName to rename a value
(which used to do a symbol table remove/insert pair).

The problem is that if there is only a single value in a particular type
plane that the remove will nuke the symbol table plane, and the insert
will create and insert a new one.  This hoses Function::renameLocalSymbols
because it has an iterator to the old plane, under the (very reasonable)
assumption that simply renaming a value won't cause the type plane to
disappear.

This patch fixes the bug by making the rename operation a single atomic
operation, which has a side effect of making the whole thing faster too. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20469 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-06 02:14:28 +00:00
Chris Lattner
0d1e40728d remove all of the various setName implementations, consolidating them into
Value::setName, which is no longer virtual.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20464 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-05 19:51:50 +00:00
Chris Lattner
8e1b8473eb 2nd arg to setName goes away.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20460 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-05 19:02:15 +00:00
Chris Lattner
ffdb920ec2 Constants never get names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20459 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-05 19:01:59 +00:00
Chris Lattner
18221ed507 Remove the 2nd argument to Value::setName
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20458 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-05 19:01:49 +00:00
Misha Brukman
0fbd914362 Fix the spelling of the word `the'
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20412 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-02 23:17:31 +00:00
Chris Lattner
31ab1b3d74 Print the module ID as a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20411 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-02 23:12:40 +00:00
Chris Lattner
ded3613fef Fix a nasty order of evaluation bug that Gabor Greif ran into. Here's an
explanation from IRC:

	|sabre|	I think it's an order of evaluation thing
	|sabre|	for me, the RHS of the assignment is evaluated first
	|sabre|	getTypeDescription checks to see if ConcreteTypeDescription[Ty] contains anything
	|sabre|	since it doesn't, it computes and returns the value
	|sabre|	this gets put into the map.
	|sabre|	For you, the LHS is evaluated first.
	|sabre|	Map[Ty] (aka ConcreteTypeDescriptions[Ty]) inserts an empty string into the map, returning a reference
	|sabre|	getTypeDesc then sees the empty string in the map
	|sabre|	and returns it
	|sabre|	bork :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20394 91177308-0d34-0410-b5e6-96231b3b80d8
2005-03-02 03:54:43 +00:00
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