- Feb 01, 2012
-
-
Dylan Noblesmith authored
The CMake build already generated one. Follows clang r149497. This brings us one step closer to compiling and configuring clang separately from LLVM using the autoconf build, too. (I lack the right version of autoconf et al. to regen, but it was a simple change, so I just updated configure manually.) llvm-svn: 149498
-
Elena Demikhovsky authored
Fixed Win64 calling conventions. llvm-svn: 149494
-
Elena Demikhovsky authored
llvm-svn: 149493
-
Elena Demikhovsky authored
Truncating v4i64 -> v4i32 and v8i32 -> v8i16 may be done with set of shuffles. llvm-svn: 149485
-
Stepan Dyatkovskiy authored
The purpose of refactoring is to hide operand roles from SwitchInst user (programmer). If you want to play with operands directly, probably you will need lower level methods than SwitchInst ones (TerminatorInst or may be User). After this patch we can reorganize SwitchInst operands and successors as we want. What was done: 1. Changed semantics of index inside the getCaseValue method: getCaseValue(0) means "get first case", not a condition. Use getCondition() if you want to resolve the condition. I propose don't mix SwitchInst case indexing with low level indexing (TI successors indexing, User's operands indexing), since it may be dangerous. 2. By the same reason findCaseValue(ConstantInt*) returns actual number of case value. 0 means first case, not default. If there is no case with given value, ErrorIndex will returned. 3. Added getCaseSuccessor method. I propose to avoid usage of TerminatorInst::getSuccessor if you want to resolve case successor BB. Use getCaseSuccessor instead, since internal SwitchInst organization of operands/successors is hidden and may be changed in any moment. 4. Added resolveSuccessorIndex and resolveCaseIndex. The main purpose of these methods is to see how case successors are really mapped in TerminatorInst. 4.1 "resolveSuccessorIndex" was created if you need to level down from SwitchInst to TerminatorInst. It returns TerminatorInst's successor index for given case successor. 4.2 "resolveCaseIndex" converts low level successors index to case index that curresponds to the given successor. Note: There are also related compatability fix patches for dragonegg, klee, llvm-gcc-4.0, llvm-gcc-4.2, safecode, clang. llvm-svn: 149481
-
Andrew Trick authored
The pass pointer should never be referenced after sending it to schedulePass(), which may delete the pass. To fix this bug I had to clean up the design leading to more goodness. You may notice now that any non-analysis pass is printed. So things like loop-simplify and lcssa show up, while target lib, target data, alias analysis do not show up. Normally, analysis don't mutate the IR, but you can now check this by using both -print-after and -print-before. The effects of analysis will now show up in between the two. The llc path is still in bad shape. But I'll be improving it in my next checkin. Meanwhile, print-machineinstrs still works the same way. With print-before/after, many llc passes that were not printed before now are, some of these should be converted to analysis. A few very important passes, isel and scheduler, are not properly initialized, so not printed. llvm-svn: 149480
-
Andrew Trick authored
llvm-svn: 149479
-
Craig Topper authored
llvm-svn: 149478
-
NAKAMURA Takumi authored
llvm-svn: 149475
-
Hal Finkel authored
llvm-svn: 149472
-
Argyrios Kyrtzidis authored
These are: r149348 r149351 r149352 r149354 r149356 r149357 r149361 r149362 r149364 r149365 llvm-svn: 149470
-
Hal Finkel authored
This is the initial checkin of the basic-block autovectorization pass along with some supporting vectorization infrastructure. Special thanks to everyone who helped review this code over the last several months (especially Tobias Grosser). llvm-svn: 149468
-
Jim Grosbach authored
Changing arguments from being passed as fixed to varargs is unsafe, as the ABI may require they be handled differently (stack vs. register, for example). Remove two tests which rely on the bitcast being folded into the direct call, which is exactly the transformation that's unsafe. llvm-svn: 149457
-
Jim Grosbach authored
llvm-svn: 149452
-
Brendon Cahoon authored
llvm-svn: 149446
-
Lenny Maiorani authored
Make the EarlyCSE optimizer not use recursion to do a depth first iteration. llvm-svn: 149445
-
Brendon Cahoon authored
llvm-svn: 149444
-
Kevin Enderby authored
symbol from an assignment. In this case the symbol did not have a fragment so MCObjectWriter::IsSymbolRefDifferenceFullyResolved() should not have been calling IsSymbolRefDifferenceFullyResolvedImpl() with a NULL fragment and should just have returned false in that case. llvm-svn: 149442
-
- Jan 31, 2012
-
-
Bob Wilson authored
This new function provides a way to get the Mac OS X version number from either generic "darwin" triples of macosx triples. llvm-svn: 149438
-
Jakob Stoklund Olesen authored
It was wrong and completely unused. llvm-svn: 149433
-
Jakob Stoklund Olesen authored
Each SubRegIndex keeps track of how it composes. llvm-svn: 149423
-
Jakob Stoklund Olesen authored
This class is used to represent SubRegIndex instances instead of the raw Record pointers that were used before. No functional change intended. llvm-svn: 149418
-
Jim Grosbach authored
Excellent suggestion from Ben Kramer. llvm-svn: 149417
-
Jim Grosbach authored
llvm-svn: 149416
-
Manuel Klimek authored
now that this handles the release / retain calls. Adds a regression test for that bug (which is a compile-time regression) and for the last two changes to the IntrusiveRefCntPtr, especially tests for the memory leak due to copy construction of the ref-counted object and ensuring that the traits are used for release / retain calls. llvm-svn: 149411
-
Jim Grosbach authored
llvm-svn: 149408
-
Andrew Trick authored
llvm-svn: 149398
-
Devang Patel authored
Add assembler dialect attribute in asm parser which lets target specific asm parser change dialect on the fly. llvm-svn: 149396
-
Rafael Espindola authored
llvm-svn: 149391
-
Francois Pichet authored
llvm-svn: 149375
-
Bill Wendling authored
vector. This potentially saves a resizing. llvm-svn: 149369
-
Bill Wendling authored
llvm-svn: 149368
-
Craig Topper authored
llvm-svn: 149367
-
Chris Lattner authored
ConstantDataArray::getString instead. llvm-svn: 149365
-
Chris Lattner authored
llvm-svn: 149364
-
Chris Lattner authored
with recent changes, ConstantArray is never a "string". Remove the associated methods and constant fold the clients to false. llvm-svn: 149362
-
Chris Lattner authored
update this to ConstantDataArray. There are no tests and this isn't using the preferred functionality for ripping apart strings, so I have no way to test this. llvm-svn: 149361
-
Andrew Trick authored
This removes implicit assumption about the form of MI coming into regalloc. In particular, it should be independent of ProcessImplicitDefs which will eventually become a standard part of coming out of SSA--unless we simply can eliminate IMPLICIT_DEF completely. Current unit tests expose this once I remove incidental pass ordering restrictions. This is not a final fix. Just a temporary workaround until I figure out the right way. llvm-svn: 149360
-
Chris Lattner authored
llvm-svn: 149357
-
Chris Lattner authored
llvm-svn: 149356
-