Chris Lattner
e768ff2cdc
Add a bunch of tests for ANDs that should be eliminated.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19216 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 16:13:19 +00:00
Chris Lattner
05b402ce9f
This now works.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19215 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 16:12:52 +00:00
Chris Lattner
6dec0b09d5
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19214 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 16:10:12 +00:00
Chris Lattner
e7f96c515e
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19213 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 16:06:57 +00:00
Chris Lattner
13b2f764c0
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19212 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 16:02:12 +00:00
Chris Lattner
72a406eb14
Add new test to make sure simplifycfg doesn't leave around trivially
...
dead instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19211 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 16:00:56 +00:00
Chris Lattner
f5ac6c27ac
Allow getZeroExtend and getSignExtend to work with boolean inputs.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19210 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 15:59:57 +00:00
Chris Lattner
801abe663f
Add a useful accessor
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19209 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 15:58:55 +00:00
Chris Lattner
fd1cbc095a
Add two helper functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19208 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 15:58:41 +00:00
Reid Spencer
9964cd8e9a
Update to autoconf 2.59 standards.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19207 91177308-0d34-0410-b5e6-96231b3b80d8
2005-01-01 09:26:55 +00:00
Reid Spencer
bb4fe3d677
Correct the conditional test for non-portable tools so that it will
...
correctly omit them for non-Unix operating systems.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19206 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 22:56:14 +00:00
Reid Spencer
bbf7a8af5a
For PR351:
...
Make LLVM_ON_UNIX and LLVM_ON_WIN32 available in the makefiles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19205 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 22:54:28 +00:00
Reid Spencer
e0a7dddf39
Describe both objdir==srcdir and objdir!=srcdir methods of building LLVM
...
libraries and tools. Thanks to Henrik Bach for this suggestion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19204 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 19:48:59 +00:00
Jeff Cohen
45e88d68b3
Where do these tabs keep coming from???
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19203 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 19:03:31 +00:00
Jeff Cohen
51b8d211f6
Mostly cleanup, but also some bug fixes, for win32/Path.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19202 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 19:01:08 +00:00
Reid Spencer
92ced2f16a
Fix a compilation error for the case where mallinfo() is not available.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19201 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 05:53:27 +00:00
Reid Spencer
ba46ca3a3b
For PR351:
...
* lib/System depends on sbrk(3), make sure we check for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19200 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 05:49:15 +00:00
Jeff Cohen
d40a7de229
Get rid of those nasty tabs...
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19199 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 05:07:26 +00:00
Jeff Cohen
ebcb9b3807
Bring win32/Path.cpp up to date with respect to Unix/Path.cpp
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19198 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 04:39:07 +00:00
Reid Spencer
139e1663a6
* Add missing libraries: Linker, Archive, SparcV8
...
* Make library descriptions consistently lower case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19197 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-31 00:13:14 +00:00
Reid Spencer
b7e65b8a6a
* Don't include weak definitions as a definition
...
* Make subordinate libraries presented with a vertical list instead of all
listed on a single line.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19196 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 23:13:12 +00:00
Reid Spencer
e0f33aea9a
Add a section on library dependencies now that GenLibDeps.html is written.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19195 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 23:12:04 +00:00
Reid Spencer
579b8de1c2
A Perl script to generate an HTML definition list containing the LLVM
...
library dependencies, for documentation purposes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19194 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 23:07:56 +00:00
Reid Spencer
3d1cc28e7c
Fix the help documentation to not imply multiple archive files can be
...
processed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19193 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 17:51:57 +00:00
Reid Spencer
1ef8bdaedb
For PR351:
...
* Place a try/catch block around the entire tool to Make sure std::string
exceptions are caught and printed before exiting the tool.
* Make sure we catch unhandled exceptions at the top level so that we don't
abort with a useless message but indicate than an unhandled exception was
generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19192 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 05:36:08 +00:00
Jeff Cohen
c18671cdcd
Fix MINGW compilation errors
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19190 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-30 03:02:31 +00:00
Reid Spencer
582a23c686
* Fix a bug in an m4 macro that used an incorrect test operator
...
* Add CAN_DLOPEN_SELF so we can determine if dlopen(0) will open the
program or not.
* Correct a warning messages to be a little more specific on what it checks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19184 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 07:07:57 +00:00
Reid Spencer
b09a68ef4b
Fix a Bourne Shell syntax error in a test
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19183 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 06:59:36 +00:00
Reid Spencer
6da9142a6f
Fix one of the names to not have a . in front of it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19182 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 05:47:04 +00:00
Chris Lattner
bfd2468347
Bug fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19181 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 04:39:50 +00:00
Chris Lattner
da16d8c00b
Fix PR491 and testcase Transforms/DeadStoreElimination/2004-12-28-PartialStore.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19180 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 04:36:02 +00:00
Chris Lattner
d0137cd0f4
Add a comment, add a new testcase
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19179 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 04:35:30 +00:00
Chris Lattner
1d078167a9
New testcase for PR491
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19178 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 04:27:26 +00:00
Chris Lattner
e936771e79
Bug fixed
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19177 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 04:03:23 +00:00
Chris Lattner
f376e5e5f6
Fix PR490
...
Fix testcase CodeGen/CBackend/2004-12-28-LogicalConstantExprs.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19176 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 04:00:09 +00:00
Chris Lattner
5a23c8bbdb
new testcase for PR490
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19175 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 03:57:25 +00:00
Reid Spencer
96e5436e9b
XFAIL this test everywhere.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19174 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 03:17:30 +00:00
Reid Spencer
2fcd29acea
XFAIL this everywhere, the CFE doesn't support bitfield initialization.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19173 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 03:16:40 +00:00
Reid Spencer
56127624e7
Remove potential platform portability issue with size of "int".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19172 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-29 01:20:24 +00:00
Reid Spencer
775bf890e1
Correct the name of the variable for the LLVM examples directory so that
...
parallel builds don't attempt to create it twice.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19171 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-28 07:59:22 +00:00
Reid Spencer
2dc6586073
Make the x86_64 target names match between def and use. Thanks Misha.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19170 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-28 07:56:14 +00:00
Reid Spencer
be41b250e0
Make the 64-bit x86 target named "x86_64" instead of "AMD64".
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19169 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-28 06:34:11 +00:00
Misha Brukman
93d416f060
Add a note about registering the backend so it's available in LLC and LLI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19168 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 19:05:16 +00:00
Jeff Cohen
da12bdcf22
Bring VS projects up to date with respect to recent changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19167 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 16:49:34 +00:00
Reid Spencer
f97c703b66
Don't create symbolic links for lib/System any more. It doesn't need them.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19166 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 09:33:46 +00:00
Reid Spencer
bb87426ad6
Clean up some autoconf cruft
...
* Make the source detection use a file unique to Stacker
* Configure Makefile.common.in with AC_CONFIG_FILES not AC_CONFIG_MAKEFILE
* Use new autoconf format for invoking AC_OUTPUT
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19165 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 08:51:55 +00:00
Reid Spencer
f3664e0a4f
Make it possible to reconfigure a project as well as just LLVM main dir.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19164 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 08:50:27 +00:00
Reid Spencer
aeb47b8db9
Fix a bug that made the nightly tester *really* slow. During changes for
...
portability, the --track-space option was inadvertently ignored. This patch
fixes that so that sys::Process::GetMallocUsage() is only invoked if the
--track-spaces option is given. Apparently the mallinfo() call that
GetMallocUsage() uses is *very* slow, especially when processing very large
modules like projects/llvm-test/MultiSource/Applications/kimwitu++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19163 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 08:03:04 +00:00
Reid Spencer
51163306ab
For PR351:
...
* sys::PreventCoreFiles -> sys::Process::PreventCoreFiles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19162 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 06:18:02 +00:00
Reid Spencer
7c1e2f96cd
For PR351:
...
* Ensure #includes are wrapped with appropriate HAVE_ guards
* Account for variations in time.h and sys/time.h inclusion.
* Add macros for getting wait(2) exit status correctly (per autoconf sugg.)
* Implement ThrowErrno in terms of strerror_r, strerror or none based on
what is available on the platform.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@19161 91177308-0d34-0410-b5e6-96231b3b80d8
2004-12-27 06:17:50 +00:00