- Jan 04, 2013
-
-
Nadav Rotem authored
Move the loop vectorizer from O2 to O3. It looks like the increase in code size actually hurts the performance on many programs. llvm-svn: 171471
-
Nadav Rotem authored
1. Add code to estimate register pressure. 2. Add code to select the unroll factor based on register pressure. 3. Add bits to TargetTransformInfo to provide the number of registers. llvm-svn: 171469
-
Nadav Rotem authored
Revert revision: 171467. This transformation is incorrect and makes some tests fail. Original message: Simplified TRUNCATE operation that comes after SETCC. It is possible since SETCC result is 0 or -1. Added a test. llvm-svn: 171468
-
- Jan 03, 2013
-
-
Elena Demikhovsky authored
Added a test. llvm-svn: 171467
-
Michael Gottesman authored
Revert "Mark DIV/IDIV instructions hasSideEffects=1 because they can trap when dividing by 0. This is needed to keep early if conversion from moving them across basic blocks." This reverts commit r171461 since it breaks the following tests: Clang :: Analysis/outofbound-notwork.c Clang :: Analysis/string-fail.c Clang :: CXX/basic/basic.lookup/basic.lookup.qual/p6-0x.cpp Clang :: CXX/basic/basic.lookup/basic.lookup.unqual/p15.cpp Clang :: CXX/dcl.dcl/dcl.spec/dcl.fct.spec/p4.cpp Clang :: CXX/dcl.dcl/dcl.spec/dcl.stc/p10.cpp Clang :: CXX/temp/temp.param/p14.cpp Clang :: CXX/temp/temp.res/temp.dep.res/temp.point/p1.cpp Clang :: CodeGen/2009-02-13-zerosize-union-field-ppc.c Clang :: CodeGen/blocks-2.c Clang :: CodeGen/libcalls-d.c Clang :: CodeGen/libcalls-ld.c Clang :: CodeGenCXX/conversion-function.cpp Clang :: CodeGenCXX/debug-info-limit-type.cpp Clang :: CodeGenCXX/inheriting-constructor.cpp Clang :: FixIt/fixit-errors.c Clang :: FixIt/fixit-pmem.cpp Clang :: Modules/namespaces.cpp Clang :: PCH/changed-files.c Clang :: PCH/pr4489.c Clang :: PCH/source-manager-stack.c Clang :: Parser/cxx-ambig-decl-expr-xfail.cpp Clang :: SemaCXX/switch-implicit-fallthrough-cxx98.cpp Clang :: SemaTemplate/instantiate-function-1.mm llvm-svn: 171466
-
Michael Gottesman authored
Changed two debug statements that state that a queue had finished being processed when said queue was really a list to state a list had finished being processed. llvm-svn: 171465
-
Michael Gottesman authored
llvm-svn: 171464
-
Michael Gottesman authored
llvm-svn: 171463
-
Michael Gottesman authored
Added DEBUG message for ObjCARC when an inline asm marker is inserted for architectures where this is required to perform a retainAutoreleasedReturnValue optimization. llvm-svn: 171462
-
Craig Topper authored
Mark DIV/IDIV instructions hasSideEffects=1 because they can trap when dividing by 0. This is needed to keep early if conversion from moving them across basic blocks. llvm-svn: 171461
-
Hal Finkel authored
In order to cost subvector insertion and extraction, we need to know the type of the subvector being extracted. No functionality change. llvm-svn: 171453
-
Bill Wendling authored
llvm-svn: 171450
-
Bill Wendling authored
before the last time. --- Reverse-merging r171442 into '.': U include/llvm/IR/Attributes.h U lib/IR/Attributes.cpp U lib/IR/AttributeImpl.h llvm-svn: 171448
-
Bill Wendling authored
--- Reverse-merging r171441 into '.': U include/llvm/IR/Attributes.h U lib/IR/Attributes.cpp llvm-svn: 171444
-
Bill Wendling authored
The 'operator==' method is a bit clearer and much less verbose for somethings that should have only one value. Remove from the AttrBuilder for consistency. llvm-svn: 171442
-
NAKAMURA Takumi authored
llvm-svn: 171441
-
Michael J. Spencer authored
llvm-svn: 171437
-
Nadav Rotem authored
LoopVectorizer: Add support for loop-unrolling during vectorization for increasing the ILP. At the moment this feature is disabled by default and this commit should not cause any functional changes. llvm-svn: 171436
-
Jakob Stoklund Olesen authored
Most IMPLICIT_DEF instructions are removed by the ProcessImplicitDefs pass, and a few are reinserted by PHIElimination when a PHI argument is <undef>. RegisterCoalescer was assuming that all IMPLICIT_DEF live ranges look like those created by PHIElimination, and that their live range never leaves the basic block. The PR14732 test case does tricks with PHI nodes that causes a longer IMPLICIT_DEF live range to appear. This happens very rarely, but RegisterCoalescer should be able to handle it. llvm-svn: 171435
-
Bill Wendling authored
llvm-svn: 171434
-
Nadav Rotem authored
llvm-svn: 171429
-
Eric Christopher authored
sections for debug info. These are some of the dwo sections from the DWARF5 split debug info proposal. Update the fission-cu.ll testcase to show what we should be able to dump more of now. Work in progress: Ultimately the relocations will be gone for the dwo section and the strings will be a different form (as well as the rest of the sections will be included). llvm-svn: 171428
-
Bill Wendling authored
Modify the AttrBuilder class to store the attributes as a set instead of as a bit mask. The Attribute class will represent only one attribute instead of a collection of attributes. This is the wave of the future! llvm-svn: 171427
-
- Jan 02, 2013
-
-
Tom Stellard authored
DAGCombiner::reduceBuildVecConvertToConvertBuildVec() was making two mistakes: 1. It was checking the legality of scalar INT_TO_FP nodes and then generating vector nodes. 2. It was passing the result value type to TargetLoweringInfo::getOperationAction() when it should have been passing the value type of the first operand. llvm-svn: 171420
-
Kevin Enderby authored
Patch by Michael M Kuperstein! llvm-svn: 171414
-
Shuxin Yang authored
- Fix a typo llvm-svn: 171399
-
Nadav Rotem authored
llvm-svn: 171398
-
Chandler Carruth authored
code that includes Intrinsics.gen directly. This never showed up in my testing because the old Intrinsics.gen was still kicking around in the make build system and was correct there. =[ Thankfully, some of the bots to clean rebuilds and that caught this. llvm-svn: 171373
-
Chandler Carruth authored
into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long standing point of file layout clutter in LLVM. There are still more header files to move here, but I wanted to handle them in separate commits to make tracking what files make sense at each layer easier. The only really questionable files here are the target intrinsic tablegen files. But that's a battle I'd rather not fight today. I've updated both CMake and Makefile build systems (I think, and my tests think, but I may have missed something). I've also re-sorted the includes throughout the project. I'll be committing updates to Clang, DragonEgg, and Polly momentarily. llvm-svn: 171366
-
Chandler Carruth authored
utils/sort_includes.py script. Most of these are updating the new R600 target and fixing up a few regressions that have creeped in since the last time I sorted the includes. llvm-svn: 171362
-
Chandler Carruth authored
Aside from moving the actual files, this patch only updates the build system and the source file comments under lib/... that are relevant. I'll be updating other docs and other files in smaller subsequnet commits. While I've tried to test this, but it is entirely possible that there will still be some build system fallout. Also, note that I've not changed the library name itself: libLLVMCore.a is still the library name. I'd be interested in others' opinions about whether we should rename this as well (I think we should, just not sure what it might break) llvm-svn: 171359
-
Craig Topper authored
llvm-svn: 171356
-
Craig Topper authored
llvm-svn: 171355
-
Rafael Espindola authored
llvm-svn: 171352
-
- Jan 01, 2013
-
-
Craig Topper authored
llvm-svn: 171351
-
Benjamin Kramer authored
llvm-svn: 171349
-
Benjamin Kramer authored
No functionality change. llvm-svn: 171348
-
Michael Gottesman authored
Added DEBUG message when ObjCARC replaces a call which returns its argument verbatim with its argument to temporarily undo an optimization. Specifically these calls return their argument verbatim, as a low-level optimization. However, this makes high-level optimizations harder. We undo any uses of this optimization that the front-end emitted. We redo them later in the contract pass. llvm-svn: 171346
-
Michael Gottesman authored
Added DEBUG messages to the top of several processing loops in ObjCARC.cpp that emit what instructions are being visited. This is a part of a larger effort of adding DEBUG messages to the ARC Optimizer Backend. llvm-svn: 171345
-
Craig Topper authored
llvm-svn: 171340
-