Reid Spencer
357f771b1a
Remove the unused SourceDir variable (use BUILD_SRC_DIR)
...
llvm-svn: 17165
2004-10-22 21:01:44 +00:00
Reid Spencer
fa70bb9042
One more file to remove now that we're not doing automake.
...
llvm-svn: 17164
2004-10-22 19:33:22 +00:00
Reid Spencer
fad217c847
Eliminate compilation warning on uninitialized variable.
...
llvm-svn: 17163
2004-10-22 16:10:39 +00:00
Chris Lattner
fe9abf92de
*** empty log message ***
...
llvm-svn: 17161
2004-10-22 06:43:28 +00:00
Chris Lattner
96502da2c0
New testcase. Check for the ability to promote a malloc whose initialzed state is checked by the program
...
llvm-svn: 17160
2004-10-22 06:43:07 +00:00
Chris Lattner
5c3c21e10a
Fix a bug Nate noticed, where we miscompiled a simple testcase
...
llvm-svn: 17157
2004-10-22 04:53:16 +00:00
Reid Spencer
35572eb6f9
Remove automake support.
...
llvm-svn: 17156
2004-10-22 03:39:08 +00:00
Reid Spencer
c1c320c335
We won't use automake
...
llvm-svn: 17155
2004-10-22 03:35:04 +00:00
Misha Brukman
a6ecf271db
Remove debug code emitter from the JIT
...
llvm-svn: 17151
2004-10-21 03:07:38 +00:00
Alkis Evlogimenos
757cc0e84c
Make this compile.
...
llvm-svn: 17150
2004-10-21 02:44:16 +00:00
Misha Brukman
2beb63a65a
* Added basic support for JITing functions, basic blocks, instruction encoding,
...
including registers, constants, and partial support for global addresses
* The JIT is disabled by default to allow building llvm-gcc, which wants to test
running programs during configure
llvm-svn: 17149
2004-10-21 01:42:02 +00:00
Nate Begeman
86b5f8075c
Don't clear or sign extend bool->int. This fires a few dozen times on the test suite
...
llvm-svn: 17147
2004-10-20 21:55:41 +00:00
Brian Gaeke
c9d8b4d45c
Explain what this pass does.
...
llvm-svn: 17146
2004-10-20 19:38:58 +00:00
John Criswell
85b380582e
Small performance improvement in generated C code:
...
Instead of unconditionally copying all phi node values into temporaries for
all successor blocks, generate code that will determine what successor
block will be called and then copy only those phi node values needed by
the successor block.
This seems to cut down namd execution time from being 8% higher than GCC to
4% higher than GCC.
llvm-svn: 17144
2004-10-20 14:38:39 +00:00
Misha Brukman
e2ada0413e
* Add baseline structural JIT code, but disable the JIT to allow llvm-gcc builds
...
- Support added for functions, basic blocks, constant pool, constants,
registers, and some basic support for globals, all untested
* Turn assert()s into abort()s so that unimplemented functions fail in release
llvm-svn: 17143
2004-10-19 19:49:42 +00:00
Chris Lattner
257b284038
Hrm, some people complain when the compiler cheerfully tells them what it's
...
doing... I guess they're right.
llvm-svn: 17142
2004-10-19 06:33:16 +00:00
Misha Brukman
648ad57b85
Fix some grammar
...
llvm-svn: 17141
2004-10-19 05:55:54 +00:00
Misha Brukman
65af14766f
If we're going to make the braces of functions line up for ease of readability
...
and aesthetic reasons, might as well finish the job
llvm-svn: 17140
2004-10-19 05:50:34 +00:00
Misha Brukman
471400c09b
Remove unnecessary spaces in function signature
...
llvm-svn: 17139
2004-10-19 05:49:46 +00:00
Brian Gaeke
f3499acc16
Simplify mapping info generation. In particular, the LLVM-to-MachineInstr map
...
is no longer emitted, and we do not reference any MachineCodeForInstruction
information.
llvm-svn: 17138
2004-10-19 05:15:21 +00:00
Misha Brukman
fc62cd1a85
* Fit constructor initializer on a single line
...
* Delete blank chars at end of line to fit into 80 cols
llvm-svn: 17137
2004-10-19 00:29:16 +00:00
Reid Spencer
6a11a75f31
Initial automake generated Makefile template
...
llvm-svn: 17136
2004-10-18 23:55:41 +00:00
Misha Brukman
9cba8b39be
Move code to redefine INT64_{MIN,MAX} on AIX/PowerPC to a separate header,
...
because #undef becomes commented out in DataTypes.h.in due to autoheader
llvm-svn: 17135
2004-10-18 22:14:48 +00:00
Nate Begeman
b18121e6a9
Initial implementation of the strength reduction for GEP instructions in
...
loops. This optimization is not turned on by default yet, but may be run
with the opt tool's -loop-reduce flag. There are many FIXMEs listed in the
code that will make it far more applicable to a wide range of code, but you
have to start somewhere :)
This limited version currently triggers on the following tests in the
MultiSource directory:
pcompress2: 7 times
cfrac: 5 times
anagram: 2 times
ks: 6 times
yacr2: 2 times
llvm-svn: 17134
2004-10-18 21:08:22 +00:00
Misha Brukman
947cd4569f
* AIX on Power defines INT64_MIN and INT64_MAX in ways that annoy GCC, so
...
special-case those definitions
* Add comments in #ifdef/#else/#endif clauses for ease of reading
llvm-svn: 17132
2004-10-18 18:35:21 +00:00
Misha Brukman
22cf52374e
AIX does not have mkdtemp() so emulate its behavior using mktemp() and mkdir()
...
llvm-svn: 17131
2004-10-18 17:39:45 +00:00
Chris Lattner
c1f91b5e11
Fix miscompilations in the SparcV9 backend that were induced by this patch:
...
http://mail.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20041011/019311.html
llvm-svn: 17130
2004-10-18 17:19:20 +00:00
Chris Lattner
fbc070bfdc
Improve compatibility with VC++, patch contributed by Morten Ofstad!
...
llvm-svn: 17126
2004-10-18 15:54:17 +00:00
Chris Lattner
88a8a329c3
Get this file compiling with VC++, patch contributed by Morten Ofstad. Thanks Morten!
...
llvm-svn: 17125
2004-10-18 15:43:46 +00:00
Reid Spencer
69274ad96a
Declare a function in the correct namespace.
...
Patch contributed by Morten Ofstad. Thanks Morten!
llvm-svn: 17124
2004-10-18 14:43:45 +00:00
Reid Spencer
ce0783318b
Correction to allow compilation with Visual C++.
...
Patch contributed by Morten Ofstad. Thanks Morten!
llvm-svn: 17123
2004-10-18 14:38:48 +00:00
Chris Lattner
5edb2f32d0
Simplify code by deleting instructions that preceed unreachable instructions.
...
Simplify code by simplifying terminators that branch to blocks that start
with an unreachable instruction.
llvm-svn: 17116
2004-10-18 04:07:22 +00:00
Chris Lattner
033e156b54
New testcase
...
llvm-svn: 17115
2004-10-18 04:06:41 +00:00
Reid Spencer
1be07bb526
Actually link all the analysis passes and their dependencies.
...
llvm-svn: 17114
2004-10-18 03:32:12 +00:00
Reid Spencer
e5068ed336
Remove extra comma.
...
llvm-svn: 17113
2004-10-18 03:26:21 +00:00
Reid Spencer
2097b94c8b
Actually link in all the analysis passes.
...
llvm-svn: 17112
2004-10-18 03:22:48 +00:00
Chris Lattner
a67dd32004
Turn store -> null/undef into the LLVM unreachable instruction! This simple
...
change hacks off 10K of bytecode from perlbmk (.5%) even though the front-end
is not generating them yet and we are not optimizing the resultant code.
This isn't too bad.
llvm-svn: 17111
2004-10-18 03:00:50 +00:00
Chris Lattner
8ba9ec9bbb
Turn things with obviously undefined semantics into 'store -> null'
...
llvm-svn: 17110
2004-10-18 02:59:09 +00:00
Chris Lattner
3b92f17165
My friend the invoke instruction does not dominate all basic blocks if it
...
occurs in the entry node of a function
llvm-svn: 17109
2004-10-18 01:48:31 +00:00
Chris Lattner
34ae670706
Fix a bug that occurs when the constant value is the result of an invoke. In
...
particular, invoke ret values are only live in the normal dest of the invoke
not in the unwind dest.
llvm-svn: 17108
2004-10-18 01:21:17 +00:00
Chris Lattner
53058663aa
Print a semicolon for the unreacahble instruction. This fixes problems
...
where C requires semicolons in some cases to indicate null statements.
llvm-svn: 17107
2004-10-17 23:49:11 +00:00
Chris Lattner
6a792feb02
Getting ADCE to interact well with unreachable instructions seems like a nontrivial
...
exercise that I'm not interested in tackling right now. Just punt and treat them
like unwind's.
This 'fixes' test/Regression/Transforms/ADCE/unreachable-function.ll
llvm-svn: 17106
2004-10-17 23:45:06 +00:00
Chris Lattner
61011accfd
New testcase that ADCE shouldn't crash on
...
llvm-svn: 17105
2004-10-17 23:44:02 +00:00
Chris Lattner
6e79e55aea
Fix Regression/Transforms/Inline/2004-10-17-InlineFunctionWithoutReturn.ll
...
If a function had no return instruction in it, and the result of the inlined
call instruction was used, we would crash.
llvm-svn: 17104
2004-10-17 23:21:07 +00:00
Chris Lattner
5f8becb224
New testcase that crashes the inliner
...
llvm-svn: 17103
2004-10-17 23:20:29 +00:00
Nate Begeman
e5e5b37b79
Pass -single_module option to gcc when linking dynamic libraries for use with bugpoint, so that we can bugpoint multiple .cp files
...
llvm-svn: 17102
2004-10-17 23:03:32 +00:00
Nate Begeman
844186b8b4
Generate correct stubs for weak-linked symbols
...
llvm-svn: 17101
2004-10-17 23:01:34 +00:00
Chris Lattner
f60137501f
fold gep undef, ... -> undef
...
This comes up many times in perlbmk and probably others.
llvm-svn: 17100
2004-10-17 21:54:55 +00:00
Chris Lattner
107c15c33d
Remove printout, realize that instructions in the entry block dominate all
...
other blocks.
llvm-svn: 17099
2004-10-17 21:31:34 +00:00
Chris Lattner
215c7ebaa6
When inserting PHI nodes, don't insert any phi nodes that are obviously
...
unneccesary. This allows us to delete several hundred phi nodes of the
form PHI(x,x,x,undef) from 253.perlbmk and probably other programs as well.
This implements Mem2Reg/UndefValuesMerge.ll
llvm-svn: 17098
2004-10-17 21:25:56 +00:00