Commit Graph

6605 Commits

Author SHA1 Message Date
Vikram S. Adve 95b36820bb Regression test for bug in reg. allocation that was using %xcc instead
of %icc even for 32-bit and smaller comparisons.

llvm-svn: 7110
2003-07-06 20:12:18 +00:00
Vikram S. Adve c4499d6cb1 Make the RegClassID values public -- there is no other way to get them.
llvm-svn: 7109
2003-07-06 19:53:59 +00:00
Brian Gaeke d5676e8607 Add -d option to trust the disassembler.
llvm-svn: 7105
2003-07-03 21:44:32 +00:00
Brian Gaeke 5b343a4ba1 here little scriptie, nice scriptie...
llvm-svn: 7104
2003-07-03 21:15:02 +00:00
Misha Brukman bb95605448 Apparently, the "regType" and "regClass" used in the Sparc backend are not both
correct: empirically, "regType" is wrong for a number of registers. Thus, one
can only rely on the "regClass" to figure out what kind of register one is
dealing with.

This change switches to using only "regClass" and adds a few extra DEBUG() print
statements and a few clean-ups in comments and code, mostly minor.

llvm-svn: 7103
2003-07-03 18:36:47 +00:00
Sumant Kowshik 2b30ecdb77 Added support for poolallocarray and poolmakeunfreeable. The latter is used by the SAFECode project
llvm-svn: 7102
2003-07-03 17:55:47 +00:00
John Criswell 9558399227 Fixed an error in the pathname to LLVMGCCDIR for the pre-built binaries (forgot
that <> denotes a tag).

llvm-svn: 7100
2003-07-03 16:49:40 +00:00
John Criswell 6e0f34d4c2 Added information on software requirements for unpacking the archives that we
will eventually distribute.

llvm-svn: 7099
2003-07-03 16:43:01 +00:00
Misha Brukman 3aac8e11de * Reworded a bit about JITs (I don't like acronyms followed by 's)
* Added JIT capability to the LLI description section
* LLC is quasi-x86-capable

llvm-svn: 7098
2003-07-03 16:29:36 +00:00
John Criswell 4f0dde59cd Added another remark on how building the C front end is optional.
llvm-svn: 7097
2003-07-03 16:03:39 +00:00
John Criswell c5eb46092c Performed a major update for the pre-release.
Attempted to better structure and order the document.
Added more information about autoconf, the build system, and how to build LLVM.
Added directions on how to build the C front end.
Added a section on common problems and their solutions.

llvm-svn: 7096
2003-07-03 16:01:38 +00:00
John Criswell 163110df31 Adding a web page on how to start a new LLVM Project.
llvm-svn: 7095
2003-07-03 15:37:52 +00:00
Chris Lattner cedbb88d05 Reuse the values if they are constants: this is important so that we index into the right structure field
This fixes bug: BasicAA/2003-07-03-BasicAACrash.ll

llvm-svn: 7093
2003-07-03 06:42:38 +00:00
Chris Lattner 1646906d18 New testcase
llvm-svn: 7092
2003-07-03 06:29:15 +00:00
Chris Lattner 117da20334 Remove globals more aggressively from graphs.
Fix a bug where we removed nodes that were marked U.

llvm-svn: 7090
2003-07-03 02:03:53 +00:00
Chris Lattner 79c2e891c0 INCLUDE_PARENT_GRAPH is required
llvm-svn: 7089
2003-07-02 23:57:21 +00:00
Chris Lattner c812e5f44e INCLUDE_PARENT_GRAPH is required!
llvm-svn: 7088
2003-07-02 23:57:05 +00:00
Chris Lattner 9a75369b74 Disable incorrect mustalias code
llvm-svn: 7087
2003-07-02 23:56:51 +00:00
Chris Lattner 959177fb96 Remove space at end of line
llvm-svn: 7084
2003-07-02 23:44:15 +00:00
Chris Lattner 10bcbf402a Remove dead method
llvm-svn: 7083
2003-07-02 23:43:06 +00:00
Chris Lattner 7fd198806a Fix how we are handling unreachable functions. This DRAMATICALLY improves efficiency
llvm-svn: 7082
2003-07-02 23:42:48 +00:00
John Criswell 68c49640b7 Updated prior to the pre-release.
Removed items which are done (or near completion).
Added new items so that we don't forget them.

llvm-svn: 7081
2003-07-02 23:03:18 +00:00
Misha Brukman 97d3ce313b The word `open' was really intended to be `option'.
llvm-svn: 7080
2003-07-02 21:20:04 +00:00
John Criswell e59e2fdbc8 Removed the --enable-profiling option.
llvm-svn: 7079
2003-07-02 21:16:06 +00:00
John Criswell 61471078af Removed the --enable-profiling option (again).
llvm-svn: 7078
2003-07-02 20:49:38 +00:00
Chris Lattner cd7482b354 Keep track of how many inlinings are performed
llvm-svn: 7076
2003-07-02 20:24:42 +00:00
Chris Lattner d3d5c5c98e Try using trivially dead deletion
llvm-svn: 7075
2003-07-02 19:49:11 +00:00
Misha Brukman 20d93ca01d * Force all "don't care" bits to 0 so that there are absolutely no unset bits in
the TableGen descriptions; all unset bits are thus errors.
* As a result, found and fixed instructions where some operands were not
  actually assigned into the right portion of the instruction.

