oota-llvm.git
20 years agoEliminate some mega-cruft here. There is no reason to DERIVE FROM IR CLASSES
Chris Lattner [Tue, 13 Jul 2004 08:28:21 +0000 (08:28 +0000)]
Eliminate some mega-cruft here.  There is no reason to DERIVE FROM IR CLASSES
just to keep track of some per-object state!  Gaah!  Whoever wrote this stuff...
oh wait, that would be me.  Never mind.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14790 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInline the now trivial setValueNameInternal function into both callers
Chris Lattner [Tue, 13 Jul 2004 08:12:39 +0000 (08:12 +0000)]
Inline the now trivial setValueNameInternal function into both callers

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14789 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNow that basic blocks are eagerly inserted into the Function, we can use
Chris Lattner [Tue, 13 Jul 2004 08:10:10 +0000 (08:10 +0000)]
Now that basic blocks are eagerly inserted into the Function, we can use
the funciton symbol table to check for conflicts instead of having to
keep a shadow named LocalSymtab.  Totally eliminate LocalSymtab.  Verified
that this did not cause a regression on the testcase for PR107.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14788 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoA couple of substantial cleanup fixes:
Chris Lattner [Tue, 13 Jul 2004 07:59:27 +0000 (07:59 +0000)]
A couple of substantial cleanup fixes:
  1. Split setValueName into two separate functions, one that is only used
     at function scope and doesn't have to deal with duplicates, and one
     that can be used either at global or function scope but that does deal
     with conflicts.  Conflicts were only in there because of the crappy old
     CFE and probably should be entirely eliminated.
  2. Insert BasicBlock's into the parent functions when they are created
     instead of when they are complete.  This effects name lookup (for the
     better), which will be exploited in the next patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14787 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix warning on SparcV9, where sizeof (int) != sizeof (void *).
Brian Gaeke [Tue, 13 Jul 2004 07:37:43 +0000 (07:37 +0000)]
Fix warning on SparcV9, where sizeof (int) != sizeof (void *).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14786 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoReplace a bunch of complex ConstantPointerRef referring code with simple
Chris Lattner [Tue, 13 Jul 2004 06:58:07 +0000 (06:58 +0000)]
Replace a bunch of complex ConstantPointerRef referring code with simple
code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14785 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake tblgen not try to be smart. This is better handled in makefiles if
Chris Lattner [Tue, 13 Jul 2004 06:11:46 +0000 (06:11 +0000)]
Make tblgen not try to be smart.  This is better handled in makefiles if
at all.  Patch contributed by Vladimir Prus!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14784 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFactor some code to handle "load (constantexpr cast foo)" just like
Chris Lattner [Tue, 13 Jul 2004 01:49:43 +0000 (01:49 +0000)]
Factor some code to handle "load (constantexpr cast foo)" just like
"load (cast foo)".  This allows us to compile C++ code like this:

class Bclass {
  public: virtual int operator()() { return 666; }
};

class Dclass: public Bclass {
  public: virtual int operator()() { return 667; }
} ;

int main(int argc, char** argv) {
  Dclass x;
  return x();
}

Into this:

int %main(int %argc, sbyte** %argv) {
entry:
        call void %__main( )
        ret int 667
}

Instead of this:

