Commit Graph

7497 Commits

Author SHA1 Message Date
Chris Lattner e06f51c55f Make the testcase more interesting
llvm-svn: 7961
2003-08-18 21:44:10 +00:00
Chris Lattner 016ccdfea6 Add new -disable-verify option
llvm-svn: 7960
2003-08-18 20:47:13 +00:00
Chris Lattner f3f63ace86 New testcase distilled from mutt
llvm-svn: 7959
2003-08-18 20:19:18 +00:00
Chris Lattner 7291a2998d Remove fixme
llvm-svn: 7958
2003-08-18 20:08:32 +00:00
Chris Lattner 3c81d9ac54 Add the magic incantations to get a running LOC graph updated each night...
llvm-svn: 7957
2003-08-18 20:07:54 +00:00
Chris Lattner b3b70f982e Add in the running LOC chart
llvm-svn: 7956
2003-08-18 19:59:28 +00:00
Chris Lattner 8e69339879 no really, implement it!
llvm-svn: 7955
2003-08-18 17:33:15 +00:00
Chris Lattner 598222b5e8 Add new cleandeps target, to allow easy cleaning out of .d files
llvm-svn: 7954
2003-08-18 17:27:40 +00:00
Chris Lattner 0627a96e7e Add support for casting any pointer to any integer type
llvm-svn: 7953
2003-08-18 17:23:40 +00:00
Chris Lattner ab69ecc6d5 Fix linking bug in xboard
llvm-svn: 7952
2003-08-18 16:54:48 +00:00
Chris Lattner a592cac43c Add support for the sig(set|long)jmp intrinsics
llvm-svn: 7951
2003-08-18 16:06:09 +00:00
Chris Lattner 26399a7a84 New testcase, distilled from ed-0.2
llvm-svn: 7950
2003-08-18 15:45:55 +00:00
Chris Lattner 748e9e143b Add intrinsics for the llvm.sig(set|long)jmp functions
llvm-svn: 7949
2003-08-18 15:41:24 +00:00
Chris Lattner 71f6543c0e Wrap line at 80 columns
Fix bogus failures

llvm-svn: 7947
2003-08-18 15:11:13 +00:00
Misha Brukman 7eb05a170a Spell `necessary' correctly.
llvm-svn: 7944
2003-08-18 14:43:39 +00:00
Chris Lattner 688d99fd9c Fix minor bugs in the tester
llvm-svn: 7943
2003-08-18 14:07:03 +00:00
Chris Lattner f5ba14b58a * Split the programs table into MultiSource and SingleSource components
* Instead of printing the time to configure as the build time, print the
  time to configure AND the build time, explicitly

llvm-svn: 7942
2003-08-18 06:05:21 +00:00
Chris Lattner 978b8487dd The CBE output is compiled at -O2
llvm-svn: 7938
2003-08-18 04:39:41 +00:00
Chris Lattner fe2b22fe54 Add docs for new column, native tests now run with -O2
llvm-svn: 7935
2003-08-18 04:32:34 +00:00
Chris Lattner fe65f947dd New testcase distilled from GNU Go
llvm-svn: 7930
2003-08-18 02:57:31 +00:00
Chris Lattner 7a993b7aad Give correct command line for making a shared object
llvm-svn: 7929
2003-08-17 23:38:53 +00:00
Chris Lattner 4b422520ca Fix ABI issue: Longs really do need to be only 4 byte aligned on X86.
This bug caused miscompilation of programs using 'struct stat', but only if
compiled with support for 64-bit filesystems.  This could in theory effect
other things, but only if the LLVM code shared data structures with native code.

llvm-svn: 7928
2003-08-17 23:20:40 +00:00
Chris Lattner f1243ba515 Make sure that "newmain" gets names for its arguments
llvm-svn: 7927
2003-08-17 22:14:20 +00:00
Chris Lattner 8877fa2e5e Fix message
llvm-svn: 7926
2003-08-17 22:08:25 +00:00
Chris Lattner c01f05f4be Fix the bug that broke the nightly tester in McCat/18-imp last night. :(
llvm-svn: 7925
2003-08-17 21:47:33 +00:00
Chris Lattner 61b05eaeec Make the check for a failed test run more robust!!
llvm-svn: 7924
2003-08-17 20:52:05 +00:00
Chris Lattner 821deeeffa Implement folding of switch instructions.
Implements SimplifyCFG/2003-08-17-FoldSwitch.ll

llvm-svn: 7923
2003-08-17 20:21:14 +00:00
Chris Lattner 26dc7b6224 New testcase to ensure that switch folding happens correctly
llvm-svn: 7922
2003-08-17 20:19:31 +00:00
Chris Lattner 031340a551 Fix bug: SimplifyCFG/2003-08-17-BranchFoldOrdering.ll
llvm-svn: 7921
2003-08-17 19:41:53 +00:00
Chris Lattner 05ed0396ec New testcase
llvm-svn: 7920
2003-08-17 19:37:57 +00:00
Chris Lattner 4b7e3364c7 The fixme is irrelevant: if that happens, the LLVM bytecode is malformed.
This fixes testcase: SimplifyCFG/2003-08-17-BranchFold.ll

llvm-svn: 7919
2003-08-17 19:34:55 +00:00
Chris Lattner 2f3ef79496 New testcase
llvm-svn: 7918
2003-08-17 19:29:34 +00:00
Chris Lattner 99211dc999 This really isn't the gcc library!
llvm-svn: 7917
2003-08-17 18:37:45 +00:00
Chris Lattner 931947db18 Fix bug: Jello/2003-08-15-AllocaAssertion.ll
llvm-svn: 7916
2003-08-17 18:01:15 +00:00
Chris Lattner 7a991010d6 Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll
llvm-svn: 7915
2003-08-16 20:57:16 +00:00
Chris Lattner 5be09ac5b0 No need to print in the testcase
llvm-svn: 7914
2003-08-16 20:56:35 +00:00
Brian Gaeke f365176472 Rename -emitmaps to -enable-maps
llvm-svn: 7913
2003-08-16 00:23:16 +00:00
Misha Brukman 85f561f9ba `execve_test' is not part of LLEE.
llvm-svn: 7912
2003-08-15 23:31:54 +00:00
Misha Brukman 0298d3e6ff A lot of changes were suggested by Chris.
ExecveHandler.c:
* Use "" instead of <> for LLVM include files
* Use raw I/O, we don't need buffering
* Set errno = 0 before using open()
* strlen() doesn't count NULL terminator in its size
* Use memcmp() instead of strcmp()
* Return result of the real execve(), not 0
* Search for path to bytecode file if not absolute/relative path

