- Aug 18, 2011
-
-
Bruno Cardoso Lopes authored
shift amount is variable llvm-svn: 137885
-
- Aug 17, 2011
-
-
Jim Grosbach authored
llvm-svn: 137881
-
Bill Wendling authored
The landingpad instruction is lowered into the EXCEPTIONADDR and EHSELECTION SDNodes. The information from the landingpad instruction is harvested by the 'AddLandingPadInfo' function. The new EH uses the current EH scheme in the back-end. This will change once we switch over to the new scheme. (Reviewed by Jakob!) llvm-svn: 137880
-
Jim Grosbach authored
Represent the operand value as it will be encoded in the instruction. This allows removing the specialized encoder and decoder methods entirely. Add an assembler match class while we're at it to lay groundwork for parsing the thumb shift instructions. llvm-svn: 137879
-
Bill Wendling authored
PRE needs the landing pads to have their critical edges split. Doing this for a landing pad is non-trivial. Abandon the attempt to perform PRE when we come across a landing pad. (Reviewed by Owen!) llvm-svn: 137876
-
Bill Wendling authored
llvm-svn: 137875
-
Bill Wendling authored
This generates the SDNodes for the new exception handling scheme. It takes the two values coming from the landingpad instruction and assigns them to the EXCEPTIONADDR and EHSELECTION nodes. llvm-svn: 137873
-
Bill Wendling authored
llvm-svn: 137872
-
Bill Wendling authored
One way to exit the loop is through an unwind edge. However, that may involve splitting the critical edge of the landing pad, which is non-trivial. Prevent the transformation from rewriting the landing pad exit loop block. llvm-svn: 137871
-
Bill Wendling authored
so requires more care than this generic algorithm should handle. llvm-svn: 137866
-
Jim Grosbach authored
llvm-svn: 137865
-
Jim Grosbach authored
llvm-svn: 137864
-
Bill Wendling authored
instruction should be marked as potentially reading and/or writing memory. llvm-svn: 137863
-
Jim Grosbach authored
llvm-svn: 137857
-
Jim Grosbach authored
llvm-svn: 137856
-
Bill Wendling authored
Things are much saner now. We no longer need to modify the laning pads, because of the invariants we impose upon them. The only thing DwarfEHPrepare needs to do is convert the 'resume' instruction into a call to '_Unwind_Resume'. llvm-svn: 137855
-
Eli Friedman authored
Revert r137781; I agree with Duncan's comment that the situation in question is clearly impossible given the current structure of the code. llvm-svn: 137853
-
Akira Hatanaka authored
llvm-svn: 137848
-
Jordy Rose authored
llvm-svn: 137844
-
Owen Anderson authored
llvm-svn: 137838
-
Eli Friedman authored
Silly mistake from r137777; restore significant isStructTy() checks. While here, be a bit more defensive with unknown instructions. Fixes PR10687. llvm-svn: 137836
-
Akira Hatanaka authored
llvm-svn: 137831
-
Owen Anderson authored
Allow the MCDisassembler to return a "soft fail" status code, indicating an instruction that is disassemblable, but invalid. Only used for ARM UNPREDICTABLE instructions at the moment. Patch by James Molloy. llvm-svn: 137830
-
Bruno Cardoso Lopes authored
match splats in the form (splat (scalar_to_vector (load ...))) whenever the load can be folded. All the logic and instruction emission is working but because of PR8156, there are no ways to match loads, cause they can never be folded for splats. Thus, the tests are XFAILed, but I've tested and exercised all the logic using a relaxed version for checking the foldable loads, as if the bug was already fixed. This should work out of the box once PR8156 gets fixed since MayFoldLoad will work as expected. llvm-svn: 137810
-
Bruno Cardoso Lopes authored
llvm-svn: 137808
-
Bruno Cardoso Lopes authored
vinsertf128 $1 + vpermilps $0, remove the old code that used to first do the splat in a 128-bit vector and then insert it into a larger one. This is better because the handling code gets simpler and also makes a better room for the upcoming vbroadcast! llvm-svn: 137807
-
Akira Hatanaka authored
llvm-svn: 137804
-
Jordy Rose authored
llvm-svn: 137798
-
Jordy Rose authored
Use DynamicLibrary instances as a way to get symbols from a specific library. Preparation for upcoming (preliminary) support for plugins for the static analyzer. llvm-svn: 137791
-
Jim Grosbach authored
llvm-svn: 137788
-
Owen Anderson authored
Separate out Thumb1 instructions that need an S bit operand from those that do not, for the purposes of decoding them. llvm-svn: 137787
-
Eli Friedman authored
Extend the undef ^ undef idiom once more. No testcase: I can't figure out how to actually trigger the codepath in question at the moment, but it might get exposed in the future. llvm-svn: 137781
-
Jim Grosbach authored
llvm-svn: 137779
-
Devang Patel authored
Until now all debug info MDNodes referred to a root MDNode, a compile unit. This simplified handling of these needs in dwarf writer. However, one side effect of this is that during link time optimization all these MDNodes are _not_ uniqued. In other words there will be N number of MDNodes describing "int", "char" and all other types, which would suddenly grow when each object file starts using libraries like STL. MDNodes graph structure such that compiler unit keeps track of important MDNodes and update dwarf writer to process mdnodes top-down instead of bottom up. llvm-svn: 137778
-
Eli Friedman authored
making random bad assumptions about instructions which are not explicitly listed. Includes fix for rdar://9956541, a version of "undef ^ undef should return 0 because it's easier than arguing with users". llvm-svn: 137777
-
- Aug 16, 2011
-
-
Jim Grosbach authored
llvm-svn: 137774
-
Jim Grosbach authored
llvm-svn: 137759
-
Bill Wendling authored
llvm-svn: 137757
-
Jim Grosbach authored
llvm-svn: 137756
-
Eli Friedman authored
Minor bug in SCCP found by inspection. (I don't think it's possible to hit this with a normal pass pipeline, but fixing for completeness.) llvm-svn: 137755
-