- Dec 06, 2011
-
-
Benjamin Kramer authored
- Walking over pred_begin/pred_end is an expensive operation. - PHINodes contain a value for each predecessor anyway. - While it may look like we used to save a few iterations with the set, be aware that getIncomingValueForBlock does a linear search on the values of the phi node. - Another -5% on ARMDisassembler.cpp (Release build). This was the last entry in the profile that was obviously wasting time. llvm-svn: 145937
-
Benjamin Kramer authored
llvm-svn: 145934
-
Craig Topper authored
llvm-svn: 145929
-
Craig Topper authored
Fix a bunch of SSE/AVX patterns to use v2i64/v4i64 loads since all other integer vector loads are promoted to those. llvm-svn: 145927
-
Craig Topper authored
llvm-svn: 145926
-
NAKAMURA Takumi authored
FIXME: Restore more other arch-dependent MachO tests. (eg. r126401 and r133856) llvm-svn: 145925
-
Craig Topper authored
Clean up some of the shuffle decoding code for UNPCK instructions. Add instruction commenting for AVX/AVX2 forms for integer UNPCKs. llvm-svn: 145924
-
Jim Grosbach authored
Same as r145922, just for ARM mode. llvm-svn: 145923
-
Jim Grosbach authored
Fix the alias to encode 'mul r5, r6' as if it were 'mul r5, r6, r5' so we match gas. rdar://10532439 llvm-svn: 145922
-
Craig Topper authored
Merge isSHUFPMask and isCommutedSHUFPMask into single function that can do both. Do the same for the 256-bit version. Use loops to reduce size of isVSHUFPYMask. Fix test cases that were incorrectly passing due to isCommutedSHUFPMask not checking for the vector being 128-bit. This caused some 256-bit shuffles to be incorrectly commuted. llvm-svn: 145921
-
Jim Grosbach authored
Using encoding T1 for offset of #0 and encoding T2 for #-0. rdar://10532413 llvm-svn: 145919
-
NAKAMURA Takumi authored
MC/MachO assumes x86. llvm-svn: 145916
-
Dan Gohman authored
recent discussions. Poison can't make every value that depends on it act in maximally undefined ways, because the optimizer may still hoist code following the usual rules for undef. Make Poison invoke its full undefined behavior only when it reaches an instruction with externally visible side effects. llvm-svn: 145913
-
Bruno Cardoso Lopes authored
llvm-svn: 145912
-
Bruno Cardoso Lopes authored
llvm-svn: 145911
-
Bruno Cardoso Lopes authored
llvm-svn: 145910
-
Dan Gohman authored
llvm-svn: 145908
-
Dan Gohman authored
purpose, and to avoid ambiguity with other uses of the word "trap" in LangRef. llvm-svn: 145907
-
Andrew Trick authored
It's always good to prune early, but formulae that are unsatisfactory in their own right need to be removed before running any other pruning heuristics. We easily avoid generating such formulae, but we need them as an intermediate basis for forming other good formulae. llvm-svn: 145906
-
Evan Cheng authored
llvm-svn: 145903
-
Pete Cooper authored
The new register allocator is much more able to split back up ranges too constrained by register classes. Fixes <rdar://problem/10466609> llvm-svn: 145899
-
Chris Lattner authored
llvm-svn: 145898
-
Lang Hames authored
llvm-svn: 145897
-
Bill Wendling authored
llvm-svn: 145896
-
Jim Grosbach authored
llvm-svn: 145895
-
NAKAMURA Takumi authored
llvm-svn: 145894
-
Lang Hames authored
llvm-svn: 145893
-
Chad Rosier authored
rdar://10528060 llvm-svn: 145891
-
Jakob Stoklund Olesen authored
Previously, all ARM::CONSTPOOL_ENTRY instructions had a hardwired alignment of 4 bytes emitted by ARMAsmPrinter. Now the same alignment is set on the basic block. This is in preparation of supporting ARM constant pool islands with different alignments. llvm-svn: 145890
-
Jakob Stoklund Olesen authored
This was actually a bit of a mess. TLI.setPrefLoopAlignment was clearly documented as taking log2(bytes) units, but the x86 target would still set a preferred loop alignment of '16'. CodePlacementOpt passed this number on to the basic block, and AsmPrinter interpreted it as bytes. Now both MachineFunction and MachineBasicBlock use logarithmic alignments. Obviously, MachineConstantPool still measures alignments in bytes, so we can emulate the thrill of using as. llvm-svn: 145889
-
Bill Wendling authored
value over that much. llvm-svn: 145888
-
Jim Grosbach authored
rdar://10069056 llvm-svn: 145885
-
Jakob Stoklund Olesen authored
llvm-svn: 145883
-
Jakob Stoklund Olesen authored
llvm-svn: 145882
-
Jim Grosbach authored
Whether a fixup needs relaxation for the associated instruction is a target-specific function, as the FIXME indicated. Create a hook for that and use it. llvm-svn: 145881
-
Nick Lewycky authored
llvm-svn: 145880
-
Chad Rosier authored
don't do this now, but add a test case to prevent this from happening in the future. Additional test for rdar://9892684 llvm-svn: 145879
-
Jim Grosbach authored
llvm-svn: 145878
-
Jim Grosbach authored
llvm-svn: 145877
-
Nick Lewycky authored
llvm-svn: 145876
-