SysUtils.c:
* Convert all comments to C-style
* Stop using `bool', use `unsigned' instead

SysUtils.h:
* Stop using `bool', use `unsigned' instead
* Updated comment to FindExecutable()

README.txt:
* Describe the goal of LLEE and an application

llvm-svn: 7911
2003-08-15 23:31:16 +00:00
Chris Lattner f38f8275d7 new testcase narrowed down from xboard
llvm-svn: 7910
2003-08-15 23:15:37 +00:00
Chris Lattner 909f56a7a6 New testcase identified by misha, distilled from the 'ls' program
llvm-svn: 7909
2003-08-15 22:36:55 +00:00
Brian Gaeke 91e16e750b Fix typo in comment
llvm-svn: 7906
2003-08-15 21:19:25 +00:00
Brian Gaeke 497216dc00 lib/Support/CommandLine.cpp:
Many changes suggested by Chris. It's okay, I'll recover from the emotional
damage...maybe someday. :-)

Collapse ParseCStringVector into ParseStringVector.  Comment it.
Make it take a const input.
Use std::string::npos instead of -1 (what a mouthful!)
Make ParseEnvironmentOptions take const inputs.
Check its args at the very beginning.
Strdup all the contents of newArgv and free them all at the end.

include/Support/CommandLine.h:
Constify progName and envVar arguments to ParseEnvironmentOptions().

