summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Do not let GCC emit a warning for INT64_MINChris Lattner2004-11-301-2/+5
| | | | llvm-svn: 18398
* Sparcs behave better if we use <alloca.h> and avoid messing with ↵Brian Gaeke2004-11-301-1/+1
| | | | | | __builtin_alloca. llvm-svn: 18397
* Fix the JIT when being used from llvm-dbChris Lattner2004-11-301-1/+1
| | | | llvm-svn: 18391
* This pass is completely broken.Chris Lattner2004-11-301-11/+4
| | | | llvm-svn: 18387
* RevisionNum is read by error(), initialize it early.Chris Lattner2004-11-301-0/+1
| | | | llvm-svn: 18386
* Update list of failing benchmarks.Brian Gaeke2004-11-301-1/+1
| | | | llvm-svn: 18384
* If we're about to emit something like:Brian Gaeke2004-11-301-13/+25
| | | | | | | | | | %f0 = fmovs %f0 %f1 = fmovs %f1 then just delete the FpMOVD pseudo-instruction instead. Also, add statistics and debug printouts. llvm-svn: 18383
* Squelch warningChris Lattner2004-11-301-1/+1
| | | | llvm-svn: 18381
* Fix several bugs in 'op x, imm' handling. Foremost is that we now emitChris Lattner2004-11-301-14/+10
| | | | | | | | | | | | | | addi r3, r3, -1 instead of addi r3, r3, 1 for 'sub int X, 1'. Secondarily, this fixes several cases where we could crash given an unsigned constant. And fixes a couple of minor missed optimization cases, such as xor X, ~0U -> not X llvm-svn: 18379
* Up the compression threshold to 64K so we avoid it for all but the largestReid Spencer2004-11-301-1/+1
| | | | | | bytecode files. This should help linking substantially. llvm-svn: 18378
* Fix test/Regression/Transforms/LICM/2004-09-14-AliasAnalysisInvalidate.llxChris Lattner2004-11-301-0/+2
| | | | | | This only fails on darwin or on X86 under valgrind. llvm-svn: 18377
* Fix CodeGen/PowerPC/2004-11-30-shr-var-crash.llChris Lattner2004-11-301-1/+1
| | | | llvm-svn: 18376
* Fix test/Regression/CodeGen/PowerPC/2004-11-29-ShrCrash.llChris Lattner2004-11-301-1/+3
| | | | llvm-svn: 18374
* Fix test/Regression/CodeGen/PowerPC/2004-11-30-shift-crash.llChris Lattner2004-11-301-1/+6
| | | | llvm-svn: 18371
* 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
OpenPOWER on IntegriCloud