int %main(int %argc, sbyte** %argv) {
entry:
        %x = alloca "struct.std::bad_typeid"            ; <"struct.std::bad_typeid"*> [#uses=3]
        call void %__main( )
        %tmp.1.i.i = getelementptr "struct.std::bad_typeid"* %x, uint 0, uint 0, uint 0         ; <int (...)***> [#uses=1]
        store int (...)** getelementptr ([3 x int (...)*]*  %vtable for Bclass, int 0, long 2), int (...)*** %tmp.1.i.i
        %tmp.3.i = getelementptr "struct.std::bad_typeid"* %x, int 0, uint 0, uint 0            ; <int (...)***> [#uses=1]
        store int (...)** getelementptr ([3 x int (...)*]*  %vtable for Dclass, int 0, long 2), int (...)*** %tmp.3.i
        %tmp.5 = load int ("struct.std::bad_typeid"*)** cast (int (...)** getelementptr ([3 x int (...)*]*  %vtable for Dclass, int 0, long 2) to int
("struct.std::bad_typeid"*)**)          ; <int ("struct.std::bad_typeid"*)*> [#uses=1]
        %tmp.6 = call int %tmp.5( "struct.std::bad_typeid"* %x )                ; <int> [#uses=1]
ret int %tmp.6
        ret int 0
}

In order words, we now resolve the virtual function call.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14783 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCorrectly load FP constants out of the constant pool.
Misha Brukman [Mon, 12 Jul 2004 23:49:47 +0000 (23:49 +0000)]
Correctly load FP constants out of the constant pool.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14782 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoApple's MacOS X is another OS which does not provide alloca() via <alloca.h>
Misha Brukman [Mon, 12 Jul 2004 23:37:18 +0000 (23:37 +0000)]
Apple's MacOS X is another OS which does not provide alloca() via <alloca.h>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14781 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement getModuleMatchQuality and getJITMatchQuality() for PowerPC
Misha Brukman [Mon, 12 Jul 2004 23:36:12 +0000 (23:36 +0000)]
Implement getModuleMatchQuality and getJITMatchQuality() for PowerPC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14780 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Tabs to spaces
Misha Brukman [Mon, 12 Jul 2004 22:58:07 +0000 (22:58 +0000)]
* Tabs to spaces
* Delete extra blank lines

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14779 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNew open proj: C/C++ compiler in C++, with link to Ed Willink's C++ yacc grammar
Misha Brukman [Mon, 12 Jul 2004 21:10:47 +0000 (21:10 +0000)]
New open proj: C/C++ compiler in C++, with link to Ed Willink's C++ yacc grammar

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14778 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a helper method. The StructType element is completely redundant in most
Chris Lattner [Mon, 12 Jul 2004 20:36:08 +0000 (20:36 +0000)]
Add a helper method.  The StructType element is completely redundant in most
cases

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14777 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoimplement new helper method
Chris Lattner [Mon, 12 Jul 2004 20:35:11 +0000 (20:35 +0000)]
implement new helper method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14776 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix unused var warning
Chris Lattner [Mon, 12 Jul 2004 20:29:52 +0000 (20:29 +0000)]
Fix unused var warning

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14775 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a really nasty logic error that VC noticed.
Chris Lattner [Mon, 12 Jul 2004 20:27:31 +0000 (20:27 +0000)]
Fix a really nasty logic error that VC noticed.
Reid, this might matter to you :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14774 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a missing #include
Chris Lattner [Mon, 12 Jul 2004 20:25:33 +0000 (20:25 +0000)]
Add a missing #include

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14773 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix warning compiling with VC++
Chris Lattner [Mon, 12 Jul 2004 20:25:04 +0000 (20:25 +0000)]
Fix warning compiling with VC++

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14772 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agonew feature
Chris Lattner [Mon, 12 Jul 2004 17:09:23 +0000 (17:09 +0000)]
new feature

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14770 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Clarify Sparc as SparcV9
Misha Brukman [Mon, 12 Jul 2004 16:55:41 +0000 (16:55 +0000)]
* Clarify Sparc as SparcV9
* Add link to bugzilla bug with list of miscompiled SparcV9 programs
* Wrap long lines

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14769 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement a new method useful for things like the inliner
Chris Lattner [Mon, 12 Jul 2004 01:17:52 +0000 (01:17 +0000)]
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

20 years agoImplement new method
Chris Lattner [Mon, 12 Jul 2004 01:17:34 +0000 (01:17 +0000)]
Implement new method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14767 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCorrect an output typo.
Reid Spencer [Sun, 11 Jul 2004 23:20:54 +0000 (23:20 +0000)]
Correct an output typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14766 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoVarious cleanups:
Reid Spencer [Sun, 11 Jul 2004 17:28:43 +0000 (17:28 +0000)]
Various cleanups:
- Remove tabs
- Standardize use of space around ( and ).
- Consolidate the ConstantPlaceHolder class
- Rename two methods to be more meaningful (ParseType, ParseTypes)
- Correct indentation of blocks
- Add documentation
- Convert input dependent asserts to error(...) so it throws instead.
Provide placeholder implementations of read_float and read_double that
still read in platform-specific endianess. When I figure out how to do
this without knowing the endianess of the platform, it will get implemented
correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14765 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago- Rename two methods to give them more meaning
Reid Spencer [Sun, 11 Jul 2004 17:24:05 +0000 (17:24 +0000)]
- Rename two methods to give them more meaning
- Add read_float and read_double in preparation for a correct
  implementation of bytecode floating point support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14764 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove tabs.
Reid Spencer [Sun, 11 Jul 2004 17:22:51 +0000 (17:22 +0000)]
Remove tabs.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14763 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPrepare the writer for a non-broken implementation of writing floating
Reid Spencer [Sun, 11 Jul 2004 17:22:07 +0000 (17:22 +0000)]
Prepare the writer for a non-broken implementation of writing floating
point values. This will be fixed when I figure out how to do it correctly
without depending on knowing the endianess of a platform.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14762 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThe cleanup is done. Update comment.
Chris Lattner [Sun, 11 Jul 2004 08:24:02 +0000 (08:24 +0000)]
The cleanup is done.  Update comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14761 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake add constantexprs work with all types, fixing the regressions from last night
Chris Lattner [Sun, 11 Jul 2004 08:01:11 +0000 (08:01 +0000)]
Make add constantexprs work with all types, fixing the regressions from last night

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14760 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement TargetRegistrationListener
Chris Lattner [Sun, 11 Jul 2004 06:03:21 +0000 (06:03 +0000)]
Implement TargetRegistrationListener

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14759 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a new listener class for things that want to be informed about new
Chris Lattner [Sun, 11 Jul 2004 06:02:59 +0000 (06:02 +0000)]
Add a new listener class for things that want to be informed about new
targets that are loaded

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14758 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDelete the allocate*TargetMachine function, which is now dead.
Chris Lattner [Sun, 11 Jul 2004 04:17:58 +0000 (04:17 +0000)]
Delete the allocate*TargetMachine function, which is now dead.
The shared command line options are now in a header that makes sense.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14757 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDelete the allocate*TargetMachine function, which is now dead .
Chris Lattner [Sun, 11 Jul 2004 04:17:10 +0000 (04:17 +0000)]
Delete the allocate*TargetMachine function, which is now dead .
The shared command line options are now in a header that makes sense.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14756 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDelete the allocate*TargetMachine function, which is now dead .
Chris Lattner [Sun, 11 Jul 2004 04:16:31 +0000 (04:16 +0000)]
Delete the allocate*TargetMachine function, which is now dead .

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14755 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDelete the allocate*TargetMachine functions. Move options to a header file
Chris Lattner [Sun, 11 Jul 2004 04:15:52 +0000 (04:15 +0000)]
Delete the allocate*TargetMachine functions.  Move options to a header file
that makes sense.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14754 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoPrune unused #include
Chris Lattner [Sun, 11 Jul 2004 04:05:32 +0000 (04:05 +0000)]
Prune unused #include

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14753 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGoodbye macro hell, hello nice clean and simple code. This also gives llc
Chris Lattner [Sun, 11 Jul 2004 04:03:24 +0000 (04:03 +0000)]
Goodbye macro hell, hello nice clean and simple code.  This also gives llc
the ability to dynamically load and use targets that are not linked into it
statically.  e.g.:

  llc -load libparisc.so -march=parisc foo.bc -o foo.s

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14751 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGoodbye macro hell, hello nice clean simple extensible code. This change
Chris Lattner [Sun, 11 Jul 2004 04:02:06 +0000 (04:02 +0000)]
Goodbye macro hell, hello nice clean simple extensible code.  This change
also gives the JIT the ability to dynamically load targets. e.g.

lli -load libparisc.so -march=parisc foo.bc

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14750 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplement a couple of methods that TargetMachineRegistry now provides. See,
Chris Lattner [Sun, 11 Jul 2004 04:00:19 +0000 (04:00 +0000)]
Implement a couple of methods that TargetMachineRegistry now provides.  See,
I told you this file wasn't useless :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14749 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a new TargetNameParser class, which is useful for parsing options.
Chris Lattner [Sun, 11 Jul 2004 03:59:46 +0000 (03:59 +0000)]
Add a new TargetNameParser class, which is useful for parsing options.
Add two methods which are useful for autoselecting targets.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14748 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake these format a bit nicer
Chris Lattner [Sun, 11 Jul 2004 03:27:42 +0000 (03:27 +0000)]
Make these format a bit nicer

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14747 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoProvide better support for pointer-valued command line arguments
Chris Lattner [Sun, 11 Jul 2004 03:18:30 +0000 (03:18 +0000)]
Provide better support for pointer-valued command line arguments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14746 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAuto-registrate target
Chris Lattner [Sun, 11 Jul 2004 02:48:49 +0000 (02:48 +0000)]
Auto-registrate target

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14745 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd compilability
Chris Lattner [Sun, 11 Jul 2004 02:48:28 +0000 (02:48 +0000)]
Add compilability

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14744 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoInitial impl of this file. Yes this is pretty useless right now, but it
Chris Lattner [Sun, 11 Jul 2004 02:44:26 +0000 (02:44 +0000)]
Initial impl of this file.  Yes this is pretty useless right now, but it
will grow in time.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14743 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFirst cut at TargetMachineRegistry and RegisterTarget classes
Chris Lattner [Sun, 11 Jul 2004 02:43:43 +0000 (02:43 +0000)]
First cut at TargetMachineRegistry and RegisterTarget classes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14742 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd two new "virtual static" methods to the TargetMachine class
Chris Lattner [Sun, 11 Jul 2004 02:43:07 +0000 (02:43 +0000)]
Add two new "virtual static" methods to the TargetMachine class

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14741 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd -load option
Chris Lattner [Sun, 11 Jul 2004 01:08:19 +0000 (01:08 +0000)]
Add -load option

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14740 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a -load option
Chris Lattner [Sun, 11 Jul 2004 01:06:59 +0000 (01:06 +0000)]
Add a -load option

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14739 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImplicitly getting a new option by linking to support.o instead of support.a
Chris Lattner [Sun, 11 Jul 2004 01:04:33 +0000 (01:04 +0000)]
Implicitly getting a new option by linking to support.o instead of support.a
is a bad idea.  Make tools that want the option #include PluginSupport.h
explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14738 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a new header
Chris Lattner [Sun, 11 Jul 2004 01:03:57 +0000 (01:03 +0000)]
Add a new header

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14737 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago- Correct grammar of -s description
Reid Spencer [Sat, 10 Jul 2004 23:41:08 +0000 (23:41 +0000)]
- Correct grammar of -s description
- Normalize -s option specification

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14736 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGroup the hidden command line arguments.
Reid Spencer [Sat, 10 Jul 2004 23:35:46 +0000 (23:35 +0000)]
Group the hidden command line arguments.
Make the -s option actually work and default to the right value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14735 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd link to the stkrc page
Chris Lattner [Sat, 10 Jul 2004 21:43:12 +0000 (21:43 +0000)]
Add link to the stkrc page

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14734 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoCommand Guide for the Stacker language compiler, stkrc.
Reid Spencer [Sat, 10 Jul 2004 20:04:02 +0000 (20:04 +0000)]
Command Guide for the Stacker language compiler, stkrc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14733 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoReplace use of defunct Type::setName method with SymbolTable::insert.
Reid Spencer [Sat, 10 Jul 2004 16:37:42 +0000 (16:37 +0000)]
Replace use of defunct Type::setName method with SymbolTable::insert.
Patch found and provided by Vladimir Merzliakov. Thanks Vladimir!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14732 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMake the VBRSavings percentage make sense (as a fraction of the total
Reid Spencer [Sat, 10 Jul 2004 08:04:13 +0000 (08:04 +0000)]
Make the VBRSavings percentage make sense (as a fraction of the total
expanded size instead of the file size). Thanks Chris.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14731 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoMinor cleanups:
Chris Lattner [Sat, 10 Jul 2004 06:06:56 +0000 (06:06 +0000)]
Minor cleanups:
 * Mention the --help and --help-hidden options
 * Don't say program when we really mean any old bytecode file
 * Add a link to the man pages
 * Move analyze down in the list, as it's not as important as the rest

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14730 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoError Handling Cleanup:
Reid Spencer [Fri, 9 Jul 2004 22:21:33 +0000 (22:21 +0000)]
Error Handling Cleanup:
- get rid of PARSE_ERROR macro
- add error(std::string) function
- use error(std::string) for all errors
- make input dependent asserts call error(std::string) instead
- ensure asserts are only for logic bugs, not input discrepancies.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14729 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix a backwards compatibility bug found by Tanya. In version 1.2, the
Reid Spencer [Fri, 9 Jul 2004 21:13:53 +0000 (21:13 +0000)]
Fix a backwards compatibility bug found by Tanya. In version 1.2, the
global type plane starts with a length and the TypeTyID value to identify
the type plane has having type definitions. This doesn't happen in 1.3
because the types are read from a known position in the file. However, the
TypeTyID must be read in (and ignored) if its a 1.2 bytecode file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14728 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemoved unneeded forward decl
Chris Lattner [Fri, 9 Jul 2004 17:02:57 +0000 (17:02 +0000)]
Removed unneeded forward decl

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14727 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRemove unused method
Chris Lattner [Fri, 9 Jul 2004 16:48:13 +0000 (16:48 +0000)]
Remove unused method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14726 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd checks to ensure that there are no unreachable blocks in the function
Chris Lattner [Fri, 9 Jul 2004 16:44:37 +0000 (16:44 +0000)]
Add checks to ensure that there are no unreachable blocks in the function

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14725 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDon't call Type::setName()
Chris Lattner [Fri, 9 Jul 2004 16:43:55 +0000 (16:43 +0000)]
Don't call Type::setName()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14724 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Add support for indexing into structures, thanks to Chris (x86)
Misha Brukman [Fri, 9 Jul 2004 15:45:07 +0000 (15:45 +0000)]
* Add support for indexing into structures, thanks to Chris (x86)
  The large diff is because of indentation of a whole region
* Fix querying predecessor blocks in SelectPHINodes(), thanks to Brian (v8)
* Add support for external functions malloc() and free()
* Fix some code indentation

Remember, kids: It's not plagiarism if you "creatively borrow" from your
sources.  It's called "research"!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14723 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoRead/write the offset value for stack-relative loads via correct instr operand.
Misha Brukman [Fri, 9 Jul 2004 15:37:16 +0000 (15:37 +0000)]
Read/write the offset value for stack-relative loads via correct instr operand.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14722 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Doxygenify comments
Misha Brukman [Fri, 9 Jul 2004 14:45:17 +0000 (14:45 +0000)]
* Doxygenify comments
* Fix spacing, grammar in comment
* Make code layout consistent
* Wrap code at 80 cols
* Delete spurious blank lines

No functional changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14721 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix typo.
Alkis Evlogimenos [Fri, 9 Jul 2004 11:25:27 +0000 (11:25 +0000)]
Fix typo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14720 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoImprove code comments.
Alkis Evlogimenos [Fri, 9 Jul 2004 11:10:00 +0000 (11:10 +0000)]
Improve code comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14719 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoNo really, he did finish!
Chris Lattner [Fri, 9 Jul 2004 06:58:43 +0000 (06:58 +0000)]
No really, he did finish!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14717 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoToo much of a title for it's own good
Chris Lattner [Fri, 9 Jul 2004 05:05:39 +0000 (05:05 +0000)]
Too much of a title for it's own good

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14716 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix Validation bugs
Chris Lattner [Fri, 9 Jul 2004 05:03:54 +0000 (05:03 +0000)]
Fix Validation bugs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14715 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoEliminate the UID field in the Type class, bringing it down to 28 bytes.
Chris Lattner [Thu, 8 Jul 2004 22:31:37 +0000 (22:31 +0000)]
Eliminate the UID field in the Type class, bringing it down to 28 bytes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14709 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThe uid mapping is no more
Chris Lattner [Thu, 8 Jul 2004 22:31:09 +0000 (22:31 +0000)]
The uid mapping is no more

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14708 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoEliminate uses of the UniqueID field on Type objects
Chris Lattner [Thu, 8 Jul 2004 22:30:50 +0000 (22:30 +0000)]
Eliminate uses of the UniqueID field on Type objects

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14707 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDo not call Type::getUniqueID
Chris Lattner [Thu, 8 Jul 2004 22:09:34 +0000 (22:09 +0000)]
Do not call Type::getUniqueID

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14706 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a new method
Chris Lattner [Thu, 8 Jul 2004 22:09:07 +0000 (22:09 +0000)]
Add a new method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14705 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoGet rid of some cruft in the insert method.
Reid Spencer [Thu, 8 Jul 2004 21:50:33 +0000 (21:50 +0000)]
Get rid of some cruft in the insert method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14704 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd support for __fixdfdi(), __floatdisf(), and __floatdidf() external functions
Misha Brukman [Thu, 8 Jul 2004 19:41:16 +0000 (19:41 +0000)]
Add support for __fixdfdi(), __floatdisf(), and __floatdidf() external functions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14703 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFirst version of a vector with uniqueness constraints (or a set with
Reid Spencer [Thu, 8 Jul 2004 19:36:21 +0000 (19:36 +0000)]
First version of a vector with uniqueness constraints (or a set with
deterministic, insertion-order iteration).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14702 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Use several Function* for external functions instead of a std::map
Misha Brukman [Thu, 8 Jul 2004 18:27:59 +0000 (18:27 +0000)]
* Use several Function* for external functions instead of a std::map
* Non-const FP values must be loaded into int regs (for vararg fns) via memory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14701 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Add support for loading FP constants from the constant pool
Misha Brukman [Thu, 8 Jul 2004 18:02:38 +0000 (18:02 +0000)]
* Add support for loading FP constants from the constant pool
* Load FP values into int regs as well for vararg functions; without memory ops!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14700 91177308-0d34-0410-b5e6-96231b3b80d8

20 years ago* Fix header comment, excise references to X86
Misha Brukman [Thu, 8 Jul 2004 17:58:04 +0000 (17:58 +0000)]
* Fix header comment, excise references to X86
* Add suport for printing out references to constant pool indices

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14699 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agostatisfy the spelling police
Chris Lattner [Thu, 8 Jul 2004 17:49:37 +0000 (17:49 +0000)]
statisfy the spelling police

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14698 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix spelling of `equivalent'
Misha Brukman [Thu, 8 Jul 2004 17:45:18 +0000 (17:45 +0000)]
Fix spelling of `equivalent'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14697 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoEliminate the SignedType and UnsignedType classes.
Chris Lattner [Thu, 8 Jul 2004 17:30:07 +0000 (17:30 +0000)]
Eliminate the SignedType and UnsignedType classes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14695 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoisSigned/isUnsigned/isInteger methods do not need to be virtual
Chris Lattner [Thu, 8 Jul 2004 17:29:36 +0000 (17:29 +0000)]
isSigned/isUnsigned/isInteger methods do not need to be virtual

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14694 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoUpdate comment.
Chris Lattner [Thu, 8 Jul 2004 16:09:38 +0000 (16:09 +0000)]
Update comment.
Remove unused forward decl of Value.h
Make Type 32 bytes instead of 36 bytes

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14692 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoThis file uses the Value class without a forward decl
Chris Lattner [Thu, 8 Jul 2004 15:54:29 +0000 (15:54 +0000)]
This file uses the Value class without a forward decl

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14691 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd a test that I have had in my tree for several months now, but apparently forgot...
Chris Lattner [Thu, 8 Jul 2004 15:41:08 +0000 (15:41 +0000)]
Add a test that I have had in my tree for several months now, but apparently forgot to commit

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14690 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix this testcase
Chris Lattner [Thu, 8 Jul 2004 15:38:23 +0000 (15:38 +0000)]
Fix this testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14689 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSupport setcc on fp values.
Brian Gaeke [Thu, 8 Jul 2004 09:08:35 +0000 (09:08 +0000)]
Support setcc on fp values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14687 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoAdd floating-point branches and compares. Compares don't complete
Brian Gaeke [Thu, 8 Jul 2004 09:08:22 +0000 (09:08 +0000)]
Add floating-point branches and compares.  Compares don't complete
until the next cycle, and there's no interlock, so they effectively
have a delay slot.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14686 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix bug where SwitchSection would fail to change to ".bss" successfully.
Brian Gaeke [Thu, 8 Jul 2004 08:08:23 +0000 (08:08 +0000)]
Fix bug where SwitchSection would fail to change to ".bss" successfully.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14685 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix bug involving bool arguments to binary operators.
Brian Gaeke [Thu, 8 Jul 2004 08:08:10 +0000 (08:08 +0000)]
Fix bug involving bool arguments to binary operators.
Fix typo in comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14684 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoFix bug in copying long constants to register pairs. We were getting
Brian Gaeke [Thu, 8 Jul 2004 07:52:13 +0000 (07:52 +0000)]
Fix bug in copying long constants to register pairs. We were getting
the top and bottom halves backwards...how embarrassing.
Support 'cast long to long' and other similar no-op casts to long.
Support 'ret long'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14683 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoDisable some code that isn't helping matters
Chris Lattner [Thu, 8 Jul 2004 07:25:51 +0000 (07:25 +0000)]
Disable some code that isn't helping matters

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14682 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoSupport 'ret float'
Brian Gaeke [Thu, 8 Jul 2004 07:22:27 +0000 (07:22 +0000)]
Support 'ret float'

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14681 91177308-0d34-0410-b5e6-96231b3b80d8

20 years agoReally, it is not necessary to recompile all files in a profile build every
Chris Lattner [Thu, 8 Jul 2004 03:42:20 +0000 (03:42 +0000)]
Really, it is not necessary to recompile all files in a profile build every
time!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14680 91177308-0d34-0410-b5e6-96231b3b80d8