llvm-svn: 7905
2003-08-15 21:05:57 +00:00
Misha Brukman c98ef9aeb7 hash_map and hash_set:
* Define HASH_NAMESPACE to `std' in the case of pre-3.0 GCC compilers
* Add comments to clarify the intent of all the #ifdef madness
* Add VIM directive to highlight files as C++

llvm-svn: 7903
2003-08-15 20:01:10 +00:00
Chris Lattner 92fc9b0fc5 Remove extraneous ;'s, no functional changes
llvm-svn: 7902
2003-08-15 20:00:47 +00:00
Misha Brukman 2ba18cb02a * Match the column names in the report
* Describe and clarify meanings of columns
* Fix up HTML: close <a> and <li> tags

llvm-svn: 7900
2003-08-15 19:31:04 +00:00
Misha Brukman 0238ea5d69 Now that the JIT memory manager allocates as many bytes as necessary rather than
rounding up to a page, we need to request (num instrs * 4) bytes. However, I
think that 64 bytes is overkill for the stub function.

llvm-svn: 7888
2003-08-15 18:03:06 +00:00
Misha Brukman 2d0a292edc Reordered includes to be consistent with the LLVM style.
llvm-svn: 7887
2003-08-15 17:52:02 +00:00
Chris Lattner 488c2d4f5f Document new column, remove X86 specific stuff
llvm-svn: 7886
2003-08-15 16:29:06 +00:00
Misha Brukman 7d98bf2921 Fix register and parameter numbers in saving double FP registers.
llvm-svn: 7884
2003-08-15 16:15:28 +00:00
Chris Lattner 5c0b0ba3f8 Add llvm tools to path of LLVMGCC
llvm-svn: 7882
2003-08-15 15:20:52 +00:00
Chris Lattner 2aae234ead Remove extraneous #include
llvm-svn: 7881
2003-08-15 05:21:30 +00:00
Chris Lattner 3b5b633c77 Remove uses of the NonCopyable class, to make the doxygen output look better
llvm-svn: 7880
2003-08-15 05:20:06 +00:00
Chris Lattner 8023f5c1c9 Revert my last (accidental) checkin, but keep the typeo fix
llvm-svn: 7879
2003-08-15 04:56:47 +00:00
Chris Lattner 6ae402fd2c rename selection library to selectiondag
llvm-svn: 7878
2003-08-15 04:56:09 +00:00
Chris Lattner 0605c232b7 rename selection directory and library to SelectionDAG
llvm-svn: 7877
2003-08-15 04:55:22 +00:00
Chris Lattner 4640c6c05e build the new runtime directory
llvm-svn: 7876
2003-08-15 04:53:45 +00:00
Chris Lattner e81de41edf Add a bunch of new node types, etc
llvm-svn: 7875
2003-08-15 04:53:16 +00:00
Chris Lattner a9ed3a52cb Add support for basic blocks, unary/binary unspecs, conditional branches, ...
llvm-svn: 7874
2003-08-15 04:52:51 +00:00
Chris Lattner 3830ba4cd8 Adjust to new API, add expandCall stub
llvm-svn: 7873
2003-08-15 04:51:59 +00:00
Chris Lattner 7235d86507 Add support for unconditional branches and for emitting JE instructions
llvm-svn: 7872
2003-08-15 04:50:49 +00:00
Chris Lattner eb745be508 Ignore dummy register classes
llvm-svn: 7871
2003-08-15 04:36:19 +00:00
Chris Lattner 572c69ea1e Add a bunch of new node types, including a new Void dummy register class
llvm-svn: 7870
2003-08-15 04:35:14 +00:00
Chris Lattner 32dd756809 Add support for nodes with void arguments, like chain nodes
llvm-svn: 7869
2003-08-15 04:28:04 +00:00
Chris Lattner 2e9fc94afc Make sure to create the directory before we cram a .bc file into it
llvm-svn: 7864
2003-08-15 03:02:52 +00:00
Chris Lattner 7aabe391b8 Adjust level, build things in parallel
llvm-svn: 7863
2003-08-15 02:38:18 +00:00
Chris Lattner 43063248aa initial checkin, adjust LEVEL
llvm-svn: 7862
2003-08-15 02:38:06 +00:00
Chris Lattner 002c6a65c5 Initial checkin of README
llvm-svn: 7861
2003-08-15 02:35:13 +00:00
Chris Lattner aea063b30a Initial checkin of runtime/GCCLibraries makefile
llvm-svn: 7860
2003-08-15 02:33:49 +00:00
Chris Lattner d750ca9595 Update readme
llvm-svn: 7859
2003-08-15 02:31:23 +00:00
Chris Lattner 2a6b89bec5 Convert libraries into the BYTECODE_LIBRARY style
llvm-svn: 7858
2003-08-15 02:20:32 +00:00
Chris Lattner bf6efd1c6c Disable this library for now
llvm-svn: 7857
2003-08-15 02:19:43 +00:00
Chris Lattner 18f5a36838 Some of this gets hoisted up to Makefile.common
llvm-svn: 7856
2003-08-15 02:19:08 +00:00
Chris Lattner 0c4f4fe11b Implement BYTECODE_LIBRARY support
llvm-svn: 7855
2003-08-15 02:18:35 +00:00
Misha Brukman a12864b1bd * Must save FP registers when calling CompilationCallback(), because FP
registers are global, are NOT windowed, and hence can be clobbered!
* Removed unused register shorthand notations
* Fixed and cleaned up comments in inline assembly

llvm-svn: 7853
2003-08-15 00:26:50 +00:00
Chris Lattner e58e442e20 Remove extraneous cl:: namespace qualifiers
llvm-svn: 7852
2003-08-14 22:04:41 +00:00
Brian Gaeke ca782d9fe6 Add support for reading command line arguments from an environment variable.
llvm-svn: 7851
2003-08-14 22:00:59 +00:00
Chris Lattner 23991d5d65 Simplifications to Makefile.common, remove support for Purify since it was
broken by libtoolification anyways, and noone can use it because purify doesn't
support the 64-bit sparc compilers even if it weren't broken!

llvm-svn: 7850
2003-08-14 21:10:25 +00:00
Chris Lattner ecc3ec0ca9 Disable this support stuff, it doesn't work under linux anyway
llvm-svn: 7849
2003-08-14 20:55:38 +00:00
Vikram S. Adve 96c81e9fff Improvement to the previous fix: branch following a delay slot of
another delayed instr. would cause the later sanity-check (assertion)
in PhyRegAlloc.cpp to fail, even though there is really no error.

llvm-svn: 7848
2003-08-14 20:45:56 +00:00
Chris Lattner 47be951787 Stop annoying warnings about mismatched types with the argument of a free
implement more constant expressions so that 176.gcc compiles with the CBE

llvm-svn: 7847
2003-08-14 19:19:53 +00:00
Chris Lattner 0064550636 I just moved papi to a new directory
llvm-svn: 7846
2003-08-14 18:59:53 +00:00
Chris Lattner f26be8427d Implement a _REAL_ memory manager for the code generated by the JIT. This
speeds up program execution by 15% pretty consistently for large programs

llvm-svn: 7845
2003-08-14 18:35:27 +00:00
Misha Brukman 71e5ae9349 Using `std::remove' requires `cstdio.h'.
llvm-svn: 7843
2003-08-14 16:05:35 +00:00
Misha Brukman 2b6d3384ce * Enable SPEC testing in the `configure' script command line
* Switched from using `m||' to `m##' because VIM mis-highlights `m||'
* Simplified the regex getting the file version number

llvm-svn: 7842
2003-08-14 15:26:28 +00:00
Misha Brukman 4aab2b25b3 Since we now have TableGen editing modes for VIM and (X)Emacs, we no longer need
to mark TableGen description files with "C++ mode".

llvm-svn: 7841
2003-08-14 15:16:28 +00:00
Chris Lattner bf0c0100f6 Restore 'nice name' to pass
llvm-svn: 7840
2003-08-14 14:43:24 +00:00
Brian Gaeke 8c14ba96ca Factory methods for function passes now return type FunctionPass *.
llvm-svn: 7839
2003-08-14 06:09:32 +00:00
Brian Gaeke 2cc4b9dd2c Add new method to FunctionPassManager to add ImmutablePasses.
llvm-svn: 7838
2003-08-14 06:07:57 +00:00
Brian Gaeke 74db4c7e27 Unbreak SPARC backend: addPassesToJITCompile and
addPassesToEmitMachineCode now both take a FunctionPassManager.

llvm-svn: 7837
2003-08-14 06:04:59 +00:00
Brian Gaeke cbd3a40626 Factory methods for function passes now return type FunctionPass *.
Get rid of RegisterLLC, which can't handle FunctionPasses anyway.

llvm-svn: 7836
2003-08-14 06:04:49 +00:00
Brian Gaeke ec8519d6b6 Unbreak SPARC backend: addPassesToJITCompile and
addPassesToEmitMachineCode now both take a FunctionPassManager.
Factory methods for function passes now return type FunctionPass *.

llvm-svn: 7835
2003-08-14 06:04:29 +00:00
Chris Lattner e7e094467d Dramatically simplify how -time-passes works.
This also enables -time-passes for FunctionPassManagers, which allows it to
be used for the JIT

llvm-svn: 7834
2003-08-14 05:20:28 +00:00
Misha Brukman 0fe23478bf Using std::string requires `#include <string>', says gcc-2.95.3.
llvm-svn: 7833
2003-08-13 22:27:15 +00:00
Chris Lattner cbf0839a03 Fix FIXME by removing FIXME
llvm-svn: 7832
2003-08-13 22:15:04 +00:00
Chris Lattner afa3ec446c This file uses stable_sort
llvm-svn: 7831
2003-08-13 21:32:37 +00:00
Chris Lattner dad4e27046 I must have missed these when eliminating the cast to bool cannonicalizations
llvm-svn: 7829
2003-08-13 20:17:41 +00:00
Chris Lattner 3ac7c26a1c Implement instcombine optimizations:
(A <setcc1> B) logicalop (A <setcc2> B)  -> (A <setcc3> B) or true or false