llvm-svn: 7074
2003-07-02 19:37:48 +00:00
Misha Brukman eccc0dac91 The classes F4_3 and F4_4 have an `rd' operand that needs to be set.
llvm-svn: 7073
2003-07-02 18:27:47 +00:00
Misha Brukman 81951e1142 Properly fix instruction syntax in comments, using `imm' for instructions that
use an immediate value instead of a register.

llvm-svn: 7072
2003-07-02 18:15:43 +00:00
Misha Brukman 6f9caec57f Fixed instruction syntax in the comments (specifies how instr is used).
llvm-svn: 7071
2003-07-02 18:02:58 +00:00
Misha Brukman 7dee443c1c * If compiling on X86 or Sparc, automagically enable the JIT for that arch
* Setting ENABLE_X86_JIT or ENABLE_SPARC_JIT on the `make' command-line will
  force the inclusion of that JIT on a different architecture
* If neither JIT is enabled (e.g., compiling on a different architecture), the
  -march option will not be available to LLI.
* As a side effect of the $ARCH variable, the Sparc LLI can now link just a bit
  faster by not including the x86 library.

llvm-svn: 7070
2003-07-02 17:53:19 +00:00
John Criswell 7ace0c39c8 Removed the CPPFLAGS and CFLAGS variables since the -DHAVE_CONFIG_H messes
up the test suite.  Since all the LLVM software assumes that config.h exists,
we can just do away with it for now.

llvm-svn: 7069
2003-07-02 16:53:44 +00:00
Vikram S. Adve 7a4abf89fa Force fixed-size but large alloca objects to the dynamically allocated
area to avoid using up precious stack space within the 4095 offset limit
from %fp.  Such objects that would themselves live at a large offset
were being put there already so this is a simple change.

llvm-svn: 7066
2003-07-02 06:59:22 +00:00
Chris Lattner ad7b9c1810 Remove dead Nodes list
llvm-svn: 7065
2003-07-02 06:06:34 +00:00
Chris Lattner 116f68a990 Complete rewrite of td pass
llvm-svn: 7064
2003-07-02 04:39:44 +00:00
Chris Lattner 049d558988 Print collapsed to match the paper
llvm-svn: 7063
2003-07-02 04:39:27 +00:00
Chris Lattner 0b61cdd191 Reduce amount of work we do calculating mustaliases if the arg is a global
llvm-svn: 7062
2003-07-02 04:39:13 +00:00
Chris Lattner 03f3cb1af7 Add support for ParentGraph only when building in debug mode
Minor cleanups, reenable folding of call nodes to external functions

llvm-svn: 7061
2003-07-02 04:38:49 +00:00
Chris Lattner db6e0ac800 Add some functions to the blacklist
llvm-svn: 7060
2003-07-02 04:38:00 +00:00
Chris Lattner 5a3d63d5aa Make the BU closure keep track of which actual calls happen
Minor cleanups

llvm-svn: 7059
2003-07-02 04:37:48 +00:00
Chris Lattner 3ff99e3731 Make local pass print out its progress
llvm-svn: 7058
2003-07-02 04:37:26 +00:00
Chris Lattner 60321c2c49 Add new methods
llvm-svn: 7057
2003-07-02 04:37:00 +00:00
Chris Lattner b10e385c01 Disable the parent graph code when not compiled in DEBUG mode
llvm-svn: 7056
2003-07-02 04:33:55 +00:00
Vikram S. Adve 9a8f8e3e95 Leak fix: delete old objects before reallocation in an assignment operator!
llvm-svn: 7055
2003-07-02 01:25:44 +00:00
Vikram S. Adve 1fce4cfa95 Minor beautification: fold a couple of lines of code.
llvm-svn: 7054
2003-07-02 01:24:00 +00:00
Vikram S. Adve cf952cb504 (1) Major bug fix: DecomposeArrayRef() replaces its argument instr. and
deletes it, but we were merrily trying to fix the operands of that
    instruction anyway!  Instead, fix the replacement instruction.

(2) An Improvement: Check for and extract global values in all operands,
    not just in known pointer operands.  For example, they can occur in
    call arguments, and probably other unforeseeable places as well.
    This also eliminates the special-case handling of Load and Store.

llvm-svn: 7053
2003-07-02 01:23:15 +00:00
Vikram S. Adve fa1dde06aa A def. operand of a machine instruction may be an ordinary Value*,
not just an Instruction*, at least in one unfortunate case:
the first operand to the va_arg instruction.
Modify ValueToDefVecMap to map from Value*, not Instruction*.

llvm-svn: 7052
2003-07-02 01:16:01 +00:00
Vikram S. Adve b5f8ada255 Bug/case fixes:
(1) select: Ok to convert a pointer to a float or double.
(2) regalloc: Some MachineInstr* for caller-saving code before a call
    were being inserted before and after the call!
(3) Don't insert the caller-saving instructions in the
    MachineCodeForInstruction for the Call instruction.
    *All* instructions generated by register allocation need to be
    recorded in those maps, but it needs to be done uniformly.

llvm-svn: 7051
2003-07-02 01:13:57 +00:00
John Criswell 29eafac9ff Added the ARCH variable so that some of the Makefiles can perform actions based
upon the target hardware architecture (as opposed to always checking the OS).

llvm-svn: 7050
2003-07-01 22:07:39 +00:00