summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
...
* Shrink MachineOperand from 40 to 32 bytes on 64-bit hosts.Jakob Stoklund Olesen2010-10-192-9/+21
| | | | | | | | | | | | | 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-193-73/+21
| | | | | | | integers by default, and remove the controlling flag, now that LICM will hoist such vdup's. 8003375. llvm-svn: 116852
* Remove extraneous slash.Owen Anderson2010-10-191-1/+1
| | | | llvm-svn: 116851
* 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-1910-146/+148
| | | | | | | 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-194-34/+34
| | | | | | use uint64_t. llvm-svn: 116839
* unittests: Use the correct defines and global variables when building on CMake.Michael J. Spencer2010-10-191-0/+2
| | | | llvm-svn: 116834
* Fix VC2010 build.Michael J. Spencer2010-10-191-3/+0
| | | | llvm-svn: 116833
* Factor out the call-once implementation into its own macro.Owen Anderson2010-10-191-70/+21
| | | | llvm-svn: 116832
* 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
* Fixing r116753 r116756 r116777Jason W Kim2010-10-1933-584/+619
| | | | | | | | | | | | | | | | | | | The failures in r116753 r116756 were caused by a python issue - Python likes to append 'L' suffix to stringified numbers if the number is larger than a machine int. Unfortunately, this causes a divergence of behavior between 32 and 64 bit python versions. I re-crafted elf-dump/common_dump to take care of these issues by: 1. always printing 0x (makes for easy sed/regex) 2. always print fixed length (exactly 2 + numBits/4 digits long) by mod ((2^numBits) - 1) 3. left-padded with '0' There is a residual common routine that is also used by macho-dump (dataToHex) , so I left the 'section_data' test values alone. llvm-svn: 116823
* Get rid of static constructors for pass registration. Instead, every pass ↵Owen Anderson2010-10-19140-177/+561
| | | | | | | | | | | | | | | | | 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-1910-126/+121
| | | | | | 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-193-7/+51
| | | | | | Fixes PR8389. llvm-svn: 116812
* Trailing whitespace.Mikhail Glushenkov2010-10-191-1/+1
| | | | llvm-svn: 116811
* Add test case mov.ll for PTX device functionChe-Liang Chiou2010-10-191-0/+13
| | | | llvm-svn: 116806
* 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
* First step to allowing the resource directory of Clang to be adjusted forChandler Carruth2010-10-195-1/+34
| | | | | | | | | | strange packaging environments. The primary result of this is to expose a (normally empty) CLANG_RESOURCE_DIR string in the autoconf and CMake builds. This will in turn be used by a subsequent commit to Clang. Regenerated configure and config.h.in thanks to Nick. =D llvm-svn: 116802
* 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-192-9/+23
| | | | 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-1910-121/+126
| | | | | | | | | | | "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-192-1/+4
| | | | llvm-svn: 116779
* Speculatively revert 116753 and 116756 to attempt to fix the bots.Eric Christopher2010-10-1932-582/+582
| | | | llvm-svn: 116777
* Support alignment for NEON vld-lane and vst-lane instructions.Bob Wilson2010-10-193-39/+70
| | | | llvm-svn: 116776
* Added a few tweaks to the Intel Descriptor-table support instructions to allowKevin Enderby2010-10-194-0/+128
| | | | | | | 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-182-15/+11
| | | | | | | between "not known yet" and "known no tbaa info" so that it can merge them properly. llvm-svn: 116767
* Add a virtual destructor to silence a GCC warning.Chandler Carruth2010-10-181-0/+2
| | | | llvm-svn: 116766
* Revert r116220 - thus turning arm fast isel back on by default.Eric Christopher2010-10-182-5/+5
| | | | llvm-svn: 116762
* Get rid of unneeded FormatOutput global variableJason W Kim2010-10-181-50/+48
| | | | llvm-svn: 116756
* 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
* Changed elf-dump to output hex format by default.Jason W Kim2010-10-1832-582/+584
| | | | | | Also updated tests. llvm-svn: 116753
* Don't pass the raw invalid pointer used to represent conflictingDan Gohman2010-10-183-4/+49
| | | | | | TBAA information to AliasAnalysis. llvm-svn: 116751
* Don't recompute MachineRegisterInfo in the Optimize* method.Bill Wendling2010-10-184-7/+9
| | | | llvm-svn: 116750
* Trailing whitespace.Mikhail Glushenkov2010-10-181-151/+151
| | | | llvm-svn: 116749
* Add a basic testcase for TBAA-aware LICM.Dan Gohman2010-10-181-0/+33
| | | | llvm-svn: 116745
* Implement R_386_GOT32.Rafael Espindola2010-10-182-1/+13
| | | | llvm-svn: 116744
* Make AliasSetTracker TBAA-aware, enabling TBAA-enabled LICM.Dan Gohman2010-10-184-40/+85
| | | | llvm-svn: 116743
* Relocate with .bss instead of using the symbol. Matches gas behavior.Rafael Espindola2010-10-182-0/+28
| | | | 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-182-5/+13
| | | | | | is currently inert by default. llvm-svn: 116732
OpenPOWER on IntegriCloud