Where setcc[123] is one of the 6 setcc instructions, and logicalop is one of: And, Or, Xor

llvm-svn: 7828
2003-08-13 20:16:26 +00:00
Chris Lattner faedc5ef79 Add some more tests for: (A <setcc1> B) logicalop (A <setcc2> B)
llvm-svn: 7827
2003-08-13 20:13:15 +00:00
Brian Gaeke ed474bb329 X86 static backend: smacked
Function at a time: smacked

Who you gonna call!!!  :-)

llvm-svn: 7826
2003-08-13 19:02:09 +00:00
Chris Lattner b8b97505ba Generalize some of the add tests to allow for reassociation to take place
llvm-svn: 7825
2003-08-13 19:01:45 +00:00
Chris Lattner 895746a4b7 Add some tests for difficult reassociation cases
llvm-svn: 7824
2003-08-13 19:01:09 +00:00
Brian Gaeke 89207943a1 Factory methods for FunctionPasses now return type FunctionPass *.
llvm-svn: 7823
2003-08-13 18:18:15 +00:00
Brian Gaeke aa58664639 Deconstify parameter to getPointerToFunction().
llvm-svn: 7822
2003-08-13 18:17:54 +00:00
Brian Gaeke 845b5af4d4 addPassesToJITCompile and addPassesToEmitMachineCode now take a
FunctionPassManager, to support function-at-a-time compilation and
 emission of code.

