- Jul 08, 2013
-
-
Nico Rieck authored
This reverts commit 2b52880592a525cfe04d8f9008a35da8c2ea94c3. Needs review. llvm-svn: 185806
-
Nico Rieck authored
This reverts commit 01f8d579f7672872324208ac5bc4ac311e81b22e. llvm-svn: 185781
-
- Jul 07, 2013
-
-
Nico Rieck authored
llvm-svn: 185778
-
- Jul 06, 2013
-
-
Nico Rieck authored
llvm-svn: 185763
-
- Jul 04, 2013
-
-
Jakob Stoklund Olesen authored
These exception-related opcodes are not used any longer. llvm-svn: 185625
-
Jakob Stoklund Olesen authored
Revert "Simplify landing pad lowering." Revert "Remove the EXCEPTIONADDR, EHSELECTION, and LSDAADDR ISD opcodes." llvm-svn: 185600
-
Jakob Stoklund Olesen authored
These exception-related opcodes are not used any longer. llvm-svn: 185596
-
- Jul 03, 2013
-
-
Craig Topper authored
Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size. llvm-svn: 185540
-
- Jun 26, 2013
-
-
Elena Demikhovsky authored
Optimized integer vector multiplication operation by replacing it with shift/xor/sub when it is possible. Fixed a bug in SDIV, where the const operand is not a splat constant vector. llvm-svn: 184931
-
- Jun 22, 2013
-
-
Chad Rosier authored
llvm-svn: 184642
-
- Jun 07, 2013
-
-
Bill Wendling authored
the internals of TargetMachine could change. No functionality change intended. llvm-svn: 183571
-
- May 30, 2013
-
-
Andrew Trick authored
Fixes PR16146: gdb.base__call-ar-st.exp fails after pre-RA-sched=source fixes. Patch by Xiaoyi Guo! This also fixes an unsupported dbg.value test case. Codegen was previously incorrect but the test was passing by luck. llvm-svn: 182885
-
- May 25, 2013
-
-
Andrew Trick authored
Change SelectionDAG::getXXXNode() interfaces as well as call sites of these functions to pass in SDLoc instead of DebugLoc. llvm-svn: 182703
-
Michael J. Spencer authored
llvm-svn: 182680
-
- May 22, 2013
-
-
Nadav Rotem authored
llvm-svn: 182507
-
Benjamin Kramer authored
Take #2 on fixing PR15977. llvm-svn: 182486
-
- May 21, 2013
-
-
Benjamin Kramer authored
Otherwise we'll get a mix of signed and unsigned compares. Fixes PR15977. llvm-svn: 182364
-
- May 18, 2013
-
-
Matt Arsenault authored
llvm-svn: 182180
-
- May 17, 2013
-
-
Benjamin Kramer authored
Shuffles that only move an element into position 0 of the vector are common in the output of the loop vectorizer and often generate suboptimal code when SSSE3 is not available. Lower them to vector shifts if possible. We still prefer palignr over psrldq because it has higher throughput on sandybridge. llvm-svn: 182102
-
- May 05, 2013
-
-
David Majnemer authored
X86ISelLowering has support to treat: (icmp ne (and (xor %flags, -1), (shl 1, flag)), 0) as if it were actually: (icmp eq (and %flags, (shl 1, flag)), 0) However, r179386 has code at the InstCombine level to handle this. llvm-svn: 181145
-
Nadav Rotem authored
llvm-svn: 181136
-
- May 02, 2013
-
-
Michael Liao authored
llvm-svn: 180915
-
Michael Liao authored
No functionality change llvm-svn: 180914
-
Michael Liao authored
No functionality change llvm-svn: 180912
-
- Apr 20, 2013
-
-
Tim Northover authored
I think it's almost impossible to fold atomic fences profitably under LLVM/C++11 semantics. As a result, this is now unused and just cluttering up the target interface. llvm-svn: 179940
-
Tim Northover authored
llvm-svn: 179939
-
Michael Liao authored
llvm-svn: 179901
-
- Apr 19, 2013
-
-
Michael Liao authored
llvm-svn: 179833
-
- Apr 18, 2013
-
-
Benjamin Kramer authored
This pattern started popping up in vectorized min/max reductions. llvm-svn: 179797
-
- Apr 11, 2013
-
-
Michael Liao authored
As packed comparisons in AVX/SSE produce all 0s or all 1s in each SIMD lane, vector select could be simplified to AND/OR or removed if one or both values being selected is all 0s or all 1s. llvm-svn: 179267
-
Michael Liao authored
This patch is revised based on patch from Victor Umansky <victor.umansky@intel.com>. More cases are handled in X86's bool simplification, i.e. - SETCC_CARRY - value is truncated to i1 with AND As a by-product, PR5443 is also fixed. llvm-svn: 179265
-
- Apr 10, 2013
-
-
Evan Cheng authored
xmm0 / xmm1. rdar://13599493 llvm-svn: 179141
-
- Apr 05, 2013
-
-
Bill Wendling authored
During LTO, the target options on functions within the same Module may change. This would necessitate resetting some of the back-end. Do this for X86, because it's a Friday afternoon. llvm-svn: 178917
-
- Mar 31, 2013
-
-
Benjamin Kramer authored
A vector sext + sitofp is a lot cheaper than 8 scalar conversions. llvm-svn: 178448
-
- Mar 29, 2013
-
-
Benjamin Kramer authored
It was superseded by MachineBlockPlacement and disabled by default since LLVM 3.1. llvm-svn: 178349
-
Michael Liao authored
llvm-svn: 178314
-
Michael Liao authored
- RDRAND always clears the destination value when a random value is not available (i.e. CF == 0). This value is truncated or zero-extended as the false boolean value to be returned. Boolean simplification needs to skip this 'zext' or 'trunc' node. llvm-svn: 178312
-
Michael Liao authored
To enable a load of a call address to be folded with that call, this load is moved from outside of callseq into callseq. Such a moving adds a non-glued node (that load) into a glued sequence. This non-glue load is only removed when DAG selection folds them into a memory form call instruction. When such instruction selection is disabled, it breaks DAG schedule. To prevent that, such moving is disabled when target favors register indirect call. Previous workaround disabling CALL32m/CALL64m insn selection is removed. llvm-svn: 178308
-
- Mar 28, 2013
-
-
Timur Iskhodzhanov authored
llvm-svn: 178291
-
- Mar 27, 2013
-
-
Preston Gurd authored
For the current Atom processor, the fastest way to handle a call indirect through a memory address is to load the memory address into a register and then call indirect through the register. This patch implements this improvement by modifying SelectionDAG to force a function address which is a memory reference to be loaded into a virtual register. Patch by Sriram Murali. llvm-svn: 178171
-