Chris Lattner
5a85d9c664
Fix test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llx
...
This only fails on darwin or on X86 under valgrind.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18377 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 07:01:15 +00:00
Chris Lattner
35f2bbe8c6
Fix CodeGen/PowerPC/2004-11-30-shr-var-crash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18376 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 06:40:04 +00:00
Chris Lattner
e74ed0d53b
Fix test/Regression/CodeGen/PowerPC/2004-11-29-ShrCrash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18374 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 06:36:11 +00:00
Chris Lattner
7747040410
Fix test/Regression/CodeGen/PowerPC/2004-11-30-shift-crash.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18371 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 06:29:10 +00:00
Chris Lattner
6f9e571529
Alkis noticed that this variable is dead. Thanks!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18369 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 04:01:44 +00:00
Chris Lattner
38f1455393
Add method
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18368 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 02:51:53 +00:00
Chris Lattner
37dc938bbe
If we have something like this:
...
if (x) {
code
...
} else {
code
...
}
Turn it into:
code
if (x) {
...
} else {
...
}
This reduces code size and in some common cases allows us to completely
eliminate the conditional. This turns several if/then/else blocks in loops
into straightline code in 179.art, turning the loops into single basic blocks
(good for modsched even!).
Maybe now brg will leave me alone ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18366 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 00:29:14 +00:00
Chris Lattner
ee8c9ad8d2
Remove extraneous namespacification. In particular, don't define llvm::llvm::createInternalGlobalMapperPass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18365 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-30 00:22:59 +00:00
Chris Lattner
8a9193927a
Allow hoisting loads of globals and alloca's in conditionals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18363 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 21:26:12 +00:00
Reid Spencer
e934219e77
Functionality moved to portable lib/System/DynamicLibrary.cpp
...
implementation
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18358 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 14:11:41 +00:00
Reid Spencer
df5a37efc9
Use System/DynamicLibrary instead of Support/DynamicLinker
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18357 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 14:11:29 +00:00
Reid Spencer
737459df79
Use System/DynamicLibrary instead of Support/DynamicLinker to implement.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18356 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 14:07:46 +00:00
Reid Spencer
19cd4a9e6b
Implement two new functions: LoadLibraryPermanently and
...
SearchForAddressOfSymbol.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18355 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 13:33:28 +00:00
Reid Spencer
a564845f83
Shared library extension is now in LTDL_SHLIB_EXT
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18353 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 12:40:21 +00:00
Reid Spencer
29ae1777c1
We just use ltdl's implementation for this abstraction now. Its portable to
...
more platforms than LLVM supports.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18352 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 12:39:10 +00:00
Reid Spencer
58c8ee1537
Mods for compilation with llvm.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18346 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 12:04:27 +00:00
Reid Spencer
9c16ed5aea
Original version of ltdl.h from libtool 1.5.10
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18345 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 12:02:48 +00:00
Reid Spencer
535af2be27
Original version of ltdl.c from libtool 1.5.10
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18344 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 12:02:25 +00:00
Reid Spencer
441cc2ab01
Implement the default constructor which causes the current program to be
...
opened as if it was a dynamic library so its symbols can be searched too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18341 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 10:39:46 +00:00
Chris Lattner
928b47ae2e
Revamp long/ulong comparisons to use a much more efficient sequence (thanks
...
to Brian and the Sun compiler for pointing out that the obvious works :)
This also enables folding all long comparisons into setcc and branch
instructions: before we could only do == and !=
For example, for:
void test(unsigned long long A, unsigned long long B) {
if (A < B) foo();
}
We now generate:
test:
subl $4, %esp
movl %esi, (%esp)
movl 8(%esp), %eax
movl 12(%esp), %ecx
movl 16(%esp), %edx
movl 20(%esp), %esi
subl %edx, %eax
sbbl %esi, %ecx
jae .LBBtest_2 # UnifiedReturnBlock
.LBBtest_1: # then
call foo
movl (%esp), %esi
addl $4, %esp
ret
.LBBtest_2: # UnifiedReturnBlock
movl (%esp), %esi
addl $4, %esp
ret
Instead of:
test:
subl $12, %esp
movl %esi, 8(%esp)
movl %ebx, 4(%esp)
movl 16(%esp), %eax
movl 20(%esp), %ecx
movl 24(%esp), %edx
movl 28(%esp), %esi
cmpl %edx, %eax
setb %al
cmpl %esi, %ecx
setb %bl
cmove %ax, %bx
testb %bl, %bl
je .LBBtest_2 # UnifiedReturnBlock
.LBBtest_1: # then
call foo
movl 4(%esp), %ebx
movl 8(%esp), %esi
addl $12, %esp
ret
.LBBtest_2: # UnifiedReturnBlock
movl 4(%esp), %ebx
movl 8(%esp), %esi
addl $12, %esp
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18330 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 05:55:24 +00:00
Tanya Lattner
58fe2f0734
Reworked branching so we don't handle BAs specially. It just updates the branchTO regardless of what type of branch it is.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18322 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-29 04:39:47 +00:00
Tanya Lattner
28e5eabf65
Fixed bug where instructions in the kernel were not ordered right to preserve dependencies in a cycle.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18314 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 23:36:15 +00:00
Reid Spencer
6731d5c494
Fix for PR454:
...
* Make sure we handle signed to unsigned conversion correctly
* Move this visitSetCondInst case to its own method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18312 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 21:31:15 +00:00
Chris Lattner
9d0087e043
The LLVM bool type shall have 1 byte alignment on PPC.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18311 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 21:16:45 +00:00
Chris Lattner
8305a64dce
Make DSE potentially more aggressive by being more specific about alloca sizes.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18309 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 20:44:37 +00:00
Chris Lattner
eaf8f9c667
Fix DeadStoreElimination/2004-11-28-LiveStoreDeleted.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18308 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 20:30:15 +00:00
Chris Lattner
63eb93025d
Fix SingleSource/UnitTests/2004-11-28-GlobalBoolLayout.c, and hopefully
...
PR449
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18306 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 17:56:47 +00:00
Chris Lattner
7891593359
Fix PR463
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18303 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 16:45:45 +00:00
Reid Spencer
8dde18fc50
Compute the firstFileOffset correctly after reading the LLVM symbol table.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18300 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-28 03:13:02 +00:00
Chris Lattner
cc8d524a24
When merging to alias sets, if they are both must alias, the result is not
...
a must alias set unless all of the pointers in the resultant set are must
aliased together.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18275 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-27 18:37:42 +00:00
Chris Lattner
646641e02c
Implement Regression/Transforms/InstCombine/getelementptr_cast.ll, which
...
occurs many times in crafty
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18273 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-27 17:55:46 +00:00
Nate Begeman
3330e08888
Remove the ISel->AsmPrinter link via the TargetMachine that was put in
...
place to help bring up the PowerPC back end on Darwin. This code is no
longer serves any purpose now that the AsmPrinter does the right thing
all the time printing GlobalValues. --Cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18267 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-27 04:45:11 +00:00
Chris Lattner
07bfa52405
Add a new interface
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18266 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26 21:36:25 +00:00
Chris Lattner
f3e1d6977e
Provide size information when checking to see if we can LICM a load, this
...
allows us to hoist more loads in some cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18265 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26 21:20:09 +00:00
Chris Lattner
1ed80b66b1
When evaluating an AA, pass in size info
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18264 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26 21:05:39 +00:00
Chris Lattner
15ee8adb00
There is no reason to store <x,x>, just store <x>.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18263 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26 20:25:17 +00:00
Chris Lattner
4e61676b56
The trick with globals actually works with allocas and malloc too
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18262 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26 20:01:48 +00:00
Chris Lattner
0a1ac907c3
A store or load cannot alias a global if the accessed amount is larger then
...
the global.
This implements Regression/Analysis/BasicAA/global-size.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18261 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-26 19:20:01 +00:00
Reid Spencer
c48c103c33
Add bzip2 subdirectory
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18251 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 19:38:28 +00:00
Reid Spencer
f6a0acd64a
Remove zlib support in favor of our own bzip2 library
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18250 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 19:38:16 +00:00
Reid Spencer
84472d6e3c
Adjust to Compressor interface change
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18249 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 19:38:05 +00:00
Reid Spencer
bc98a64b2a
Revise to LLVM makefile standards.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18246 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 16:12:25 +00:00
Reid Spencer
26eda77f1f
Initial Version from bzip2 Release 1.0.2.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18245 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 16:11:36 +00:00
Reid Spencer
53c4c5672c
Implement dependent library linking. It is no longer required that -lstdc++
...
-lstdsup++ no -lc be passed on the command line to llvm linkers if the
progam being linked was compiled with the C/C++ Front End or Stacker.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18243 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 09:32:08 +00:00
Reid Spencer
719012d625
Remove blank comment lines for uniformity.
...
Make sure lines don't exceed 80 cols.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18242 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 09:29:44 +00:00
Nate Begeman
d4c8bea47f
Enable optimization suggested by Chris Lattner to not emit reloc stubs for
...
static global variables whose addresses are taken. This allows us to
convert the following code for taking the address of a static function foo
addis r2, r30, ha16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")
lwz r3, lo16(Ll1__2E_foo_2$non_lazy_ptr-"L00001$pb")(r2)
which also includes linker stub code emitted at the end of the .s file not
shown here, and replace it with this:
addis r2, r30, ha16(l1__2E_foo_2-"L00001$pb")
la r3, lo16(l1__2E_foo_2-"L00001$pb")(r2)
which in addition to not needing linker help, also has no load instruction.
For those not up on PowerPC mnemonics, la is shorthand for add immediate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18239 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 07:09:01 +00:00
Chris Lattner
fde839b4ff
Fix the build on non ppc machines
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18235 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 06:14:45 +00:00
Chris Lattner
2a0c0dff0b
The JIT works enough
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18228 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 04:14:54 +00:00
Chris Lattner
5cbf3bc202
Fix encoding of fsel, fixing olden/power, McCat/bisort and several others.
...
All of Olden passes now! :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18227 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 04:11:07 +00:00
Chris Lattner
a1ab451392
Fix encoding of fneg instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18226 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-25 03:53:44 +00:00