- Dec 18, 2012
-
-
Nadav Rotem authored
llvm-svn: 170416
-
Nadav Rotem authored
into the same file in the future. llvm-svn: 170414
-
Nadav Rotem authored
getScalarSizeInBits could not handle vectors of pointers. llvm-svn: 170412
-
NAKAMURA Takumi authored
llvm-svn: 170410
-
Rafael Espindola authored
llvm-svn: 170404
-
Eli Bendersky authored
llvm-svn: 170398
-
Jakob Stoklund Olesen authored
instruction. This isn't strictly necessary at the moment because Thumb2SizeReduction also copies all MI flags from the old instruction to the new. However, a future patch will make that kind of direct flag tampering illegal. llvm-svn: 170395
-
Eric Christopher authored
llvm-svn: 170394
-
Eric Christopher authored
the assembler. Part of PR14624 llvm-svn: 170390
-
Eric Christopher authored
llvm-svn: 170389
-
Jakob Stoklund Olesen authored
Sadly, this costs us a perfectly good opportunity to use 'goto'. llvm-svn: 170385
-
Jakob Stoklund Olesen authored
Most code is oblivious to bundles and uses the MBB::iterator which only visits whole bundles. MBB::erase() operates on whole bundles at a time as before. MBB::remove() now refuses to remove bundled instructions. It is not safe to remove all instructions in a bundle without deleting them since there is no way of returning pointers to all the removed instructions. MBB::remove_instr() and MBB::erase_instr() will now update bundle flags correctly, lifting individual instructions out of bundles while leaving the remaining bundle intact. The MachineInstr convenience functions are updated so eraseFromParent() erases a whole bundle as before eraseFromBundle() erases a single instruction, leaving the rest of its bundle. removeFromParent() refuses to operate on bundled instructions, and removeFromBundle() lifts a single instruction out of its bundle. These functions will no longer accidentally split or coalesce bundles - bundle flags are updated to preserve the existing bundling, and explicit bundleWith* / unbundleFrom* functions should be used to change the instruction bundling. This API update is still a work in progress. I am going to update APIs first so they maintain bundle flags automatically when possible. Then I'll add stricter verification of the bundle flags. llvm-svn: 170384
-
Reed Kotler authored
It must be explicity set in MCPureStreamer because otherwise it will inherit incorrectly from the parent. llvm-svn: 170383
-
- Dec 17, 2012
-
-
Eli Bendersky authored
llvm-svn: 170381
-
Chad Rosier authored
llvm-svn: 170379
-
Nick Kledzik authored
llvm-svn: 170376
-
Chandler Carruth authored
llvm-svn: 170374
-
Chandler Carruth authored
compilation directory. This defaults to the current working directory, just as it always has, but now an assembler can choose to override it with a custom directory. I've taught llvm-mc about this option and added a test case. llvm-svn: 170371
-
Nick Kledzik authored
llvm-svn: 170369
-
Michael Ilseman authored
llvm-svn: 170368
-
Michael Ilseman authored
llvm-svn: 170367
-
Chad Rosier authored
checks are in place. Some minor cleanup as well. llvm-svn: 170360
-
Nick Kledzik authored
llvm-svn: 170355
-
Chandler Carruth authored
This was a silly oversight, we weren't pruning allocas which were used by variable-length memory intrinsics from the set that could be widened and promoted as integers. Fix that. llvm-svn: 170353
-
Tim Northover authored
llvm-svn: 170350
-
Tim Northover authored
llvm-svn: 170349
-
Evgeniy Stepanov authored
llvm-svn: 170347
-
Richard Osborne authored
llvm-svn: 170345
-
Tom Stellard authored
They seem to work fine. Patch by: Christian König Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Tested-by:
Michel Dänzer <michel.daenzer@amd.com> Signed-off-by:
Christian König <deathsimple@vodafone.de> llvm-svn: 170343
-
Tom Stellard authored
Patch by: Christian König Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Tested-by:
Michel Dänzer <michel.daenzer@amd.com> Signed-off-by:
Christian König <deathsimple@vodafone.de> llvm-svn: 170342
-
Tom Stellard authored
The Align parameter is a power of two, so 16 results in 64K alignment. Additional to that even 16 byte alignment doesn't make any sense, so just remove it. Patch by: Christian König Reviewed-by:
Tom Stellard <thomas.stellard@amd.com> Tested-by:
Michel Dänzer <michel.daenzer@amd.com> Signed-off-by:
Christian König <deathsimple@vodafone.de> llvm-svn: 170341
-
Chandler Carruth authored
This also cleans up a bit of the memcpy call rewriting by sinking some irrelevant code further down and making the call-emitting code a bit more concrete. Previously, memcpy of a subvector would actually miscompile (!!!) the copy into a single vector element copy. I have no idea how this ever worked. =/ This is the memcpy half of PR14478 which we probably weren't noticing previously because it didn't actually assert. The rewrite relies on the newly refactored insert- and extractVector functions to do the heavy lifting, and those are the same as used for loads and stores which makes the test coverage a bit more meaningful here. llvm-svn: 170338
-
Patrik Hagglund authored
TargetLowering::getRegClassFor). Some isSimple() guards were missing, or getSimpleVT() were hoisted too far, resulting in asserts on valid LLVM assembly input. llvm-svn: 170336
-
Evgeniy Stepanov authored
Check whether a BB is known as reachable before adding it to the worklist. This way BB's with multiple predecessors are added to the list no more than once. llvm-svn: 170335
-
Richard Osborne authored
Previously these were marked with the wrong format. llvm-svn: 170334
-
Chandler Carruth authored
The first half of fixing this bug was actually in r170328, but was entirely coincidental. It did however get me to realize the nature of the bug, and adapt the test case to test more interesting behavior. In turn, that uncovered the rest of the bug which I've fixed here. This should fix two new asserts that showed up in the vectorize nightly tester. llvm-svn: 170333
-
Richard Osborne authored
llvm-svn: 170332
-
Chandler Carruth authored
I noticed this while looking at r170328. We only ever do a vector rewrite when the alloca *is* the vector type, so it's good to not paper over bugs here by doing a convertValue that isn't needed. llvm-svn: 170331
-
Richard Osborne authored
llvm-svn: 170330
-
Chandler Carruth authored
This will allow its use inside of memcpy rewriting as well. This routine is more complex than extractVector, and some of its uses are not 100% where I want them to be so there is still some work to do here. While this can technically change the output in some cases, it shouldn't be a change that matters -- IE, it can leave some dead code lying around that prior versions did not, etc. Yet another step in the refactorings leading up to the solution to the last component of PR14478. llvm-svn: 170328
-