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