llvm-svn: 7821
2003-08-13 18:17:27 +00:00
Brian Gaeke 2b804a2797 Deconstify parameter to getPointerToFunction().
Use a FunctionPassManager instead of a PassManager.

llvm-svn: 7820
2003-08-13 18:16:50 +00:00
Brian Gaeke 5896956ff0 Deconstify parameter to getPointerToFunction().
Run passes on single function (hey, just-in-time compilation!)
 instead of the entire module that contains it.

llvm-svn: 7819
2003-08-13 18:16:34 +00:00
Brian Gaeke 1678e859b0 In ExecutionEngine::getPointerToGlobal(), throw away const qualifier
on Function * when passing it to getPointerToFunction().

llvm-svn: 7818
2003-08-13 18:16:14 +00:00
Brian Gaeke 02cbe2824c addPassesToJITCompile now takes a FunctionPassManager, to support
function-at-a-time compilation and emission of code.
Separate addPassesToEmitAssembly from addPassesToJITCompile, because
 the latter requires you to use FunctionPasses, and the former might
 diverge anyway.

llvm-svn: 7817
2003-08-13 18:15:52 +00:00
Brian Gaeke 1a6f2b83ab Factory methods for FunctionPasses now return type FunctionPass *.
Correct one of the functions' comments.

llvm-svn: 7816
2003-08-13 18:15:29 +00:00
Brian Gaeke 1600c4a70c Factory methods for FunctionPasses now return type FunctionPass *.
Revert (to v1.55) one of the hunks of Chris's change that messed up the
 %-register workaround.

llvm-svn: 7815
2003-08-13 18:15:15 +00:00
Chris Lattner 8ac196dd3b Assign arguments different ranks so they get grouped together
llvm-svn: 7813
2003-08-13 16:16:26 +00:00
Chris Lattner cea4d8c2f5 Implement constant folding of casts from boolean constants to other values
llvm-svn: 7812
2003-08-13 15:52:25 +00:00
John Criswell 35364c8408 Removing the pool allocator from the main CVS tree.
Use the poolalloc module in CVS from now on.

llvm-svn: 7810
2003-08-13 15:36:15 +00:00
Chris Lattner d07283a2ad Implement InstCombine/2003-08-12-AllocaNonNull.ll
llvm-svn: 7807
2003-08-13 05:38:46 +00:00
Chris Lattner c992add9fe Do not cannonicalize (X != 0) into (cast X to bool)
llvm-svn: 7806
2003-08-13 05:33:12 +00:00
Chris Lattner 9b741f172c Reorganize tests because we no longer cannonicalize X != 0 -> cast X to bool
In fact, we plan to eliminate cast to bool entirely.

llvm-svn: 7805
2003-08-13 05:27:57 +00:00
Chris Lattner bcbac5eaea Update test to represent new cannonicalization rules for multiplies
llvm-svn: 7804
2003-08-13 04:20:06 +00:00
Chris Lattner ede3fe05c5 Change cannonicalization rules: add X,X is represented as multiplies, multiplies
of a power of two are represented as a shift.

llvm-svn: 7803
2003-08-13 04:18:28 +00:00
Chris Lattner ec611ae0d0 Adjust files for move of mapping info stuff into the Sparc directory
llvm-svn: 7802
2003-08-13 02:38:16 +00:00
Chris Lattner bb9be9ddbc Mapping directory no longer exists
llvm-svn: 7801
2003-08-13 02:37:24 +00:00
Chris Lattner 32fdf188e7 Incorporate mapping library into the sparc library
llvm-svn: 7800
2003-08-13 02:28:20 +00:00
Chris Lattner e9643bb118 Obsolete file
llvm-svn: 7799
2003-08-13 02:27:13 +00:00
Brian Gaeke dd306efa11 Just incorporating some notes I wrote for myself into a place where they won't
get lost...

llvm-svn: 7798
2003-08-13 00:30:48 +00:00
Vikram S. Adve 26a1f5fe87 Make MInst2LVSetBI and MInst2LVSetAI be hash_maps instead of maps.
Add some comments and non-const methods to fix constness problems.

llvm-svn: 7797
2003-08-12 23:39:08 +00:00
Vikram S. Adve 7dc5b6707c For instructions in a delay slot of another instruction,
we no longer need to find the live-before set of the delayed
branch since that set is now included the live-before/after
set of the instructions in each delay slot.  Just assert that instead.

