summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Alkis noticed that this variable is dead. Thanks!Chris Lattner2004-11-301-2/+0
| | | | llvm-svn: 18369
* Add methodChris Lattner2004-11-301-2/+27
| | | | llvm-svn: 18368
* If we have something like this:Chris Lattner2004-11-301-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ;-) llvm-svn: 18366
* Remove extraneous namespacification. In particular, don't define ↵Chris Lattner2004-11-301-11/+9
| | | | | | llvm::llvm::createInternalGlobalMapperPass llvm-svn: 18365
* Allow hoisting loads of globals and alloca's in conditionals.Chris Lattner2004-11-291-0/+6
| | | | llvm-svn: 18363
* Functionality moved to portable lib/System/DynamicLibrary.cppReid Spencer2004-11-291-96/+0
| | | | | | implementation llvm-svn: 18358
* Use System/DynamicLibrary instead of Support/DynamicLinkerReid Spencer2004-11-294-12/+20
| | | | llvm-svn: 18357
* Use System/DynamicLibrary instead of Support/DynamicLinker to implement.Reid Spencer2004-11-291-2/+12
| | | | llvm-svn: 18356
* Implement two new functions: LoadLibraryPermanently andReid Spencer2004-11-291-28/+62
| | | | | | SearchForAddressOfSymbol. llvm-svn: 18355
* Shared library extension is now in LTDL_SHLIB_EXTReid Spencer2004-11-292-3/+3
| | | | llvm-svn: 18353
* We just use ltdl's implementation for this abstraction now. Its portable toReid Spencer2004-11-291-13/+3
| | | | | | more platforms than LLVM supports. llvm-svn: 18352
* Mods for compilation with llvm.Reid Spencer2004-11-291-7/+10
| | | | llvm-svn: 18346
* Original version of ltdl.h from libtool 1.5.10Reid Spencer2004-11-291-0/+366
| | | | llvm-svn: 18345
* Original version of ltdl.c from libtool 1.5.10Reid Spencer2004-11-291-0/+4495
| | | | llvm-svn: 18344
* Implement the default constructor which causes the current program to beReid Spencer2004-11-293-5/+29
| | | | | | opened as if it was a dynamic library so its symbols can be searched too. llvm-svn: 18341
* Revamp long/ulong comparisons to use a much more efficient sequence (thanksChris Lattner2004-11-291-36/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 llvm-svn: 18330
* Reworked branching so we don't handle BAs specially. It just updates the ↵Tanya Lattner2004-11-292-139/+97
| | | | | | branchTO regardless of what type of branch it is. llvm-svn: 18322
* Fixed bug where instructions in the kernel were not ordered right to ↵Tanya Lattner2004-11-284-7/+32
| | | | | | preserve dependencies in a cycle. llvm-svn: 18314
* Fix for PR454:Reid Spencer2004-11-281-41/+80
| | | | | | | * Make sure we handle signed to unsigned conversion correctly * Move this visitSetCondInst case to its own method. llvm-svn: 18312
* The LLVM bool type shall have 1 byte alignment on PPC.Chris Lattner2004-11-281-2/+2
| | | | llvm-svn: 18311
* Make DSE potentially more aggressive by being more specific about alloca sizes.Chris Lattner2004-11-281-4/+10
| | | | llvm-svn: 18309
* Fix DeadStoreElimination/2004-11-28-LiveStoreDeleted.llChris Lattner2004-11-281-3/+3
| | | | llvm-svn: 18308
* Fix SingleSource/UnitTests/2004-11-28-GlobalBoolLayout.c, and hopefullyChris Lattner2004-11-281-1/+1
| | | | | | PR449 llvm-svn: 18306
* Fix PR463Chris Lattner2004-11-281-1/+4
| | | | llvm-svn: 18303
* Compute the firstFileOffset correctly after reading the LLVM symbol table.Reid Spencer2004-11-281-2/+3
| | | | llvm-svn: 18300
* When merging to alias sets, if they are both must alias, the result is notChris Lattner2004-11-271-8/+22
| | | | | | | a must alias set unless all of the pointers in the resultant set are must aliased together. llvm-svn: 18275
* Implement Regression/Transforms/InstCombine/getelementptr_cast.ll, whichChris Lattner2004-11-271-0/+15
| | | | | | occurs many times in crafty llvm-svn: 18273
* Remove the ISel->AsmPrinter link via the TargetMachine that was put inNate Begeman2004-11-273-24/+2
| | | | | | | | 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. llvm-svn: 18267
* Add a new interfaceChris Lattner2004-11-261-0/+12
| | | | llvm-svn: 18266
* Provide size information when checking to see if we can LICM a load, thisChris Lattner2004-11-261-3/+6
| | | | | | allows us to hoist more loads in some cases. llvm-svn: 18265
* When evaluating an AA, pass in size infoChris Lattner2004-11-261-28/+38
| | | | llvm-svn: 18264
* There is no reason to store <x,x>, just store <x>.Chris Lattner2004-11-261-5/+3
| | | | llvm-svn: 18263
* The trick with globals actually works with allocas and malloc tooChris Lattner2004-11-261-12/+12
| | | | llvm-svn: 18262
* A store or load cannot alias a global if the accessed amount is larger thenChris Lattner2004-11-261-20/+49
| | | | | | | | the global. This implements Regression/Analysis/BasicAA/global-size.ll llvm-svn: 18261
* Add bzip2 subdirectoryReid Spencer2004-11-251-0/+1
| | | | llvm-svn: 18251
* Remove zlib support in favor of our own bzip2 libraryReid Spencer2004-11-251-177/+77
| | | | llvm-svn: 18250
* Adjust to Compressor interface changeReid Spencer2004-11-252-4/+2
| | | | llvm-svn: 18249
* Revise to LLVM makefile standards.Reid Spencer2004-11-251-192/+16
| | | | llvm-svn: 18246
* Initial Version from bzip2 Release 1.0.2.Reid Spencer2004-11-2515-0/+6297
| | | | llvm-svn: 18245
* Implement dependent library linking. It is no longer required that -lstdc++Reid Spencer2004-11-251-1/+8
| | | | | | | -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. llvm-svn: 18243
* Remove blank comment lines for uniformity.Reid Spencer2004-11-251-25/+2
| | | | | | Make sure lines don't exceed 80 cols. llvm-svn: 18242
* Enable optimization suggested by Chris Lattner to not emit reloc stubs forNate Begeman2004-11-253-21/+18
| | | | | | | | | | | | | | | | | | | 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. llvm-svn: 18239
* Fix the build on non ppc machinesChris Lattner2004-11-251-0/+5
| | | | llvm-svn: 18235
* The JIT works enoughChris Lattner2004-11-251-1/+0
| | | | llvm-svn: 18228
* Fix encoding of fsel, fixing olden/power, McCat/bisort and several others.Chris Lattner2004-11-251-1/+1
| | | | | | All of Olden passes now! :) llvm-svn: 18227
* Fix encoding of fneg instructionChris Lattner2004-11-251-1/+1
| | | | llvm-svn: 18226
* Fix encoding of swari, fixing several programs, including Olden/mstChris Lattner2004-11-251-1/+1
| | | | llvm-svn: 18225
* There is not a 1-1 mappign between llvm blocks and PPC blocks, do not useChris Lattner2004-11-251-5/+4
| | | | | | | LLVM blocks as the keys for the branch rewriter. This fixes treeadd and many other programs with the JIT. llvm-svn: 18223
* * Rename existing relocations to be more specificChris Lattner2004-11-243-18/+65
| | | | | | | | | | | | | | * Add relocations for refernces to non-lazy darwin stubs and implement them correctly. With this change, we can correctly references external globals, and now all but two UnitTests and all but 1 Regression/C tests pass. More importantly, bugpoint-jit will start giving us useful testcases, instead of always telling us that references to external globals don't work :) llvm-svn: 18222
* Add the same optimization that we do loading from fixed alloca slots toNate Begeman2004-11-241-0/+12
| | | | | | storing to fixed alloca slots. llvm-svn: 18221
OpenPOWER on IntegriCloud