summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Fix backwards conditional.Jim Grosbach2010-10-201-1/+1
| | | | llvm-svn: 116897
* Make CodeGen TBAA-aware.Dan Gohman2010-10-206-30/+72
| | | | llvm-svn: 116890
* Add dynamic realignment when rematerializing the base register.Jim Grosbach2010-10-201-0/+13
| | | | llvm-svn: 116886
* Nuke a commented out bit that got missed a while back.Jim Grosbach2010-10-191-1/+1
| | | | llvm-svn: 116883
* Add a pre-dispatch SjLj EH hook on the unwind edge for targets to do anyJim Grosbach2010-10-1910-18/+109
| | | | | | | setup they require. Use this for ARM/Darwin to rematerialize the base pointer from the frame pointer when required. rdar://8564268 llvm-svn: 116879
* Move NoAA out of BasicAliasAnalysis.cpp into its own file, now thatDan Gohman2010-10-193-87/+92
| | | | | | | it doesn't have a special relationship with BasicAliasAnalysis anymore. llvm-svn: 116876
* Reapply r116831 and r116839, converting AliasAnalysis to useDan Gohman2010-10-1911-59/+63
| | | | | | uint64_t, plus fixes for places I missed before. llvm-svn: 116875
* Extend StringRef's edit-distance algorithm to permit an upper bound on the ↵Douglas Gregor2010-10-191-1/+8
| | | | | | allowed edit distance llvm-svn: 116867
* Update comments to remove obsolete references.Jim Grosbach2010-10-191-6/+5
| | | | llvm-svn: 116863
* Revert r116831 and r116839, which are breaking selfhost builds.Dan Gohman2010-10-197-46/+44
| | | | llvm-svn: 116858
* Shrink MachineOperand from 40 to 32 bytes on 64-bit hosts.Jakob Stoklund Olesen2010-10-191-3/+3
| | | | | | | | | | | | | Pull an unsigned out of the Contents union such that it has the same size as two pointers and no padding. Arrange members such that the Contents union and all pointers can be 8-byte aligned without padding. This speeds up code generation by 0.8% on a 64-bit host. 32-bit hosts should be unaffected. llvm-svn: 116857
* Passes do not need to recursively initialize passes that they preserve, ifOwen Anderson2010-10-198-16/+2
| | | | | | | they do not also require them. This allows us to reduce inter-pass linkage dependencies. llvm-svn: 116854
* Enable using vdup for vector constants which are splat ofDale Johannesen2010-10-191-32/+17
| | | | | | | integers by default, and remove the controlling flag, now that LICM will hoist such vdup's. 8003375. llvm-svn: 116852
* Small cleanups and fixes in preparation for fixing _GLOBAL_OFFSET_TABLE_.Rafael Espindola2010-10-191-7/+11
| | | | llvm-svn: 116848
* Re-enable register pressure aware machine licm with fixes. Hoist() may haveEvan Cheng2010-10-195-77/+123
| | | | | | | erased the instruction during LICM so UpdateRegPressureAfter() should not reference it afterwards. llvm-svn: 116845
* Oops, check in all the files for converting AliasAnalysis toDan Gohman2010-10-192-4/+4
| | | | | | use uint64_t. llvm-svn: 116839
* Change AliasAnalysis and its clients to use uint64_t instead of unsignedDan Gohman2010-10-195-40/+42
| | | | | | for representing object sizes, for consistency with other parts of LLVM. llvm-svn: 116831
* Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson2010-10-19118-139/+436
| | | | | | | | | | | | | | | | | exposes an initializeMyPassFunction(), which must be called in the pass's constructor. This function uses static dependency declarations to recursively initialize the pass's dependencies. Clients that only create passes through the createFooPass() APIs will require no changes. Clients that want to use the CommandLine options for passes will need to manually call the appropriate initialization functions in PassInitialization.h before parsing commandline arguments. I have tested this with all standard configurations of clang and llvm-gcc on Darwin. It is possible that there are problems with the static dependencies that will only be visible with non-standard options. If you encounter any crash in pass registration/creation, please send the testcase to me directly. llvm-svn: 116820
* Revert r116781 "- Add a hook for target to determine whether an instruction defDaniel Dunbar2010-10-195-101/+52
| | | | | | is", which breaks some nightly tests. llvm-svn: 116816
* Consistently use AliasAnalysis::UnknownSize instead of hardcoding ~0u.Dan Gohman2010-10-195-25/+34
| | | | llvm-svn: 116815
* GlobalOpt: EvaluateFunction() must not evaluate stores to weak_odr globals.Mikhail Glushenkov2010-10-191-6/+7
| | | | | | Fixes PR8389. llvm-svn: 116812
* Add lower argument and return of device functionChe-Liang Chiou2010-10-197-9/+275
| | | | llvm-svn: 116805
* Fix spelling.Bill Wendling2010-10-191-1/+1
| | | | llvm-svn: 116804
* X86: Add MS-CRT libcalls.Michael J. Spencer2010-10-191-0/+2
| | | | llvm-svn: 116801
* Fix Whitespace.Michael J. Spencer2010-10-192-26/+26
| | | | llvm-svn: 116800
* lib/CodeGen/TargetLoweringObjectFileImpl.cpp: Tweak to emit ↵NAKAMURA Takumi2010-10-191-5/+5
| | | | | | | | ".{section}${name}" instead of ".{section}$linkonce_{name}" for linkonce sections. It seems GNU ld/PECOFF relies on section names, linking with g++'s libstdc++.a would fail. llvm-svn: 116791
* Fix for machine licm assert: RCCost <= RegPressure[RCId]Andrew Trick2010-10-191-2/+2
| | | | | | | in MultiSource/Benchmarks/VersaBench/beamformer/beamformer. SmallSet.insert returns true if the element is inserted. llvm-svn: 116790
* Fix PR8300 by remembering to keep the bitcast in all cases.Rafael Espindola2010-10-191-9/+10
| | | | llvm-svn: 116788
* lib/System/Win32/ThreadLocal.inc: Suppress "unused" warning on -Asserts.NAKAMURA Takumi2010-10-191-0/+1
| | | | llvm-svn: 116785
* lib/Support/raw_ostream.cpp: Fix Cygwin's build.NAKAMURA Takumi2010-10-191-0/+4
| | | | | | setmode is provided by io.h on Cygwin. llvm-svn: 116784
* - Add a hook for target to determine whether an instruction def isEvan Cheng2010-10-195-52/+101
| | | | | | | | | | | "long latency" enough to hoist even if it may increase spilling. Reloading a value from spill slot is often cheaper than performing an expensive computation in the loop. For X86, that means machine LICM will hoist SQRT, DIV, etc. ARM will be somewhat aggressive with VFP and NEON instructions. - Enable register pressure aware machine LICM by default. llvm-svn: 116781
* Move the definition of this to the source file to anchor the vtable.Chandler Carruth2010-10-191-0/+3
| | | | llvm-svn: 116779
* Support alignment for NEON vld-lane and vst-lane instructions.Bob Wilson2010-10-191-0/+11
| | | | llvm-svn: 116776
* Added a few tweaks to the Intel Descriptor-table support instructions to allowKevin Enderby2010-10-192-0/+48
| | | | | | | word forms and suffixed versions to match the darwin assembler in 32-bit and 64-bit modes. This is again for use just with assembly source for llvm-mc . llvm-svn: 116773
* ARM encoding information for [SU]SAT* instructions.Jim Grosbach2010-10-181-14/+58
| | | | llvm-svn: 116768
* Make the representation of AliasSets explicitly differentiateDan Gohman2010-10-181-2/+2
| | | | | | | between "not known yet" and "known no tbaa info" so that it can merge them properly. llvm-svn: 116767
* Revert r116220 - thus turning arm fast isel back on by default.Eric Christopher2010-10-181-3/+3
| | | | llvm-svn: 116762
* CrashRecoveryContext: Add missing return, so that the signal fires after we ourDaniel Dunbar2010-10-181-0/+3
| | | | | | | routine is off the stack. Otherwise we show up rather confusingly in the stack trace. llvm-svn: 116755
* Don't pass the raw invalid pointer used to represent conflictingDan Gohman2010-10-181-3/+5
| | | | | | TBAA information to AliasAnalysis. llvm-svn: 116751
* Don't recompute MachineRegisterInfo in the Optimize* method.Bill Wendling2010-10-183-7/+8
| | | | llvm-svn: 116750
* Trailing whitespace.Mikhail Glushenkov2010-10-181-151/+151
| | | | llvm-svn: 116749
* Implement R_386_GOT32.Rafael Espindola2010-10-181-0/+3
| | | | llvm-svn: 116744
* Make AliasSetTracker TBAA-aware, enabling TBAA-enabled LICM.Dan Gohman2010-10-182-27/+55
| | | | llvm-svn: 116743
* Relocate with .bss instead of using the symbol. Matches gas behavior.Rafael Espindola2010-10-181-0/+3
| | | | llvm-svn: 116741
* Reenable assert.Rafael Espindola2010-10-181-1/+2
| | | | llvm-svn: 116738
* Transfer debug loc to lowered call.Devang Patel2010-10-181-0/+2
| | | | | | Patch by Alexander Herz! llvm-svn: 116733
* Add TypeBasedAliasAnalysis to the standard pass lists. Note that itDan Gohman2010-10-181-2/+2
| | | | | | is currently inert by default. llvm-svn: 116732
* Fix BasicAA to pass TBAAInfo through to the chained analysis.Dan Gohman2010-10-181-26/+47
| | | | llvm-svn: 116730
* For Thumb2, try to use frame pointer references for stack slots even when aJim Grosbach2010-10-181-2/+10
| | | | | | base register is available. rdar://8525298 llvm-svn: 116729
* Produce ELF::R_386_GOTPC relocations.Rafael Espindola2010-10-182-1/+11
| | | | llvm-svn: 116728
OpenPOWER on IntegriCloud