llvm-svn: 7796
2003-08-12 22:22:24 +00:00
Vikram S. Adve 869b11b7c4 For an instruction with delay slots, mark all live values before
the instruction as being live before/after the delay slot
instructions as well.

llvm-svn: 7795
2003-08-12 22:19:59 +00:00
Brian Gaeke 709a16a0bc Give std::map<BasicBlock *, BasicBlock *> the short name BBMap, because
it's used 7 different times.
Rename `getBackEdges' to `findAndInstrumentBackEdges', for clarity.
Remove some excess whitespace and commented-out code.
Use shorter forms of CallInst ctors.
Do not make `reopt_threshold' visible to the LLVM program, and do not
 pass it to the call to `reoptimizerInitialize'.  Don't pass the
 GlobalVariable representing it to any of our helper methods.
 `reopt_threshold' is an internal parameter of the reoptimizer, which
 InstLoops does not need to know about.

llvm-svn: 7794
2003-08-12 22:00:24 +00:00
Chris Lattner deaa0dd71a Allow pulling logical operations through shifts.
This implements InstCombine/shift.ll:test14*

llvm-svn: 7793
2003-08-12 21:53:41 +00:00
Chris Lattner 98b3ecddec Fix bug: Reassociate/2003-08-12-InfiniteLoop.ll
llvm-svn: 7792
2003-08-12 21:45:24 +00:00
Chris Lattner 15be830b4f new testcase
llvm-svn: 7791
2003-08-12 21:35:55 +00:00
Chris Lattner e8c98debef Right, instcombine cannot remove ((X >> C) << C) if it's signed.
llvm-svn: 7790
2003-08-12 21:22:51 +00:00
Chris Lattner 699b952403 New testcases
llvm-svn: 7789
2003-08-12 21:20:49 +00:00
Chris Lattner 291675b34d Reenable optimized build
llvm-svn: 7788
2003-08-12 20:46:50 +00:00
Chris Lattner 58c7eb60ec Assign finer grained ranks, make sure to reassociate top-level after reassociating bottom level
llvm-svn: 7787
2003-08-12 20:14:27 +00:00
Chris Lattner 01d5639515 Simplify code
llvm-svn: 7783
2003-08-12 19:17:27 +00:00
Chris Lattner 812aab7727 Implement testcases InstCombine/or.ll:test16/test17
llvm-svn: 7782
2003-08-12 19:11:07 +00:00
Chris Lattner 4d9385c849 New testcases
llvm-svn: 7781
2003-08-12 19:10:50 +00:00
John Criswell 48ecca60e1 Merged in changes between PRE11_ROOT and LLVM_PRE111 (i.e. the beginning of
the pre-release 1.1 branch and pre-release 1.1.1).
Made the USE_SPEC option work.
Silenced unnecessary error output from the cmp command when checking for
updates to lex/yacc generated files.  This fixes a problem where we get error
messages the first time the file is generated.
Fixed the distclean option.  It is now in the Makefile (i.e. only runs in the
top level source directory), removes more files, and plays nicely with
external project Makefiles.

llvm-svn: 7780
2003-08-12 18:51:51 +00:00
Brian Gaeke b7a8388b8c Add FunctionPassManager - it's like a PassManager, but it only deals in
FunctionPasses.

llvm-svn: 7778
2003-08-12 17:22:39 +00:00
Vikram S. Adve d6f22ad8d3 Disable emitting LLVM-to-MI maps, by default.
Add -emitmaps options to turn this back on.

llvm-svn: 7774
2003-08-12 15:51:02 +00:00
Chris Lattner 05e8f9cea0 Testcase for feature we should support eventually
llvm-svn: 7772
2003-08-12 14:58:08 +00:00
Chris Lattner e5b8234685 Fix emission of instructions that directly reference MBBs
llvm-svn: 7771
2003-08-12 05:19:49 +00:00
Chris Lattner 9f09954df9 Make LOC count more accurate by not including the tablegen lexer/parser, any .inc files, which are generated by tablegen, nor .lo files which sometimes get picked up from libtool
llvm-svn: 7770
2003-08-12 05:11:12 +00:00
Chris Lattner 0e3ec2c1bf Add support for the Any type. Minor fixes and enhancements for BasicBlock operands
llvm-svn: 7769
2003-08-12 04:56:42 +00:00
Chris Lattner 58dc2187ac Rename DNVT_bool to DNVT_i1 to be consistent with type system
llvm-svn: 7768
2003-08-12 04:28:21 +00:00
Chris Lattner a8ae6c570f Add support for basicblocks, setCC instructions, and branches
llvm-svn: 7767
2003-08-12 04:17:29 +00:00
Chris Lattner 045049beb9 Add support for a bool argty
llvm-svn: 7766
2003-08-12 04:12:42 +00:00
Vikram S. Adve 029ed09323 Fix va_arg to generate LDDFi for floating point values, instead of LDXi.
All non-FP cases use LDXi as before.

llvm-svn: 7765
2003-08-12 03:04:05 +00:00
Sumant Kowshik 46d9b22e90 Bug fix: Some nodes pointed to by globals may not be marked incomplete and need to be tracked to find pool arguments
llvm-svn: 7763
2003-08-12 00:45:13 +00:00
Sumant Kowshik dca760a431 Minor fix so that the program exits upon a poolfree failure
llvm-svn: 7762
2003-08-12 00:43:23 +00:00
Chris Lattner 4bdec32446 It is not an error if a rule does not match, it's just a failed match!
llvm-svn: 7761
2003-08-11 22:30:51 +00:00
Misha Brukman 46b0345761 Initial checkin of the LLEE, the (LL)VM (E)xecution (E)nvironment.
llvm-svn: 7760
2003-08-11 22:29:36 +00:00
Chris Lattner 7606fa0d41 Add basic support for 16 and 32 bit function arguments!
llvm-svn: 7755
2003-08-11 21:30:00 +00:00
Chris Lattner 6088a0b4cb add frameidx support
Make load work
Make type inference infer from Arg1 to arg0 as well as from arg0 to arg1

llvm-svn: 7754
2003-08-11 21:29:40 +00:00
Chris Lattner e021bceb18 Add support for frameidx and literal immediates for instructions
llvm-svn: 7749
2003-08-11 21:28:59 +00:00
Chris Lattner 03d00fe39a Add support for naming the destination of a "set" in a pattern
llvm-svn: 7748
2003-08-11 20:32:02 +00:00
Chris Lattner bb9dfb0782 Add support for the Arg1 argument type
llvm-svn: 7747
2003-08-11 20:25:52 +00:00
Chris Lattner 1a2e6f7917 Sort #includes, eliminate #include of "llvm/Type.h" which was redundant
llvm-svn: 7746
2003-08-11 20:06:16 +00:00
Chris Lattner 262c832aea Cygwin apparently works with %'s on registers!
llvm-svn: 7745
2003-08-11 20:04:57 +00:00
Brian Gaeke e2fe394f6f If we can't find INT64_MAX, set it to a reasonable default value,
instead of printing out an (incorrect) #error message.

llvm-svn: 7744
2003-08-11 20:04:57 +00:00
Chris Lattner 1ae8eb0021 Whoops, accidental checkin. :(
llvm-svn: 7743
2003-08-11 19:35:46 +00:00
Chris Lattner 9a59f58d90 Add a new -enable-cygwin-compatible-output argument, which make the output more
consumably by the cygwin assembler.  This is really just a nasty hack until we
get real target triple support.

llvm-svn: 7742
2003-08-11 19:35:26 +00:00
Chris Lattner ce200422d4 Add support to the mangler for targets which require _'s on global symbols
llvm-svn: 7741
2003-08-11 19:34:29 +00:00
Misha Brukman b1e7b2dd7e Added keyword `include', and a FIXME for hex and binary constants.
llvm-svn: 7740
2003-08-11 19:14:20 +00:00
Misha Brukman 8efaeb3106 * Added pointers to the README files in emacs/ and vim/ directories.
* Added slashes to distinguish directories and tools from simple scripts.

