Jeff Cohen
13932fb27f
Fix minor mistakes
...
llvm-svn: 19309
2005-01-06 06:29:42 +00:00
Jeff Cohen
11dca28b79
Get rid of those pesky tabs...
...
llvm-svn: 19308
2005-01-06 06:06:35 +00:00
Jeff Cohen
00d5508496
Add project opt to Visual Studio.
...
llvm-svn: 19307
2005-01-06 06:02:53 +00:00
Jeff Cohen
eca0d0f2da
Put createLoopUnswitchPass() into proper namespace
...
llvm-svn: 19306
2005-01-06 05:47:18 +00:00
Jeff Cohen
27595a4aec
Add missing include
...
llvm-svn: 19305
2005-01-06 05:46:44 +00:00
Jeff Cohen
56d649f574
Fix incorrect return type.
...
llvm-svn: 19304
2005-01-06 05:45:45 +00:00
Jeff Cohen
b56965be08
Fix CBE code so that it compiles with VC++.
...
llvm-svn: 19303
2005-01-06 04:21:49 +00:00
Chris Lattner
2812f0880b
Add required #include
...
llvm-svn: 19302
2005-01-06 03:25:27 +00:00
Chris Lattner
a930a9ab5e
Add a useful method
...
llvm-svn: 19301
2005-01-06 03:23:59 +00:00
Chris Lattner
770c354f7d
Add a list end sentinal
...
llvm-svn: 19299
2005-01-05 22:14:14 +00:00
Reid Spencer
1d183c4ab8
Add the SystemLibrary.html document now that its done.
...
llvm-svn: 19298
2005-01-05 19:01:20 +00:00
Reid Spencer
9d4d097dd1
Add a missing <div>
...
llvm-svn: 19297
2005-01-05 18:21:39 +00:00
Reid Spencer
6b9542b338
Bulk upgrade of this document. Cruft removed, new stuff added, general
...
reorganization of the content. This is now "done".
llvm-svn: 19296
2005-01-05 18:17:10 +00:00
Alkis Evlogimenos
eccb209b6e
The Java project now lives under projects/llvm-java.
...
llvm-svn: 19295
2005-01-05 17:57:28 +00:00
Reid Spencer
1fbccbe786
Make opt honor the quiet option when printing the bytecode warning.
...
llvm-svn: 19294
2005-01-05 17:31:55 +00:00
Reid Spencer
e153fb3523
1. Make sure that "dot" can be found in the path
...
2. Fix a bug where the lib directory specified also had to be cwd
3. Weight the output so archive->archive edges are shorter
4. Generate two different graphs: one for libraries, one for objects.
5. Adjust the properties of the graphs till it looks nice.
llvm-svn: 19293
2005-01-05 17:29:29 +00:00
Reid Spencer
c770a0f243
Ignore autoconf/aclocal generated stuff.
...
llvm-svn: 19292
2005-01-05 17:26:00 +00:00
Chris Lattner
1ee6dfa501
1. If a double FP constant must be put into a constant pool, but it can be
...
precisely represented as a float, put it into the constant pool as a
float.
2. Use the cbw/cwd/cdq instructions instead of an explicit SAR for signed
division.
llvm-svn: 19291
2005-01-05 16:30:14 +00:00
Chris Lattner
a0d572707a
add an assertion
...
llvm-svn: 19290
2005-01-05 16:27:34 +00:00
Chris Lattner
0f7e786a6b
Minor optimization to allocate R8 registers in a better order.
...
llvm-svn: 19289
2005-01-05 16:09:16 +00:00
Chris Lattner
132e400d73
ignore generated file
...
llvm-svn: 19288
2005-01-05 16:01:00 +00:00
Chris Lattner
05788f97f4
Ignore generated file
...
llvm-svn: 19287
2005-01-05 16:00:42 +00:00
Chris Lattner
3c6909423d
Ignore .dir
...
llvm-svn: 19286
2005-01-05 16:00:00 +00:00
Chris Lattner
f0698314cd
Update this test to pass.
...
llvm-svn: 19285
2005-01-05 15:23:06 +00:00
Reid Spencer
6a0c6f6bf1
Cleanup configuration for Cygwin
...
llvm-svn: 19284
2005-01-05 06:41:10 +00:00
Jeff Cohen
05af8cfbd5
Make bison/flex build steps output the same message in Visual Studio as
...
on Unix.
llvm-svn: 19283
2005-01-04 06:18:10 +00:00
Jeff Cohen
a272e9a839
Add C backend to llc in Visual Studio.
...
llvm-svn: 19282
2005-01-04 06:01:55 +00:00
Chris Lattner
9742ac8c7c
Test that trivial constants are not printed in hex notation.
...
llvm-svn: 19281
2005-01-04 01:58:26 +00:00
Chris Lattner
472cc1062d
To not break TBAA rules, use a union.
...
llvm-svn: 19280
2005-01-04 01:56:57 +00:00
Chris Lattner
623bacf418
Do not let 'ftostr' return a string that starts with spaces. This allows
...
the AsmWriter to emit FP constants like 1.0 in normal exponential notation
instead of hex notation.
llvm-svn: 19279
2005-01-04 01:56:28 +00:00
Chris Lattner
91197b0b6a
Add a testcase to check that initializer that CAN be evaluated statically ARE.
...
These used to result in dynamic initializations.
llvm-svn: 19278
2005-01-03 22:27:58 +00:00
Chris Lattner
5dfdadde04
Fix this script to work with hyphenated llvm-gcc and friend.
...
llvm-svn: 19277
2005-01-03 22:26:38 +00:00
John Criswell
dc6650136a
Quote the paths and not the assignment of the PATH variable.
...
This seems to make things happier.
llvm-svn: 19276
2005-01-03 17:42:57 +00:00
John Criswell
34f603fcd7
Joining the quote fray...
...
Reverting the quote patch. For some reason, this breaks the building of
llvm/runtime (the shell doesn't like it for some reason). I might play
with it to see if I can get the quotes done in such a way that the shell
like it, but no promises.
llvm-svn: 19275
2005-01-03 17:41:56 +00:00
Jeff Cohen
f544d36614
Add additional header file to VS project. Patch submitted by Morten.
...
llvm-svn: 19274
2005-01-03 16:37:16 +00:00
Jeff Cohen
68f28730b7
Revert elimination of global variable hack... still needed.
...
llvm-svn: 19273
2005-01-03 16:34:19 +00:00
Reid Spencer
f309b441dc
Integrate dependency graphs.
...
Make it HTML 4.01 Strict compliant
Provide better explanations of the dependency information.
llvm-svn: 19272
2005-01-03 05:46:46 +00:00
Reid Spencer
1d3db42acf
Add library dependency and object dependency graphs.
...
llvm-svn: 19271
2005-01-03 05:30:57 +00:00
Chris Lattner
588d9471f3
new testcase for PR481
...
llvm-svn: 19270
2005-01-03 04:39:16 +00:00
Chris Lattner
e1329f4472
Bug fixed
...
llvm-svn: 19269
2005-01-03 04:20:21 +00:00
Chris Lattner
1859e90a1e
New testcase for PR487
...
llvm-svn: 19268
2005-01-03 04:15:11 +00:00
Reid Spencer
2f61775ee1
Make sure the path is properly set in the llvmgcc and llvmgxx variables.
...
llvm-svn: 19267
2005-01-03 04:05:32 +00:00
Reid Spencer
5041bdba19
Re-apply last (reverted) patch. Reverting doesn't solve the actual problem
...
and creates issues on other platforms like Cygwin and MingW.
llvm-svn: 19266
2005-01-03 04:04:54 +00:00
Jeff Cohen
c3d0ae2e48
Don't quote the PATH variable value just in case it has spaces in it, as
...
it breaks "gmake check".
llvm-svn: 19265
2005-01-03 02:44:54 +00:00
Chris Lattner
d4bb2bbce1
ADC and IMUL are also commutable.
...
llvm-svn: 19264
2005-01-03 01:27:59 +00:00
Chris Lattner
82787e90f3
This hunk:
...
- unsigned TrueValue = getReg(TrueVal, BB, BB->begin());
+ unsigned TrueValue = getReg(TrueVal);
Fixes the PPC regressions from last night.
The other hunk is just a clarity improvement.
llvm-svn: 19263
2005-01-02 23:07:31 +00:00
Chris Lattner
73bb15ed9a
Remove dead directories
...
llvm-svn: 19262
2005-01-02 22:55:16 +00:00
Chris Lattner
373f7faeca
This lib is dead
...
llvm-svn: 19261
2005-01-02 22:53:52 +00:00
Chris Lattner
196715cfb4
Remove a bunch of useless empty libraries
...
llvm-svn: 19260
2005-01-02 22:52:28 +00:00
Chris Lattner
bb2840b272
This is no longer needed.
...
llvm-svn: 19259
2005-01-02 22:50:00 +00:00
Chris Lattner
0982708a11
Testcase for PR494
...
llvm-svn: 19258
2005-01-02 21:11:11 +00:00
Chris Lattner
179457f062
xfail these tests, whcih require more info in the code generator to implement
...
correctly.
llvm-svn: 19257
2005-01-02 19:01:33 +00:00
Reid Spencer
34982d8dc8
Avoid use of -fomit-frame-pointer on FreeBSD platforms. It causes thrown
...
exceptions to abort() in cases where it should not.
Many thanks to Duraid Madina for doing the heavy lifting on the analysis
of this problem.
llvm-svn: 19256
2005-01-02 17:43:20 +00:00
Reid Spencer
74100aba4a
Quote the PATH variable value just in case it has spaces in it (like on
...
Cygwin).
llvm-svn: 19255
2005-01-02 09:45:54 +00:00
Reid Spencer
862ebf5277
Correct the case of a #include directory name, just in case.
...
llvm-svn: 19254
2005-01-02 09:45:04 +00:00
Jeff Cohen
70d13a979c
Cleanup some Visual Studio project dependencies.
...
llvm-svn: 19253
2005-01-02 04:44:36 +00:00
Jeff Cohen
2cf40e142c
Eliminate the use of the global variable hack in the X86 target that was used
...
to get Visual Studio to link in X86.lib to the executables that need it. There
is another way of doing it.
llvm-svn: 19252
2005-01-02 04:23:12 +00:00
Chris Lattner
733aac1270
Disable 2->3 address promotion of add and inc instructions to LEA's. In
...
addition to being three address, LEA's don't set the flags.
This fixes 186.crafty.
llvm-svn: 19251
2005-01-02 04:18:17 +00:00
Chris Lattner
252b68cfc8
Check in an old test that never made it into CVS
...
llvm-svn: 19250
2005-01-02 02:46:29 +00:00
Chris Lattner
e7228736e0
Add a new method.
...
llvm-svn: 19249
2005-01-02 02:38:18 +00:00
Chris Lattner
b62b45b3fc
Add support for SETNPr to lower to memory form.
...
llvm-svn: 19248
2005-01-02 02:37:46 +00:00
Chris Lattner
b7782d77c1
Implement the convertToThreeAddress method, add support for inverting JP/JNP
...
branches.
llvm-svn: 19247
2005-01-02 02:37:07 +00:00
Chris Lattner
295e45e60e
Two changes here:
...
1. Add new instructions for checking parity flags: JP, JNP, SETP, SETNP.
2. Set the isCommutable and isPromotableTo3Address bits on several
instructions.
llvm-svn: 19246
2005-01-02 02:35:46 +00:00
Chris Lattner
9590870a0d
Make the 2-address instruction lowering pass smarter in two ways:
...
1. If we are two-addressing a commutable instruction and the LHS is not the
last use of the variable, see if the instruction is the last use of the
RHS. If so, commute the instruction, allowing us to avoid a
register-register copy in many cases for common instructions like ADD, OR,
AND, etc on X86.
2. If #1 doesn't hold, and if this is an instruction that also existing in
3-address form, promote the instruction to a 3-address instruction to
avoid the register-register copy. We can do this for several common
instructions in X86, including ADDrr, INC, DEC, etc.
This patch implements test/Regression/CodeGen/X86/commute-two-addr.ll,
overlap-add.ll, and overlap-shift.ll when I check in the X86 support for it.
llvm-svn: 19245
2005-01-02 02:34:12 +00:00
Chris Lattner
835ae42300
Add several testcases for new optimizations in the code generator.
...
llvm-svn: 19244
2005-01-02 02:30:04 +00:00
Chris Lattner
733c82bfbf
Expose isConvertibleToThreeAddress and isCommutable bits to the code generator.
...
llvm-svn: 19243
2005-01-02 02:29:04 +00:00
Chris Lattner
a1a6be7e6e
Add some bits that can be set on instructions. Renumber existing bits so
...
they are dense. Add a virtual method that targets can choose to implement.
llvm-svn: 19242
2005-01-02 02:28:31 +00:00
Chris Lattner
182db0cac0
Add some bits that can be set for instructions.
...
llvm-svn: 19241
2005-01-02 02:27:48 +00:00
Reid Spencer
4e8dd44733
Make printing a warning message optional in CheckBytecodeOutputToConsole.
...
llvm-svn: 19240
2005-01-02 00:10:03 +00:00
Reid Spencer
742af2f2eb
Prevent output of bytecode to std::cout unless the --force flag is given.
...
This prevents bytecode splats with usage like: cat file.ll | llvm-as -
llvm-svn: 19239
2005-01-02 00:08:46 +00:00
Reid Spencer
c967184a50
Move the code for printing out a warning about bytecode output to a console
...
into lib/Support so it can be used with other tools.
llvm-svn: 19238
2005-01-01 23:57:01 +00:00
Reid Spencer
1263cfd14f
Implement a function to print a warning if bytecode output is to be sent to
...
a terminal/console.
llvm-svn: 19237
2005-01-01 23:56:20 +00:00
Jeff Cohen
b90c31fb49
Add functions for determining if the stdin/out/err is connected to a
...
console or not.
llvm-svn: 19236
2005-01-01 22:54:05 +00:00
Jeff Cohen
e98c7b6f26
Add llvm-link, Linker projects to Visual Studio.
...
llvm-svn: 19235
2005-01-01 22:32:26 +00:00
Jeff Cohen
8db20fe964
Add missing header files to projects.
...
llvm-svn: 19234
2005-01-01 22:30:19 +00:00
Reid Spencer
6f802ba876
Add functions for determining if the stdin/out/err is connected to a
...
console or not.
llvm-svn: 19233
2005-01-01 22:29:26 +00:00
Jeff Cohen
ca7d19e2af
Fix typo 'ompress' => 'compress'.
...
llvm-svn: 19232
2005-01-01 22:10:32 +00:00
Jeff Cohen
b06a83e285
Add llvm-ranlib project to Visual Studio.
...
llvm-svn: 19231
2005-01-01 22:05:56 +00:00
Jeff Cohen
5c3261e5f2
Add llvm-ar project to Visual Studio.
...
llvm-svn: 19230
2005-01-01 22:00:28 +00:00
Jeff Cohen
16034813e6
Add -v option to bison.
...
llvm-svn: 19229
2005-01-01 21:35:39 +00:00
Jeff Cohen
49123973f8
Add missing file SystemUtils.cpp to Support project.
...
llvm-svn: 19228
2005-01-01 21:34:18 +00:00
Jeff Cohen
1d2912470a
Add llvm-as project to Visual Studio
...
llvm-svn: 19227
2005-01-01 20:51:41 +00:00
Jeff Cohen
980d6098b6
Add llvm-dis project to Visual Studio
...
llvm-svn: 19226
2005-01-01 20:18:03 +00:00
Jeff Cohen
08f30c0c33
Put executables into a single directory
...
llvm-svn: 19225
2005-01-01 19:37:14 +00:00
Jeff Cohen
4560c21dd2
Fix bountiful sources of VC++ 'possible loss of data' warnings
...
llvm-svn: 19224
2005-01-01 18:58:23 +00:00
Jeff Cohen
031c3d891c
Improve TableGen dependencies
...
Move TableGen generated files out of the src tree
Add descriptions to the custom build steps
llvm-svn: 19223
2005-01-01 18:17:40 +00:00
Reid Spencer
3b8faf995d
Add HAVE_SBRK
...
llvm-svn: 19222
2005-01-01 18:16:16 +00:00
Reid Spencer
9f0ce1772c
Ignore some files
...
llvm-svn: 19221
2005-01-01 18:14:18 +00:00
Chris Lattner
86102b8ad5
This is a bulk commit that implements the following primary improvements:
...
* We can now fold cast instructions into select instructions that
have at least one constant operand.
* We now optimize expressions more aggressively based on bits that are
known to be zero. These optimizations occur a lot in code that uses
bitfields even in simple ways.
* We now turn more cast-cast sequences into AND instructions. Before we
would only do this if it if all types were unsigned. Now only the
middle type needs to be unsigned (guaranteeing a zero extend).
* We transform sign extensions into zero extensions in several cases.
This corresponds to these test/Regression/Transforms/InstCombine testcases:
2004-11-22-Missed-and-fold.ll
and.ll: test28-29
cast.ll: test21-24
and-or-and.ll
cast-cast-to-and.ll
zeroext-and-reduce.ll
llvm-svn: 19220
2005-01-01 16:22:27 +00:00
Chris Lattner
da15d4ba49
New testcases that we should combine.
...
llvm-svn: 19219
2005-01-01 16:14:46 +00:00
Chris Lattner
584e38313b
New testcase for common bitfield manipulation instruction sequences.
...
llvm-svn: 19218
2005-01-01 16:14:18 +00:00
Chris Lattner
421477885f
Add a bunch of tests for cases that should be eliminated.
...
llvm-svn: 19217
2005-01-01 16:13:43 +00:00
Chris Lattner
329d0255ae
Add a bunch of tests for ANDs that should be eliminated.
...
llvm-svn: 19216
2005-01-01 16:13:19 +00:00
Chris Lattner
ea4c66a083
This now works.
...
llvm-svn: 19215
2005-01-01 16:12:52 +00:00
Chris Lattner
83df5d25b7
Fix a FIXME: Select instructions on longs were miscompiled.
...
While we're at it, improve codegen of select instructions. For this
testcase:
int %test(bool %C, int %A, int %B) {
%D = select bool %C, int %A, int %B
ret int %D
}
We used to generate this code:
_test:
cmpwi cr0, r3, 0
bne .LBB_test_2 ;
.LBB_test_1: ;
b .LBB_test_3 ;
.LBB_test_2: ;
or r5, r4, r4
.LBB_test_3: ;
or r3, r5, r5
blr
Now we emit:
_test:
cmpwi cr0, r3, 0
bne .LBB_test_2 ;
.LBB_test_1: ;
or r4, r5, r5
.LBB_test_2: ;
or r3, r4, r4
blr
-Chris
llvm-svn: 19214
2005-01-01 16:10:12 +00:00
Chris Lattner
78394258ae
Substantially improve the code generated by non-folded setcc instructions.
...
In particular, instead of compiling this:
bool %test(int %A, int %B) {
%C = setlt int %A, %B
ret bool %C
}
to this:
test:
save %sp, -96, %sp
subcc %i0, %i1, %g0
bl .LBBtest_1 !
nop
ba .LBBtest_2 !
nop
.LBBtest_1: !
or %g0, 1, %i0
ba .LBBtest_3 !
nop
.LBBtest_2: !
or %g0, 0, %i0
ba .LBBtest_3 !
nop
.LBBtest_3: !
restore %g0, %g0, %g0
retl
nop
We now compile it to this:
test:
save %sp, -96, %sp
subcc %i0, %i1, %g0
or %g0, 1, %i0
bl .LBBtest_2 !
nop
.LBBtest_1: !
or %g0, %g0, %i0
.LBBtest_2: !
restore %g0, %g0, %g0
retl
nop
llvm-svn: 19213
2005-01-01 16:06:57 +00:00
Chris Lattner
3215bb6049
Implement SimplifyCFG/DeadSetCC.ll
...
SimplifyCFG is one of those passes that we use for final cleanup: it should
not rely on other passes to clean up its garbage. This fixes the "why are
trivially dead setcc's in the output of gccas" problem.
llvm-svn: 19212
2005-01-01 16:02:12 +00:00
Chris Lattner
21adf7d36e
Add new test to make sure simplifycfg doesn't leave around trivially
...
dead instructions.
llvm-svn: 19211
2005-01-01 16:00:56 +00:00
Chris Lattner
1ece6f83ba
Allow getZeroExtend and getSignExtend to work with boolean inputs.
...
llvm-svn: 19210
2005-01-01 15:59:57 +00:00
Chris Lattner
3196de7663
Add a useful accessor
...
llvm-svn: 19209
2005-01-01 15:58:55 +00:00