summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix 80-column violations.Dan Gohman2009-02-201-4/+5
| | | | llvm-svn: 65159
* It's not necessary to check if Base is null here.Dan Gohman2009-02-201-2/+1
| | | | llvm-svn: 65157
* Support return of MMX values in 64-bit mode.Evan Cheng2009-02-201-3/+15
| | | | llvm-svn: 65152
* - Early exit a nested block.Bill Wendling2009-02-201-23/+27
| | | | | | | - Correct comment. - Whitespace changes. llvm-svn: 65149
* Add a comment about how Imm can be used for loop-variant values.Dan Gohman2009-02-201-1/+2
| | | | llvm-svn: 65147
* add note about sinTorok Edwin2009-02-201-0/+15
| | | | llvm-svn: 65137
* Factor address mode matcher out of codegen prepare to make it available to ↵Evan Cheng2009-02-202-643/+594
| | | | | | other passes, e.g. loop strength reduction. llvm-svn: 65134
* Just roll back the previous change to -mem2reg.Zhou Sheng2009-02-201-26/+0
| | | | | | Will re-think about this according to Chris's comments. llvm-svn: 65126
* patch to update the line number information in pass -mem2reg.Zhou Sheng2009-02-201-0/+26
| | | | | | | | Currently this pass will delete the variable declaration info, and keep the line number info. But the kept line number info is not updated, and some is redundant or not correct, this patch just updates those info. llvm-svn: 65123
* Fix a crash in the pre-alloc splitter exposed by recent codegen changes.Owen Anderson2009-02-201-0/+6
| | | | llvm-svn: 65121
* Add a quick pass to the stack slot colorer to eliminate some trivially ↵Owen Anderson2009-02-201-0/+62
| | | | | | | | | redundant spills after coloring. Ideally these would never get created in the first place, but until we enhance the spiller to have a more global picture of what's happening, this is necessary for code quality in some circumstances. llvm-svn: 65120
* Implement "superhero" strength reduction, or full strengthDan Gohman2009-02-201-109/+344
| | | | | | | | | | | | | | | | | reduction of address calculations down to basic pointer arithmetic. This is currently off by default, as it needs a few other features before it becomes generally useful. And even when enabled, full strength reduction is only performed when it doesn't increase register pressure, and when several other conditions are true. This also factors out a bunch of exisiting LSR code out of StrengthReduceStridedIVUsers into separate functions, and tidies up IV insertion. This actually decreases register pressure even in non-superhero mode. The change in iv-users-in-other-loops.ll is an example of this; there are two more adds because there are two fewer leas, and there is less spilling. llvm-svn: 65108
* Add an accessor method to DwarfWriter to tell of debugging info should be ↵Bill Wendling2009-02-201-5/+11
| | | | | | emitted. llvm-svn: 65092
* Temporarily revert r65065. It was causing test failures.Bill Wendling2009-02-191-1/+3
| | | | llvm-svn: 65068
* Print out debug info when printing the machine instruction.Bill Wendling2009-02-191-0/+9
| | | | llvm-svn: 65067
* Check for -fast here too.Bill Wendling2009-02-191-3/+1
| | | | llvm-svn: 65065
* Generate these labels when we're in "fast" mode, not simply when we're no inBill Wendling2009-02-193-11/+9
| | | | | | "optimize-for-size" mode. llvm-svn: 65064
* Use DEBUG() instead of passing *DOUT to WriteAsOperand,Dan Gohman2009-02-191-17/+7
| | | | | | | since the latter just passes a null reference when debugging is not enabled. llvm-svn: 65060
* Make the debug output of LSR less cryptic and more informative.Dan Gohman2009-02-191-29/+46
| | | | llvm-svn: 65057
* If an executable is run through a symlink, dladdr will return theChris Lattner2009-02-191-3/+8
| | | | | | | | symlink. We really want the ultimate executable being run, not the symlink. This lets clang find its headers when invoked through a symlink. rdar://6602012 llvm-svn: 65017
* Fix the logic in this assertion to properly validate the numberDan Gohman2009-02-191-2/+3
| | | | | | of arguments. llvm-svn: 64999
* Reapply r57340. VMKit does not presently rely on materializeFunctionDan Gohman2009-02-191-2/+2
| | | | | | | being called with the lock released, and this fixes a race condition in the JIT as used by lli. llvm-svn: 64997
* Put code that generates debug labels into TableGen so that it can be used byBill Wendling2009-02-187-20/+10
| | | | | | everyone. llvm-svn: 64978
* add proper asmwriter and asmparser support for anonymous functions.Chris Lattner2009-02-182-11/+15
| | | | llvm-svn: 64953
* In theory the aliasee may have dead constant usersDuncan Sands2009-02-181-0/+1
| | | | | | | | here. Since we only do the transform if there is one use, strip off any such users in the hope of making the transform fire more often. llvm-svn: 64926
* The subprogram die may not exist while creating "default" scope.Devang Patel2009-02-181-1/+4
| | | | llvm-svn: 64920
* Use a sign-extend instead of a zero-extend when promoting aDan Gohman2009-02-182-15/+54
| | | | | | | | | | | | trip count value when the original loop iteration condition is signed and the canonical induction variable won't undergo signed overflow. This isn't required for correctness; it just preserves more information about original loop iteration values. Add a getTruncateOrSignExtend method to ScalarEvolution, following getTruncateOrZeroExtend. llvm-svn: 64918
* Simplify by using dyn_cast instead of isa and cast.Dan Gohman2009-02-181-6/+5
| | | | llvm-svn: 64917
* Add explicit keywords.Dan Gohman2009-02-182-3/+3
| | | | llvm-svn: 64915
* Add support to the JIT for true non-lazy operation. When a call to a functionNate Begeman2009-02-189-40/+255
| | | | | | | | | | | | | | | | | | | | that has not been JIT'd yet, the callee is put on a list of pending functions to JIT. The call is directed through a stub, which is updated with the address of the function after it has been JIT'd. A new interface for allocating and updating empty stubs is provided. Add support for removing the ModuleProvider the JIT was created with, which would otherwise invalidate the JIT's PassManager, which is initialized with the ModuleProvider's Module. Add support under a new ExecutionEngine flag for emitting the infomration necessary to update Function and GlobalVariable stubs after JITing them, by recording the address of the stub and the name of the GlobalValue. This allows code to be copied from one address space to another, where libraries may live at different virtual addresses, and have the stubs updated with their new correct target addresses. llvm-svn: 64906
* Factor out the code to add a MachineOperand to a MachineInstrBuilder.Dan Gohman2009-02-188-159/+38
| | | | llvm-svn: 64891
* Eliminate several more unnecessary intptr_t casts.Dan Gohman2009-02-185-9/+9
| | | | llvm-svn: 64888
* GV with null value initializer shouldn't go to BSS if it's meant for a ↵Evan Cheng2009-02-183-3/+8
| | | | | | mergeable strings section. Currently it only checks for Darwin. Someone else please check if it should apply to other targets as well. llvm-svn: 64877
* Fix a corner case in the new indvars promotion logic: if thereDan Gohman2009-02-181-19/+25
| | | | | | | | | | are multiple IV's in a loop, some of them may under go signed or unsigned wrapping even if the IV that's used in the loop exit condition doesn't. Restrict sign-extension-elimination and zero-extension-elimination to only those that operate on the original loop-controlling IV. llvm-svn: 64866
* Fix a typo in a comment.Dan Gohman2009-02-181-1/+1
| | | | llvm-svn: 64859
* If an alias is dead and so is its aliasee, then globaldce wouldDuncan Sands2009-02-171-8/+16
| | | | | | | crash because the alias would still be using the aliasee when the aliasee was deleted. llvm-svn: 64844
* The debugger sometimes lookup dynamically in the runtime to find ivar info ↵Devang Patel2009-02-173-4/+16
| | | | | | | | of any Objective-C classes. It would be very helpful to debugger if the compiler encodes runtime version number in DWARF. Add support for two additional DWARF attributes to encode Objective-C runtime version number. llvm-svn: 64834
* Remove trailing whitespace to reduce later commit patch noise.Scott Michel2009-02-178-1609/+1609
| | | | | | | | (Note: Eventually, commits like this will be handled via a pre-commit hook that does this automagically, as well as expand tabs to spaces and look for 80-col violations.) llvm-svn: 64827
* Emit debug info for bitfields.Devang Patel2009-02-172-4/+30
| | | | llvm-svn: 64815
* LoopIndexSplit doesn't actually use ScalarEvolution.Dan Gohman2009-02-171-4/+1
| | | | llvm-svn: 64811
* Add a method to ScalarEvolution for telling it when a loop has beenDan Gohman2009-02-173-12/+32
| | | | | | | | | | | modified in a way that may effect the trip count calculation. Change IndVars to use this method when it rewrites pointer or floating-point induction variables instead of using a doInitialization method to sneak these changes in before ScalarEvolution has a chance to see the loop. This eliminates the need for LoopPass to depend on ScalarEvolution. llvm-svn: 64810
* commit a tweaked version of Daniel's patch for PR3599. We nowChris Lattner2009-02-171-26/+29
| | | | | | | eliminate all the extensions and all but the one required truncate from the testcase, but the or/and/shift stuff still isn't zapped. llvm-svn: 64809
* Move dumpPassStructure out of line.Dan Gohman2009-02-171-0/+10
| | | | llvm-svn: 64796
* Delete trailing whitespace.Dan Gohman2009-02-171-34/+34
| | | | llvm-svn: 64784
* This transform also applies to private linkage.Duncan Sands2009-02-171-2/+2
| | | | llvm-svn: 64773
* Fix 80-column violation.Dan Gohman2009-02-171-1/+2
| | | | llvm-svn: 64766
* A couple of places where reused use operands should be marked kill. This is ↵Evan Cheng2009-02-171-0/+11
| | | | | | exposed by recent availability fallthrough changes. llvm-svn: 64745
* add a horrible noteChris Lattner2009-02-171-0/+41
| | | | llvm-svn: 64719
* --- Merging (from foreign repository) r64714 into '.':Bill Wendling2009-02-173-31/+59
| | | | | | | | | | | | U include/llvm/CodeGen/DebugLoc.h U lib/CodeGen/SelectionDAG/LegalizeDAG.cpp U lib/CodeGen/SelectionDAG/SelectionDAGBuild.cpp U lib/Target/X86/AsmPrinter/X86ATTAsmPrinter.cpp Enable debug location generation at -Os. This goes with the reapplication of the r63639 patch. llvm-svn: 64715
* Strengthen the "non-constant stride must dominate loop preheader" check.Evan Cheng2009-02-172-9/+44
| | | | llvm-svn: 64703
OpenPOWER on IntegriCloud