llvm-svn: 7739
2003-08-11 19:13:12 +00:00
Misha Brukman 7170f65f1f * Added (X)Emacs mode for TableGen description files
* Added README that describes how to use the mode files
* Associated files with .llx extension with llvm-mode

llvm-svn: 7738
2003-08-11 19:10:02 +00:00
Brian Gaeke 12b32533cc Print % signs before register names; turn off "noprefix" mode in gas output.
Fixes test case test/Programs/LLVMSource/2003-08-03-ReservedWordGlobal.ll.

Also: Refactor implicit-uses printing into its own method.
Remove a couple of unused variables.

llvm-svn: 7737
2003-08-11 19:05:46 +00:00
Chris Lattner 264ee89b28 Geez, this misha guy is a _horrible_ speller. :)
llvm-svn: 7736
2003-08-11 18:53:14 +00:00
Misha Brukman efe54beb7a * Added a section describing the hidden gems in llvm/utils
* Converted some tabs to spaces
* Made lines fit within 80 columns

llvm-svn: 7735
2003-08-11 18:45:46 +00:00
Vikram S. Adve 2df6ea2f38 Register argument to va_start must be marked as defined!
llvm-svn: 7734
2003-08-11 18:42:47 +00:00
Misha Brukman 216ed65030 tablegen.vim:
* Added keyword `field'
* Keywords get different highlighting than types
* Added a simple attempt at multi-line C-style comments with FIXME

README:
* Added note about symlinking an entire directory ~/.vim/syntax

llvm-svn: 7733
2003-08-11 18:05:19 +00:00
Chris Lattner 789ddcef4c Add .llx
llvm-svn: 7732
2003-08-11 18:01:39 +00:00
Misha Brukman 61e66baa25 Added a TableGen syntax highlighting mode for VIM and a README that describes
how to add the functionality to the user's VIM installation.

llvm-svn: 7731
2003-08-11 17:56:08 +00:00
Chris Lattner 2923637f63 Add (ret int) expander so that we can at least write testcases
llvm-svn: 7730
2003-08-11 15:48:00 +00:00
Chris Lattner 1d0e9841b9 Don't forget to initializer result field to 0!
llvm-svn: 7729
2003-08-11 15:47:35 +00:00
Misha Brukman 1117639691 Converted tabs to spaces.
llvm-svn: 7728
2003-08-11 15:38:50 +00:00
Misha Brukman 1024b0ef59 Removed `-debug' so that spurious printouts of patterns are not seen at
compilation time.

