Reid Spencer
fc989e1ee0
Reduce the number of arguments in the instruction builder and make some
...
improvements on instruction selection that account for register and frame
index bases.
Patch contributed by Jeff Cohen. Thanks Jeff!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16110 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 00:13:26 +00:00
Reid Spencer
6386009ea6
Need to throw std::string not const char* if we want error messages to be
...
caught.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16109 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-30 00:06:52 +00:00
Reid Spencer
514b9671f9
Synchronize documentation of configuration items and substitutions with
...
current reality of llvmc implementation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16108 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 23:20:42 +00:00
Nate Begeman
6b3dc55ef8
Convert A-Form instructions to auto-generated asm writer
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16107 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 22:45:13 +00:00
Nate Begeman
27bc7c6cae
Register sizes should be specified in bits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16106 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 22:03:40 +00:00
Nate Begeman
d332fd54f5
Improvements to int->float cast code for PPC-64
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16105 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 22:02:43 +00:00
Nate Begeman
2a42e80eda
Must link against new LLVMsystem library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16104 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 22:01:44 +00:00
Nate Begeman
2f795cf12e
RemoveFileOnSignal is now in sys:: namespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16103 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 22:01:17 +00:00
Nate Begeman
81ab877a0c
Put this change back in after testing from Reid proved its innocence. getSpillSize now returns value in bits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16102 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 22:00:24 +00:00
Nate Begeman
c3d479a40f
Update doxygen comment now that getSpillSize is supposed to return value in bits
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16101 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 21:59:26 +00:00
Reid Spencer
c0854bfcfc
Add a declaration of environ global for Darwin
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16100 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 20:10:07 +00:00
Reid Spencer
93426ba5ed
Add a missing header file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16099 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 20:02:28 +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
57ec727933
Signals support has been moved to lib/System
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16097 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:36:34 +00:00
Reid Spencer
de8c47f989
Updated to create a link needed for correct lib/System compilation.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16096 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:35:28 +00:00
Reid Spencer
f13562fb97
Add lib/System ahead of lib/Support in case there are operating system
...
issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16095 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:33:21 +00:00
Reid Spencer
0172d09b64
Link with LLVMsystem.a for operating system independence.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16094 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:31:19 +00:00
Reid Spencer
debb5f085a
RemoveFileOnErrorSignal is now in the llvm::sys namespace. Adjust
...
accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16093 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:30:41 +00:00
Reid Spencer
7c4c98d986
Add the LLVMsystem.a library as it is now used for operating system
...
independence of the tool.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16092 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:29:38 +00:00
Reid Spencer
9de7b334ec
The functions in Signal.h are now in the llvm::sys namespace - adjust
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16091 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:28:55 +00:00
Reid Spencer
615edcccda
add llvmc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16090 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:27:34 +00:00
Reid Spencer
52c2dc1a42
Convert llvmc to use the lib/System interface instead of directly
...
using Unix operating system calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16089 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:26:56 +00:00
Reid Spencer
bd4dd5c33a
Move a warning comment to where it should have been in the first place.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16088 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:25:54 +00:00
Reid Spencer
36853b99a1
Correct the vim: specification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16087 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:24:53 +00:00
Reid Spencer
c3de952426
Include some additional header files.
...
Fix the banner length.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16086 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:24:20 +00:00
Reid Spencer
496c277a6d
Initial platform independent implementation of operating system concept
...
of "Signals" (cleanup after fatal errors).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16085 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:22:48 +00:00
Reid Spencer
52a7efafba
Initial commit of an platform-indepdendent implementation for the
...
"Program" operating system concept (find and execute programs).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16084 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:20:41 +00:00
Reid Spencer
fd5c345a0e
Put the lib/System interface functions in llvm::sys namespace.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16083 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:19:07 +00:00
Reid Spencer
59ee43662a
Create a link from $BUILD_OBJ_ROOT/lib/System/platform to
...
$BUILD_SRC_ROOT/lib/System/$build which gives us the ability to
configure the lib/System for the current type of operating system.
Also cleaned up some indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16082 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 19:18:05 +00:00
Nate Begeman
f2f0781a10
Implement the following missing functionality in the PPC backend:
...
cast fp->bool
cast ulong->fp
algebraic right shift long by non-constant value
These changes tested across most of the test suite. Fixes Regression/casts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16081 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 08:19:32 +00:00
Reid Spencer
67d556567f
Initial commit of the platform agnostic interface to finding and executing
...
programs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16080 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 05:29:35 +00:00
Reid Spencer
ac4b796c40
Add a function to remove whole directorys on fatal signal.
...
Doxygenify function comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16079 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 05:27:15 +00:00
Reid Spencer
8e66595512
Revise the design of the Path concept per peer review. Too many changes to
...
note individually but these essence of it is to not derive from
std::string, clarify the interface, and provide better documentation.
There is now also (untested) implementations for AIX, Darwin, and SunOS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16078 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-29 05:24:01 +00:00
Alkis Evlogimenos
81bc6e377e
Remove dead code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16077 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-28 22:43:31 +00:00
Alkis Evlogimenos
ca5d1c378c
Now that LiveIntervals::addIntervalsForSpills is fixed, do not require
...
LiveVariables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16076 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 19:00:29 +00:00
Alkis Evlogimenos
d8d26b3268
Only update LiveVariables if it is available. addIntervalsForSpills
...
runs after the initial run of the live interval analysis.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16075 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 18:59:22 +00:00
Alkis Evlogimenos
ccdf21af1f
Back out this change as it broke the build last night. This should be
...
investicated further as the linearscan variants don't really need
LiveVariables...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16074 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 18:01:21 +00:00
Nate Begeman
bd2efb9600
Back out change to divide getSpillSize by 8 until I figure out why it breaks x86, which has register sizes in bits.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16073 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 16:48:24 +00:00
Nate Begeman
52ca9e4c3d
Fix a typo in the bytecode format documentation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16072 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 07:59:37 +00:00
Alkis Evlogimenos
3f06e68783
The linear scan variants do not require the LiveVariables analysis.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16071 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 04:51:13 +00:00
Nate Begeman
5709998993
Register sizes are in bits, not bytes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16070 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 04:28:10 +00:00
Alkis Evlogimenos
fec656c44c
Add getLastBlock member. This is useful when growing a densemap keyed
...
on MachineBasicBlocks.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16069 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 04:02:35 +00:00
Alkis Evlogimenos
6177d3f448
Add MachineBasicBlock2IndexFunctor. This is useful for densemaps from
...
MachineBasicBlocks to an arbitrary type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16068 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 04:00:26 +00:00
Alkis Evlogimenos
fc093bd081
Add size member function.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16067 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 03:58:31 +00:00
Reid Spencer
7acb866f10
Add more content.
...
This isn't in reviewable shape yet, unless you're curious.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16066 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 02:08:04 +00:00
Reid Spencer
b810d5f02d
Bug 430 Fixed.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16065 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 00:48:26 +00:00
Reid Spencer
488d73a8b7
Correctly compute the number of compaction tables.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16064 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 00:43:51 +00:00
Reid Spencer
0033c18c47
Prevent an empty compaction table from being written to the bytecode file.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16063 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-27 00:38:44 +00:00
Reid Spencer
07ea1917d0
Add the CompactionTableIsEmpty function so that we can determine if a
...
CompactionTable really needs to be emitted. This is not a straight forward
computation, hence the need for a member function here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16062 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 22:32:00 +00:00
Alkis Evlogimenos
22a2f6d5b0
Use newly added API in MRegisterInfo and don't expose the allocatable
...
register set anymore. Its users now use the MRegisterInfo API.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16061 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-26 22:23:32 +00:00