Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Initialize RegLimit only when register pressure is being tracked. | Evan Cheng | 2010-07-22 | 1 | -27/+25 |
| | | | | llvm-svn: 109079 | ||||
* | Custom lower the memory barrier instructions and add support | Eric Christopher | 2010-07-22 | 5 | -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 Cheng | 2010-07-22 | 1 | -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 Christopher | 2010-07-22 | 1 | -9/+12 |
| | | | | llvm-svn: 109070 | ||||
* | Make fast isel win64-aware w.r.t. call-clobbered regs | Nate Begeman | 2010-07-22 | 1 | -3/+14 |
| | | | | llvm-svn: 109069 | ||||
* | More register pressure aware scheduling work. | Evan Cheng | 2010-07-21 | 2 | -95/+95 |
| | | | | llvm-svn: 109064 | ||||
* | Add more 256-bit forms for a bunch of regular AVX instructions | Bruno Cardoso Lopes | 2010-07-21 | 2 | -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 interface | Dan Gohman | 2010-07-21 | 14 | -144/+76 |
| | | | | | | for creating and populating NamedMDNodes. llvm-svn: 109061 | ||||
* | Fixes win64. It was broken by a previous patch where I missed the !isWin64 | Rafael Espindola | 2010-07-21 | 1 | -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 Anderson | 2010-07-21 | 10 | -41/+24 |
| | | | | | | RegisterAnalysisGroup<> for pass registration. llvm-svn: 109058 | ||||
* | For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb | Jim Grosbach | 2010-07-21 | 2 | -0/+21 |
| | | | | | | rdar://8202967 llvm-svn: 109057 | ||||
* | add some rough support for making mcinst lowering work without an | Chris Lattner | 2010-07-21 | 1 | -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 Christopher | 2010-07-21 | 5 | -1/+89 |
| | | | | llvm-svn: 109047 | ||||
* | Fix batch of converting RegisterPass<> to INTIALIZE_PASS(). | Owen Anderson | 2010-07-21 | 99 | -222/+230 |
| | | | | llvm-svn: 109045 | ||||
* | Add missing AVX convert instructions. Those instructions are not described ↵ | Bruno Cardoso Lopes | 2010-07-21 | 1 | -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 Grosbach | 2010-07-21 | 1 | -26/+27 |
| | | | | llvm-svn: 109038 | ||||
* | 80 column and trailing whitespace cleanup | Jim Grosbach | 2010-07-21 | 1 | -171/+173 |
| | | | | llvm-svn: 109037 | ||||
* | Add some debug output to help diagnose PR7689. | Dan Gohman | 2010-07-21 | 1 | -0/+3 |
| | | | | llvm-svn: 109036 | ||||
* | Fix a couple issues with Win64 ABI | Nate Begeman | 2010-07-21 | 2 | -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 form | Bruno Cardoso Lopes | 2010-07-21 | 1 | -1/+1 |
| | | | | llvm-svn: 109032 | ||||
* | NamedMDNode is never an operand. | Dan Gohman | 2010-07-21 | 1 | -1/+1 |
| | | | | llvm-svn: 109031 | ||||
* | Disallow null as a named metadata operand. | Dan Gohman | 2010-07-21 | 7 | -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 nodes | Dan Gohman | 2010-07-21 | 1 | -7/+7 |
| | | | | | | referenced by NamedMDNodes shouldn't be deleted. llvm-svn: 109021 | ||||
* | Tidy. | Dan Gohman | 2010-07-21 | 1 | -4/+1 |
| | | | | llvm-svn: 109020 | ||||
* | Move the smarts of AnalysisGroup registration into PassRegistry. | Owen Anderson | 2010-07-21 | 2 | -37/+36 |
| | | | | llvm-svn: 109019 | ||||
* | Fix calling convention on ARM if vfp2+ is enabled. | Rafael Espindola | 2010-07-21 | 1 | -1/+5 |
| | | | | llvm-svn: 109009 | ||||
* | Pulling out previous patch, must've run the tests in | Eric Christopher | 2010-07-21 | 3 | -40/+3 |
| | | | | | | the wrong directory. llvm-svn: 109005 | ||||
* | Lower MEMBARRIER on x86 and support processors without SSE2. | Eric Christopher | 2010-07-21 | 3 | -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 Hames | 2010-07-21 | 2 | -51/+25 |
| | | | | | | "renderWarnings" function. llvm-svn: 109003 | ||||
* | Add AVX only vzeroall and vzeroupper instructions | Bruno Cardoso Lopes | 2010-07-21 | 2 | -2/+10 |
| | | | | llvm-svn: 109002 | ||||
* | Teach bottom up pre-ra scheduler to track register pressure. Work in progress. | Evan Cheng | 2010-07-21 | 6 | -36/+287 |
| | | | | llvm-svn: 108991 | ||||
* | Add new AVX vpermilps, vpermilpd and vperm2f128 instructions | Bruno Cardoso Lopes | 2010-07-21 | 1 | -0/+35 |
| | | | | llvm-svn: 108984 | ||||
* | Add new AVX vmaskmov instructions, and also fix the VEX encoding bits to ↵ | Bruno Cardoso Lopes | 2010-07-21 | 2 | -11/+45 |
| | | | | | | support it llvm-svn: 108983 | ||||
* | Give MDNode printing has access to the current Module in more | Dan Gohman | 2010-07-20 | 1 | -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 Olesen | 2010-07-20 | 6 | -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 Gohman | 2010-07-20 | 1 | -2/+4 |
| | | | | llvm-svn: 108968 | ||||
* | Use DebugLocs instead of MDNodes. | Dan Gohman | 2010-07-20 | 1 | -32/+27 |
| | | | | llvm-svn: 108967 | ||||
* | Move the handling of PassRegistrationListener's to PassRegistry. | Owen Anderson | 2010-07-20 | 2 | -37/+28 |
| | | | | llvm-svn: 108966 | ||||
* | Add new AVX vextractf128 instructions | Bruno Cardoso Lopes | 2010-07-20 | 1 | -0/+10 |
| | | | | llvm-svn: 108964 | ||||
* | Fix a typo. | Dan Gohman | 2010-07-20 | 1 | -1/+1 |
| | | | | llvm-svn: 108962 | ||||
* | Don't look up the "dbg" metadata kind by name. | Dan Gohman | 2010-07-20 | 3 | -15/+14 |
| | | | | llvm-svn: 108961 | ||||
* | make asmprinter optional, even though passing in null will cause things to ↵ | Chris Lattner | 2010-07-20 | 2 | -13/+14 |
| | | | | | | explode right now. llvm-svn: 108955 | ||||
* | continue pushing dependencies around. | Chris Lattner | 2010-07-20 | 2 | -8/+9 |
| | | | | llvm-svn: 108952 | ||||
* | reduce X86MCInstLower dependencies on asmprinter. | Chris Lattner | 2010-07-20 | 2 | -8/+14 |
| | | | | llvm-svn: 108950 | ||||
* | pass around MF, not MMI. | Chris Lattner | 2010-07-20 | 2 | -5/+5 |
| | | | | llvm-svn: 108949 | ||||
* | Rename removeAllMetadata to clearMetadataHashEntries and simplify | Dan Gohman | 2010-07-20 | 2 | -10/+8 |
| | | | | | | | it to just do the things that need to be done when an instruction is deleted. llvm-svn: 108948 | ||||
* | cleanups. | Chris Lattner | 2010-07-20 | 2 | -14/+10 |
| | | | | llvm-svn: 108947 | ||||
* | move two asmprinter methods into the asmprinter .cpp file. | Chris Lattner | 2010-07-20 | 2 | -38/+39 |
| | | | | llvm-svn: 108945 | ||||
* | Implement loop splitting analysis. | Jakob Stoklund Olesen | 2010-07-20 | 2 | -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 a | Dan Gohman | 2010-07-20 | 4 | -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 |