Misha Brukman
6d2670de22
For some reason, LICM and GCSE like to crash the FunctionPassManager when they
...
are being added as FunctionPasses... Sigh.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9798 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-08 00:01:39 +00:00
Chris Lattner
94db57024f
Provide a specialization of _Alloc_traits, which allows the G++ runtime to avoid
...
storing an instance of the allocator in each data structure it uses. Yaay.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9795 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 23:20:56 +00:00
Brian Gaeke
c1a2be18ea
Implement vaarg instruction. This is not quite perfect: 2003-08-11-VaListArg
...
still causes a crash. But it's better than before.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9794 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 21:20:47 +00:00
Misha Brukman
52709450c8
Implement branching to a PC-relative constant (not a BasicBlock).
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9793 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 21:07:30 +00:00
Brian Gaeke
dbde1ae7a0
popStackAndReturnValueToCaller() must advance instruction pointer to normal
...
destination, if returning from an invoke.
Implement 'unwind' instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9792 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 20:44:58 +00:00
Misha Brukman
351881793a
PreSelection is not optional, it performs a necessary and vital transformation
...
for the Sparc backend: breaking up constant expressions. Thus, we cannot have it
guarded by a conditional, it should never be disabled.
Also, it's now available for the JIT since it is a FunctionPass.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9791 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 20:33:25 +00:00
Misha Brukman
cb93d8d3a9
Remove the *BIG UGLY HACK* from the JIT: PreSelection is now a FunctionPass.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9790 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 20:32:08 +00:00
Brian Gaeke
9bf06b155c
Add stub version of unwind support
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9789 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 20:07:06 +00:00
Brian Gaeke
fea483d7c0
visitCallInst --> visitCallSite.
...
Use visitCallSite to implement both CallInsts and InvokeInsts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9788 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 20:04:22 +00:00
Brian Gaeke
ae2495a921
Make the operation of visitCallInst() only depend on the CallSite.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9787 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 19:59:08 +00:00
Misha Brukman
00c73d2e21
Completely hacked apart the file and put it back together using stylesheets.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9786 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 19:43:14 +00:00
Misha Brukman
8becd71d7c
Actually have a target "#introduction" if we're making a link to it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9785 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 19:42:44 +00:00
Brian Gaeke
2cb474c8ad
Use CallSites for call sites, instead of CallInsts. A revolutionary concept.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9784 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 19:26:23 +00:00
Brian Gaeke
f1972c6aa2
Mention class CallSite
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9783 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 19:25:45 +00:00
Brian Gaeke
4ba0f57904
Add a warning about not "new"ing or "delete"ing CallSites
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9782 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 19:25:22 +00:00
Misha Brukman
12a3f843ff
Added ability to register FunctionPasses as optimizations, with
...
TargetMachine-accepting constructors (thanks to Chris).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9781 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 18:56:32 +00:00
Misha Brukman
3c29911bf3
Make the page footer consistent with the rest of the site.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9779 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 18:11:14 +00:00
Misha Brukman
e5ad8155d3
Switch to emitting MachineConstantPool the way it was meant to be done.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9777 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 18:06:26 +00:00
Misha Brukman
f905ed5204
Switch to using the standard representation of the constant pool -- namely, the
...
MachineConstantPool. This involved refactoring the two classes involved in
printing out Sparc assembly. In fact, they should share all this code anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9776 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 17:45:28 +00:00
Misha Brukman
941fc9acd9
We accept TargetMachine as a const reference.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9775 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 17:44:18 +00:00
Misha Brukman
7eabdc5fb8
PreSelection and PeepholeOpts are now FunctionPasses.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9774 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 17:43:43 +00:00
Misha Brukman
feed25ffdc
* Stop making a global for each constant that cannot live in an instruction;
...
it will be converted to a MachineConstantPool index during instruction
selection
* This is now eligible to become a FunctionPass since it does not have any side
effects outside of the function it is processing.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9773 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 17:31:22 +00:00
Misha Brukman
49ab7f2089
* Use the MachineConstantPool for storing constants instead of a hash_set;
...
* Do not create new globals for constants!
Also, order #includes as per coding style guide
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9772 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 17:29:48 +00:00
Misha Brukman
22eb79619d
Use basename $<
to get just the filename, not full path, for ease of reading.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9770 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 17:26:27 +00:00
Misha Brukman
ed1f7c81aa
Declare FunctionPasses as such so that they can be used in FunctionPassManager.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9768 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 17:20:18 +00:00
Misha Brukman
d24fdda8e9
Declare FunctionPasses as such.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9767 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 17:19:39 +00:00
Chris Lattner
f0d6b493f2
Add some ctors for this allocator
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9766 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 15:20:06 +00:00
Brian Gaeke
af955ba503
Refactor the return-from-function code into popStackAndReturnValueToCaller().
...
Make external function calls slightly less special; now they get a stack frame.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9765 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 05:22:49 +00:00
Chris Lattner
5b3fb034f9
Add bugz
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9764 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 04:46:56 +00:00
Chris Lattner
94ed65f864
Fix a really bad build problem for users who have .o in their build directory!
...
Thanks to Reid Spencer for figuring this out! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9763 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 04:39:53 +00:00
Chris Lattner
c1e0d7876b
Hopefully this will fix PR98
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9762 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 00:38:09 +00:00
Chris Lattner
0239d7af57
Hopefully fix the objdir != srcdir issue
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9761 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-07 00:34:33 +00:00
Misha Brukman
a6538852d6
* Added a "contents"-like list of questions at the beginning of the file
...
* Use stylsheets. Really, people, work with me here.
* Stop using those silly <dl> and <dt> and whatever else tags
* Close tags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9760 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 21:55:44 +00:00
Chris Lattner
5cea0e142c
fix warnings on sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9759 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 21:30:15 +00:00
Chris Lattner
2bee057a56
Fix warnings building on sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9758 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 21:30:05 +00:00
Brian Gaeke
2852c4db67
All 'llvmgcc' tests should specify %llvmgcc so that the path is passed
...
in by qmtest.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9757 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 21:13:45 +00:00
Chris Lattner
e9660e00b0
No wonder noone can set up LLVMGCCDIR correctly!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9756 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 20:51:45 +00:00
Chris Lattner
934c9c9959
Add new commandline option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9755 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 20:29:33 +00:00
Chris Lattner
cde1cf3f9d
Add new command line option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9754 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 20:29:25 +00:00
Chris Lattner
0c7e8e17ff
Various cleanups and efficiency improvements
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9753 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 19:46:29 +00:00
Chris Lattner
d7222ec801
Fix bug: PR93
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9752 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 19:18:49 +00:00
Misha Brukman
6d7aad1dd5
* Make the comment header 80 columns long
...
* Alphabetize #includes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9751 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 18:06:13 +00:00
Misha Brukman
e2bf0a2c36
Let's not forget about our friends -- Constant Pool indices.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9750 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-06 00:04:11 +00:00
Brian Gaeke
aee4de9957
Give this header file an Emacs mode-line.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9749 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 22:13:10 +00:00
Brian Gaeke
00cc86a8fc
Do not assume the first file is a bytecode file. Instead, construct a dummy
...
Module and link things into that.
Also, fix a typo in an error message.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9748 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 22:13:00 +00:00
Brian Gaeke
3b3640a373
Shorten and correct some function-header comments.
...
Make "verbose" output MUCH nicer. Now it tells you when you are linking a
bytecode file, or an archive, and whether it's because you called it by name,
or because you gave it a -l option, and it says "Trying" before it takes
action and prints a message in the past tense afterwards.
Make LinkFiles not skip the first file in Files.
Make LinkFiles warn you if it can't find a file and LLVM_LIB_SEARCH_PATH is
unset.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9747 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 22:12:52 +00:00
Chris Lattner
1548c35a5e
new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9746 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 22:06:03 +00:00
Chris Lattner
b6e0631a94
Fix the problem with running cleanups in bugpoint: We were deleting arguments
...
of intrinsic functions, causing the verifier to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9745 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 21:53:41 +00:00
Chris Lattner
b257e21905
Bugpoint no longer has this option
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9744 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 21:46:13 +00:00
Chris Lattner
fcb6ec0c7e
I hate it when bugpoint is all ready to give me a bytecode file, then crashes
...
in final cleanups. Then you had to run the whole mess again with
-disable-final-cleanups.
This makes bugpoint run the cleanups in a protected environment so that if
they crash, bugpoint itself doesn't crash. This makes things much happier,
implements a FIXME, and gets rid of YABPO (yet another bugpoint option).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9743 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-05 21:45:35 +00:00