summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Make TypeBasedAliasAnalysis default to doing nothing, with a command-lineDan Gohman2010-10-181-0/+10
| | | | | | option to enable it. llvm-svn: 116722
* Use chaining in TypeBasedAliasAnalysis::pointsToConstantMemory.Dan Gohman2010-10-181-1/+4
| | | | llvm-svn: 116721
* Make BasicAliasAnalysis a normal AliasAnalysis implementation whichDan Gohman2010-10-182-11/+29
| | | | | | | | | | | | does normal initialization and normal chaining. Change the default AliasAnalysis implementation to NoAlias. Update StandardCompileOpts.h and friends to explicitly request BasicAliasAnalysis. Update tests to explicitly request -basicaa. llvm-svn: 116720
* Make the bots happy.Rafael Espindola2010-10-181-1/+3
| | | | llvm-svn: 116719
* Added a handful of x86-32 instructions that were missing so that llvm-mc wouldKevin Enderby2010-10-183-1/+51
| | | | | | | | | | be more complete. These are only expected to be used by llvm-mc with assembly source so there is no pattern, [], in the .td files. Most are being added to X86InstrInfo.td as Chris suggested and only comments about register uses are added. Suggestions welcome on the .td changes as I'm not sure on every detail of the x86 records. More missing instructions will be coming. llvm-svn: 116716
* Produce a R_386_PLT32 when needed. Moved the default cases of switches to theRafael Espindola2010-10-181-7/+13
| | | | | | start for consistency. llvm-svn: 116715
* ARM addrmode4 instructions (ldm, stm and friends) can't encode an immediateJim Grosbach2010-10-181-1/+2
| | | | | | | | offset for stack references. Make sure we take that into account when deciding whether to reserver an emergency spill slot for the register scavenger. rdar://8559625 llvm-svn: 116714
* Grammar tweak.Jim Grosbach2010-10-181-1/+1
| | | | llvm-svn: 116712
* Handle GOTOFF correctly on i386.Rafael Espindola2010-10-181-5/+15
| | | | llvm-svn: 116711
* Trivial grammar tweak.Jim Grosbach2010-10-181-1/+1
| | | | llvm-svn: 116710
* Improve lowering of sext to i128 on SPU.Kalle Raiskila2010-10-181-2/+7
| | | | | | | | The old algorithm inserted a 'rotqmbyi' instruction which was both redundant and wrong - it made shufb select bytes from the wrong end of the input quad. llvm-svn: 116701
* Remove the check for invalid calling conventions. Testing shows that they'reEric Christopher2010-10-181-4/+1
| | | | | | working just fine. llvm-svn: 116698
* Lift arg promotion from the X86 backend. This should be unified at some point.Eric Christopher2010-10-181-3/+57
| | | | llvm-svn: 116694
* Now that we handle all allocas via a non-SP reg offset remove all of theEric Christopher2010-10-171-79/+39
| | | | | | special case handling for ARM::SP. llvm-svn: 116688
* std::string cleanup.Benjamin Kramer2010-10-171-1/+1
| | | | llvm-svn: 116686
* Fix a typo and silence unused variable warnings in -Asserts build.Benjamin Kramer2010-10-171-4/+2
| | | | llvm-svn: 116685
* Allow more load types to be materialized through the allocas.Eric Christopher2010-10-171-1/+1
| | | | llvm-svn: 116683
OpenPOWER on IntegriCloud