llvm-svn: 7727
2003-08-11 15:30:20 +00:00
Chris Lattner 5acb68de53 Remove dead code
llvm-svn: 7726
2003-08-11 15:24:02 +00:00
Chris Lattner 7fed97d00a Add patterns for multiply, and, or, and xor
llvm-svn: 7725
2003-08-11 15:23:25 +00:00
Chris Lattner c914a4847b add support for more nodes
llvm-svn: 7724
2003-08-11 15:23:05 +00:00
Misha Brukman 6a8d5b8186 Put printouts of acquired patterns under the DEBUG() guard, fixed spelling.
llvm-svn: 7723
2003-08-11 15:16:12 +00:00
Chris Lattner e5b80dfdf1 Until the pattern matching instruction selector is finished, enable debug output from it
llvm-svn: 7722
2003-08-11 15:11:01 +00:00
Chris Lattner 603e0076c0 Fix handling of 'free' if it has absolutely no prototype
llvm-svn: 7721
2003-08-11 15:05:08 +00:00
Chris Lattner f458b7dd3b Include the new selection library for the X86 target
llvm-svn: 7720
2003-08-11 14:59:53 +00:00
Chris Lattner e61db425e8 Add support for a pattern matching instruction selector. This is still in
the early implementation phases, so it is disabled by default

llvm-svn: 7719
2003-08-11 14:59:22 +00:00
Chris Lattner 2c2062cdba Build the SelectionDAG library
llvm-svn: 7718
2003-08-11 14:57:48 +00:00
Chris Lattner 600d308853 Initial checkin of SelectionDAG implementation. This is still rough and
unfinished

llvm-svn: 7717
2003-08-11 14:57:33 +00:00
Chris Lattner 963e822148 Initial checkin of SelectionDAG header file
llvm-svn: 7716
2003-08-11 14:56:26 +00:00
Chris Lattner 254980008b Add full support for code generating expanders!
This includes support for referencing named arguments.

llvm-svn: 7715
2003-08-10 23:51:52 +00:00
Chris Lattner 1bce0f268b Implement autopromotion of leaf trees from arguments to nodes of their own,
making it easier to write patterns without lots of extraneous parens

llvm-svn: 7714
2003-08-10 22:38:36 +00:00
Chris Lattner 3859c9a8db Implement correct parsing, representation, and printing of DAG argument names
Implements testcase TableGen/TreeNames.td

llvm-svn: 7713
2003-08-10 22:14:13 +00:00
Chris Lattner 4eaf72fc3b Recognize $foo as a variable
llvm-svn: 7712
2003-08-10 22:04:25 +00:00
Chris Lattner ba2cf32f00 New testcase
llvm-svn: 7711
2003-08-10 22:02:44 +00:00
Chris Lattner 5223d51aac Implement real code emission, at least for Instruction patterns,
next up: support for expanders

llvm-svn: 7710
2003-08-10 21:54:43 +00:00
Chris Lattner 0e00f36924 First cut at emitting the reducer. This reducer just prints out the patterns
selected, but it seems to work great!

llvm-svn: 7709
2003-08-10 20:34:13 +00:00
Chris Lattner 3e2e0fb7ee Make imm be a leaf instead of a nonterminal
llvm-svn: 7708
2003-08-10 19:51:16 +00:00
Chris Lattner d2ec0bd8f0 Finish the matcher!
llvm-svn: 7707
2003-08-10 19:50:51 +00:00
Chris Lattner 12a19fda99 Add new function
llvm-svn: 7706
2003-08-10 19:50:32 +00:00
John Criswell 8aba798388 Removed information on the Pool Allocator as it is no longer available.
Fixed a spelling error.

llvm-svn: 7705
2003-08-08 22:46:30 +00:00