Chris Lattner [Sun, 17 Aug 2003 19:34:55 +0000 (19:34 +0000)]
The fixme is irrelevant: if that happens, the LLVM bytecode is malformed.
This fixes testcase: SimplifyCFG/2003-08-17-BranchFold.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7919
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Aug 2003 19:29:34 +0000 (19:29 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7918
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Aug 2003 18:37:45 +0000 (18:37 +0000)]
This really isn't the gcc library!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7917
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 17 Aug 2003 18:01:15 +0000 (18:01 +0000)]
Fix bug: Jello/2003-08-15-AllocaAssertion.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7916
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 16 Aug 2003 20:57:16 +0000 (20:57 +0000)]
Fix bug: LoopPreheaders/2003-08-15-PreheadersFail.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7915
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 16 Aug 2003 20:56:35 +0000 (20:56 +0000)]
No need to print in the testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7914
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Sat, 16 Aug 2003 00:23:16 +0000 (00:23 +0000)]
Rename -emitmaps to -enable-maps
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7913
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 15 Aug 2003 23:31:54 +0000 (23:31 +0000)]
`execve_test' is not part of LLEE.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7912
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 15 Aug 2003 23:31:16 +0000 (23:31 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7911
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 23:15:37 +0000 (23:15 +0000)]
new testcase narrowed down from xboard
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7910
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 22:36:55 +0000 (22:36 +0000)]
New testcase identified by misha, distilled from the 'ls' program
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7909
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 15 Aug 2003 21:19:25 +0000 (21:19 +0000)]
Fix typo in comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7906
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Fri, 15 Aug 2003 21:05:57 +0000 (21:05 +0000)]
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().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7905
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 15 Aug 2003 20:01:10 +0000 (20:01 +0000)]
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++
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7903
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 20:00:47 +0000 (20:00 +0000)]
Remove extraneous ;'s, no functional changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7902
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 15 Aug 2003 19:31:04 +0000 (19:31 +0000)]
* Match the column names in the report
* Describe and clarify meanings of columns
* Fix up HTML: close <a> and <li> tags
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7900
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 15 Aug 2003 18:03:06 +0000 (18:03 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7888
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 15 Aug 2003 17:52:02 +0000 (17:52 +0000)]
Reordered includes to be consistent with the LLVM style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7887
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 16:29:06 +0000 (16:29 +0000)]
Document new column, remove X86 specific stuff
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7886
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 15 Aug 2003 16:15:28 +0000 (16:15 +0000)]
Fix register and parameter numbers in saving double FP registers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7884
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 15:20:52 +0000 (15:20 +0000)]
Add llvm tools to path of LLVMGCC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7882
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 05:21:30 +0000 (05:21 +0000)]
Remove extraneous #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7881
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 05:20:06 +0000 (05:20 +0000)]
Remove uses of the NonCopyable class, to make the doxygen output look better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7880
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:56:47 +0000 (04:56 +0000)]
Revert my last (accidental) checkin, but keep the typeo fix
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7879
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:56:09 +0000 (04:56 +0000)]
rename selection library to selectiondag
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7878
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:55:22 +0000 (04:55 +0000)]
rename selection directory and library to SelectionDAG
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7877
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:53:45 +0000 (04:53 +0000)]
build the new runtime directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7876
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:53:16 +0000 (04:53 +0000)]
Add a bunch of new node types, etc
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7875
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:52:51 +0000 (04:52 +0000)]
Add support for basic blocks, unary/binary unspecs, conditional branches, ...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7874
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:51:59 +0000 (04:51 +0000)]
Adjust to new API, add expandCall stub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7873
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:50:49 +0000 (04:50 +0000)]
Add support for unconditional branches and for emitting JE instructions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7872
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:36:19 +0000 (04:36 +0000)]
Ignore dummy register classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7871
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:35:14 +0000 (04:35 +0000)]
Add a bunch of new node types, including a new Void dummy register class
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7870
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 04:28:04 +0000 (04:28 +0000)]
Add support for nodes with void arguments, like chain nodes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7869
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 03:02:52 +0000 (03:02 +0000)]
Make sure to create the directory before we cram a .bc file into it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7864
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:38:18 +0000 (02:38 +0000)]
Adjust level, build things in parallel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7863
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:38:06 +0000 (02:38 +0000)]
initial checkin, adjust LEVEL
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7862
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:35:13 +0000 (02:35 +0000)]
Initial checkin of README
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7861
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:33:49 +0000 (02:33 +0000)]
Initial checkin of runtime/GCCLibraries makefile
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7860
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:31:23 +0000 (02:31 +0000)]
Update readme
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7859
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:20:32 +0000 (02:20 +0000)]
Convert libraries into the BYTECODE_LIBRARY style
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7858
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:19:43 +0000 (02:19 +0000)]
Disable this library for now
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7857
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:19:08 +0000 (02:19 +0000)]
Some of this gets hoisted up to Makefile.common
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7856
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 15 Aug 2003 02:18:35 +0000 (02:18 +0000)]
Implement BYTECODE_LIBRARY support
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7855
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Fri, 15 Aug 2003 00:26:50 +0000 (00:26 +0000)]
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7853
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Aug 2003 22:04:41 +0000 (22:04 +0000)]
Remove extraneous cl:: namespace qualifiers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7852
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 14 Aug 2003 22:00:59 +0000 (22:00 +0000)]
Add support for reading command line arguments from an environment variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7851
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Aug 2003 21:10:25 +0000 (21:10 +0000)]
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7850
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Aug 2003 20:55:38 +0000 (20:55 +0000)]
Disable this support stuff, it doesn't work under linux anyway
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7849
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Thu, 14 Aug 2003 20:45:56 +0000 (20:45 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7848
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Aug 2003 19:19:53 +0000 (19:19 +0000)]
Stop annoying warnings about mismatched types with the argument of a free
implement more constant expressions so that 176.gcc compiles with the CBE
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7847
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Aug 2003 18:59:53 +0000 (18:59 +0000)]
I just moved papi to a new directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7846
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Aug 2003 18:35:27 +0000 (18:35 +0000)]
Implement a _REAL_ memory manager for the code generated by the JIT. This
speeds up program execution by 15% pretty consistently for large programs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7845
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 14 Aug 2003 16:05:35 +0000 (16:05 +0000)]
Using `std::remove' requires `cstdio.h'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7843
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 14 Aug 2003 15:26:28 +0000 (15:26 +0000)]
* 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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7842
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Thu, 14 Aug 2003 15:16:28 +0000 (15:16 +0000)]
Since we now have TableGen editing modes for VIM and (X)Emacs, we no longer need
to mark TableGen description files with "C++ mode".
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7841
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Aug 2003 14:43:24 +0000 (14:43 +0000)]
Restore 'nice name' to pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7840
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 14 Aug 2003 06:09:32 +0000 (06:09 +0000)]
Factory methods for function passes now return type FunctionPass *.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7839
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 14 Aug 2003 06:07:57 +0000 (06:07 +0000)]
Add new method to FunctionPassManager to add ImmutablePasses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7838
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 14 Aug 2003 06:04:59 +0000 (06:04 +0000)]
Unbreak SPARC backend: addPassesToJITCompile and
addPassesToEmitMachineCode now both take a FunctionPassManager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7837
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 14 Aug 2003 06:04:49 +0000 (06:04 +0000)]
Factory methods for function passes now return type FunctionPass *.
Get rid of RegisterLLC, which can't handle FunctionPasses anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7836
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Thu, 14 Aug 2003 06:04:29 +0000 (06:04 +0000)]
Unbreak SPARC backend: addPassesToJITCompile and
addPassesToEmitMachineCode now both take a FunctionPassManager.
Factory methods for function passes now return type FunctionPass *.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7835
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 14 Aug 2003 05:20:28 +0000 (05:20 +0000)]
Dramatically simplify how -time-passes works.
This also enables -time-passes for FunctionPassManagers, which allows it to
be used for the JIT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7834
91177308-0d34-0410-b5e6-
96231b3b80d8
Misha Brukman [Wed, 13 Aug 2003 22:27:15 +0000 (22:27 +0000)]
Using std::string requires `#include <string>', says gcc-2.95.3.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7833
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 22:15:04 +0000 (22:15 +0000)]
Fix FIXME by removing FIXME
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7832
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 21:32:37 +0000 (21:32 +0000)]
This file uses stable_sort
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7831
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 20:17:41 +0000 (20:17 +0000)]
I must have missed these when eliminating the cast to bool cannonicalizations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7829
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 20:16:26 +0000 (20:16 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7828
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 20:13:15 +0000 (20:13 +0000)]
Add some more tests for: (A <setcc1> B) logicalop (A <setcc2> B)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7827
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 19:02:09 +0000 (19:02 +0000)]
X86 static backend: smacked
Function at a time: smacked
Who you gonna call!!! :-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7826
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 19:01:45 +0000 (19:01 +0000)]
Generalize some of the add tests to allow for reassociation to take place
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7825
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 19:01:09 +0000 (19:01 +0000)]
Add some tests for difficult reassociation cases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7824
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:18:15 +0000 (18:18 +0000)]
Factory methods for FunctionPasses now return type FunctionPass *.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7823
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:17:54 +0000 (18:17 +0000)]
Deconstify parameter to getPointerToFunction().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7822
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:17:27 +0000 (18:17 +0000)]
addPassesToJITCompile and addPassesToEmitMachineCode now take a
FunctionPassManager, to support function-at-a-time compilation and
emission of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7821
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:16:50 +0000 (18:16 +0000)]
Deconstify parameter to getPointerToFunction().
Use a FunctionPassManager instead of a PassManager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7820
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:16:34 +0000 (18:16 +0000)]
Deconstify parameter to getPointerToFunction().
Run passes on single function (hey, just-in-time compilation!)
instead of the entire module that contains it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7819
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:16:14 +0000 (18:16 +0000)]
In ExecutionEngine::getPointerToGlobal(), throw away const qualifier
on Function * when passing it to getPointerToFunction().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7818
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:15:52 +0000 (18:15 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7817
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:15:29 +0000 (18:15 +0000)]
Factory methods for FunctionPasses now return type FunctionPass *.
Correct one of the functions' comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7816
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 18:15:15 +0000 (18:15 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7815
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 16:16:26 +0000 (16:16 +0000)]
Assign arguments different ranks so they get grouped together
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7813
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 15:52:25 +0000 (15:52 +0000)]
Implement constant folding of casts from boolean constants to other values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7812
91177308-0d34-0410-b5e6-
96231b3b80d8
John Criswell [Wed, 13 Aug 2003 15:36:15 +0000 (15:36 +0000)]
Removing the pool allocator from the main CVS tree.
Use the poolalloc module in CVS from now on.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7810
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 05:38:46 +0000 (05:38 +0000)]
Implement InstCombine/2003-08-12-AllocaNonNull.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7807
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 05:33:12 +0000 (05:33 +0000)]
Do not cannonicalize (X != 0) into (cast X to bool)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7806
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 05:27:57 +0000 (05:27 +0000)]
Reorganize tests because we no longer cannonicalize X != 0 -> cast X to bool
In fact, we plan to eliminate cast to bool entirely.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7805
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 04:20:06 +0000 (04:20 +0000)]
Update test to represent new cannonicalization rules for multiplies
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7804
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 04:18:28 +0000 (04:18 +0000)]
Change cannonicalization rules: add X,X is represented as multiplies, multiplies
of a power of two are represented as a shift.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7803
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 02:38:16 +0000 (02:38 +0000)]
Adjust files for move of mapping info stuff into the Sparc directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7802
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 02:37:24 +0000 (02:37 +0000)]
Mapping directory no longer exists
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7801
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 02:28:20 +0000 (02:28 +0000)]
Incorporate mapping library into the sparc library
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7800
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 13 Aug 2003 02:27:13 +0000 (02:27 +0000)]
Obsolete file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7799
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Wed, 13 Aug 2003 00:30:48 +0000 (00:30 +0000)]
Just incorporating some notes I wrote for myself into a place where they won't
get lost...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7798
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 12 Aug 2003 23:39:08 +0000 (23:39 +0000)]
Make MInst2LVSetBI and MInst2LVSetAI be hash_maps instead of maps.
Add some comments and non-const methods to fix constness problems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7797
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 12 Aug 2003 22:22:24 +0000 (22:22 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7796
91177308-0d34-0410-b5e6-
96231b3b80d8
Vikram S. Adve [Tue, 12 Aug 2003 22:19:59 +0000 (22:19 +0000)]
For an instruction with delay slots, mark all live values before
the instruction as being live before/after the delay slot
instructions as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7795
91177308-0d34-0410-b5e6-
96231b3b80d8
Brian Gaeke [Tue, 12 Aug 2003 22:00:24 +0000 (22:00 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7794
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 21:53:41 +0000 (21:53 +0000)]
Allow pulling logical operations through shifts.
This implements InstCombine/shift.ll:test14*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7793
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 12 Aug 2003 21:45:24 +0000 (21:45 +0000)]
Fix bug: Reassociate/2003-08-12-InfiniteLoop.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7792
91177308-0d34-0410-b5e6-
96231b3b80d8