summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
* Initialize RegLimit only when register pressure is being tracked.Evan Cheng2010-07-221-27/+25
| | | | llvm-svn: 109079
* Custom lower the memory barrier instructions and add supportEric Christopher2010-07-225-18/+75
| | | | | | | | for lowering without sse2. Add a couple of new testcases. Fixes a few libgomp tests and latent bugs. Remove a few todos. llvm-svn: 109078
* Fix constant island pass's handling of tBR_JTr. The offset of the ↵Evan Cheng2010-07-221-2/+10
| | | | | | | | | | | | | instruction does not have to be 4-byte aligned. Rather, it's the offset + 2 that must be aligned since the instruction expands into: mov pc, r1 .align 2 LJTI0_0_0: .long LBB0_14 This fixes rdar://8213383. No test case since it's not possible to come up with a suitable small one. llvm-svn: 109076
* 80-columns.Eric Christopher2010-07-221-9/+12
| | | | llvm-svn: 109070
* Make fast isel win64-aware w.r.t. call-clobbered regsNate Begeman2010-07-221-3/+14
| | | | llvm-svn: 109069
* More register pressure aware scheduling work.Evan Cheng2010-07-212-95/+95
| | | | llvm-svn: 109064
* Add more 256-bit forms for a bunch of regular AVX instructionsBruno Cardoso Lopes2010-07-212-76/+160
| | | | | | | Add 64-bit (GR64) versions of some instructions (which are not described in their SSE forms, but are described in AVX) llvm-svn: 109063
* Make NamedMDNode not be a subclass of Value, and simplify the interfaceDan Gohman2010-07-2114-144/+76
| | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061
* Fixes win64. It was broken by a previous patch where I missed the !isWin64Rafael Espindola2010-07-211-4/+8
| | | | | | and then forced every register to be a vr128 on win64. llvm-svn: 109060
* Add INSTANTIATE_AG_PASS, which combines RegisterPass<> with ↵Owen Anderson2010-07-2110-41/+24
| | | | | | RegisterAnalysisGroup<> for pass registration. llvm-svn: 109058
* For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumbJim Grosbach2010-07-212-0/+21
| | | | | | rdar://8202967 llvm-svn: 109057
* add some rough support for making mcinst lowering work without anChris Lattner2010-07-211-5/+23
| | | | | | | | asmprinter or mangler around. This is option #B for killing off X86InstrInfo::GetInstSizeInBytes. Option #A (killing "needsexactsize") was sent for consideration to llvmdev. llvm-svn: 109056
* Baby steps towards ARM fast-isel.Eric Christopher2010-07-215-1/+89
| | | | llvm-svn: 109047
* Fix batch of converting RegisterPass<> to INTIALIZE_PASS().Owen Anderson2010-07-2199-222/+230
| | | | llvm-svn: 109045
* Add missing AVX convert instructions. Those instructions are not described ↵Bruno Cardoso Lopes2010-07-211-22/+56
| | | | | | in their SSE forms (although they exist), but add the AVX forms anyway, so the assembler can benefit from it llvm-svn: 109039
* tidy up.Jim Grosbach2010-07-211-26/+27
| | | | llvm-svn: 109038
* 80 column and trailing whitespace cleanupJim Grosbach2010-07-211-171/+173
| | | | llvm-svn: 109037
* Add some debug output to help diagnose PR7689.Dan Gohman2010-07-211-0/+3
| | | | llvm-svn: 109036
* Fix a couple issues with Win64 ABINate Begeman2010-07-212-6/+3
| | | | | | | | | | | 1) all registers were spilled as xmm, regardless of actual size 2) win64 abi doesn't do the varargs-size-in-%al thing Still to look into: xmm6-15 are marked as clobbered by call instructions on win64 even though they aren't. llvm-svn: 109035
* Avoid AVX instructions to be selected instead of its SSE formBruno Cardoso Lopes2010-07-211-1/+1
| | | | llvm-svn: 109032
* NamedMDNode is never an operand.Dan Gohman2010-07-211-1/+1
| | | | llvm-svn: 109031
* Disallow null as a named metadata operand.Dan Gohman2010-07-217-31/+10
| | | | | | | | | | | Make MDNode::destroy private. Fix the one thing that used MDNode::destroy, outside of MDNode itself. One should never delete or destroy an MDNode explicitly. MDNodes implicitly go away when there are no references to them (implementation details aside). llvm-svn: 109028
* Use TrackingVH instead of WeakVH for NamedMDNode's operands, since nodesDan Gohman2010-07-211-7/+7
| | | | | | referenced by NamedMDNodes shouldn't be deleted. llvm-svn: 109021
* Tidy.Dan Gohman2010-07-211-4/+1
| | | | llvm-svn: 109020
* Move the smarts of AnalysisGroup registration into PassRegistry.Owen Anderson2010-07-212-37/+36
| | | | llvm-svn: 109019
* Fix calling convention on ARM if vfp2+ is enabled.Rafael Espindola2010-07-211-1/+5
| | | | llvm-svn: 109009
* Pulling out previous patch, must've run the tests inEric Christopher2010-07-213-40/+3
| | | | | | the wrong directory. llvm-svn: 109005
* Lower MEMBARRIER on x86 and support processors without SSE2.Eric Christopher2010-07-213-3/+40
| | | | | | | Fixes a pile of libgomp failures in the llvm-gcc testsuite due to the libcall not existing. llvm-svn: 109004
* Changed OStream templates to functions on raw_ostream, removed the unused ↵Lang Hames2010-07-212-51/+25
| | | | | | "renderWarnings" function. llvm-svn: 109003
* Add AVX only vzeroall and vzeroupper instructionsBruno Cardoso Lopes2010-07-212-2/+10
| | | | llvm-svn: 109002
* Teach bottom up pre-ra scheduler to track register pressure. Work in progress.Evan Cheng2010-07-216-36/+287
| | | | llvm-svn: 108991
* Add new AVX vpermilps, vpermilpd and vperm2f128 instructionsBruno Cardoso Lopes2010-07-211-0/+35
| | | | llvm-svn: 108984
* Add new AVX vmaskmov instructions, and also fix the VEX encoding bits to ↵Bruno Cardoso Lopes2010-07-212-11/+45
| | | | | | support it llvm-svn: 108983
* Give MDNode printing has access to the current Module in moreDan Gohman2010-07-201-39/+62
| | | | | | | cases. This will be needed when function-local metadata can appear in places that aren't intrinsic function arguments. llvm-svn: 108971
* Change the createSpiller interface to take a MachineFunctionPass argument.Jakob Stoklund Olesen2010-07-206-60/+64
| | | | | | | | The spillers can pluck the analyses they need from the pass reference. Switch some never-null pointers to references. llvm-svn: 108969
* Make this code a little more readable.Dan Gohman2010-07-201-2/+4
| | | | llvm-svn: 108968
* Use DebugLocs instead of MDNodes.Dan Gohman2010-07-201-32/+27
| | | | llvm-svn: 108967
* Move the handling of PassRegistrationListener's to PassRegistry.Owen Anderson2010-07-202-37/+28
| | | | llvm-svn: 108966
* Add new AVX vextractf128 instructionsBruno Cardoso Lopes2010-07-201-0/+10
| | | | llvm-svn: 108964
* Fix a typo.Dan Gohman2010-07-201-1/+1
| | | | llvm-svn: 108962
* Don't look up the "dbg" metadata kind by name.Dan Gohman2010-07-203-15/+14
| | | | llvm-svn: 108961
* make asmprinter optional, even though passing in null will cause things to ↵Chris Lattner2010-07-202-13/+14
| | | | | | explode right now. llvm-svn: 108955
* continue pushing dependencies around.Chris Lattner2010-07-202-8/+9
| | | | llvm-svn: 108952
* reduce X86MCInstLower dependencies on asmprinter.Chris Lattner2010-07-202-8/+14
| | | | llvm-svn: 108950
* pass around MF, not MMI.Chris Lattner2010-07-202-5/+5
| | | | llvm-svn: 108949
* Rename removeAllMetadata to clearMetadataHashEntries and simplifyDan Gohman2010-07-202-10/+8
| | | | | | | it to just do the things that need to be done when an instruction is deleted. llvm-svn: 108948
* cleanups.Chris Lattner2010-07-202-14/+10
| | | | llvm-svn: 108947
* move two asmprinter methods into the asmprinter .cpp file.Chris Lattner2010-07-202-38/+39
| | | | llvm-svn: 108945
* Implement loop splitting analysis.Jakob Stoklund Olesen2010-07-202-19/+183
| | | | | | | Determine which loop exit blocks need a 'pre-exit' block inserted. Recognize when this would be impossible. llvm-svn: 108941
* Add support for remapping metadata kind IDs when reading in aDan Gohman2010-07-204-15/+18
| | | | | | | | | | | | | bitcode file, so that two bitcode files where the same metadata kind name happens to have been assigned a different ID can still be linked together. Eliminate the restriction that metadata kind IDs can't be 0. Change MD_dbg from 1 to 0, because we can now, and because it's less mysterious that way. llvm-svn: 108939
OpenPOWER on IntegriCloud