Revision tags: llvmorg-3.4.0-rc3, llvmorg-3.4.0-rc2, llvmorg-3.4.0-rc1 |
|
#
f5a3eaea |
| 04-Oct-2013 |
Hal Finkel <hfinkel@anl.gov> |
UpdatePHINodes in BasicBlockUtils should not crash on duplicate predecessors
UpdatePHINodes has an optimization to reuse an existing PHI node, where it first deletes all of its entries and then repl
UpdatePHINodes in BasicBlockUtils should not crash on duplicate predecessors
UpdatePHINodes has an optimization to reuse an existing PHI node, where it first deletes all of its entries and then replaces them. Unfortunately, in the case where we had duplicate predecessors (which are allowed so long as the associated PHI entries have the same value), the loop removing the existing PHI entries from the to-be-reused PHI would assert (if that PHI was not the one which had the duplicates).
llvm-svn: 192001
show more ...
|
#
44fee4e0 |
| 01-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove several unused variables.
Patch by Alp Toker.
llvm-svn: 191757
|
#
aa664d9b |
| 06-Aug-2013 |
Tom Stellard <thomas.stellard@amd.com> |
Factor FlattenCFG out from SimplifyCFG
Patch by: Mei Ye
llvm-svn: 187764
|
#
0b68245e |
| 27-Jul-2013 |
Nick Lewycky <nicholas@mxc.ca> |
Reimplement isPotentiallyReachable to make nocapture deduction much stronger. Adds unit tests for it too.
Split BasicBlockUtils into an analysis-half and a transforms-half, and put the analysis bits
Reimplement isPotentiallyReachable to make nocapture deduction much stronger. Adds unit tests for it too.
Split BasicBlockUtils into an analysis-half and a transforms-half, and put the analysis bits into a new Analysis/CFG.{h,cpp}. Promote isPotentiallyReachable into llvm::isPotentiallyReachable and move it into Analysis/CFG.
llvm-svn: 187283
show more ...
|
Revision tags: llvmorg-3.3.1-rc1 |
|
#
af0dea13 |
| 04-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Use SmallVectorImpl::iterator/const_iterator instead of SmallVector to avoid specifying the vector size.
llvm-svn: 185606
|
Revision tags: llvmorg-3.3.0, llvmorg-3.3.0-rc3, llvmorg-3.3.0-rc2, llvmorg-3.3.0-rc1 |
|
#
190db2f2 |
| 14-Jan-2013 |
Jakub Staszak <kubastaszak@gmail.com> |
Remove trailing spaces.
llvm-svn: 172489
|
#
9fb823bb |
| 02-Jan-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Move all of the header files which are involved in modelling the LLVM IR into their new header subdirectory: include/llvm/IR. This matches the directory structure of lib, and begins to correct a long
Move all of the header files which are involved in modelling the LLVM IR 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
show more ...
|
Revision tags: llvmorg-3.2.0, llvmorg-3.2.0-rc3 |
|
#
ed0881b2 |
| 03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib.
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module
Use the new script to sort the includes of every file under lib.
Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented.
Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =]
llvm-svn: 169131
show more ...
|
Revision tags: llvmorg-3.2.0-rc2, llvmorg-3.2.0-rc1 |
|
#
8eb77d84 |
| 19-Oct-2012 |
Evgeniy Stepanov <eugeni.stepanov@gmail.com> |
Move SplitBlockAndInsertIfThen to BasicBlockUtils.
llvm-svn: 166278
|
#
cdfe20b9 |
| 08-Oct-2012 |
Micah Villmow <villmow@gmail.com> |
Move TargetData to DataLayout.
llvm-svn: 165402
|
#
8bcc9711 |
| 29-Aug-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make MemoryBuiltins aware of TargetLibraryInfo.
This disables malloc-specific optimization when -fno-builtin (or -ffreestanding) is specified. This has been a problem for a long time but became more
Make MemoryBuiltins aware of TargetLibraryInfo.
This disables malloc-specific optimization when -fno-builtin (or -ffreestanding) is specified. This has been a problem for a long time but became more severe with the recent memory builtin improvements.
Since the memory builtin functions are used everywhere, this required passing TLI in many places. This means that functions that now have an optional TLI argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead mallocs anymore if the TLI argument is missing. I've updated most passes to do the right thing.
Fixes PR13694 and probably others.
llvm-svn: 162841
show more ...
|
#
249716e8 |
| 27-Jul-2012 |
Evan Cheng <evan.cheng@apple.com> |
Teach CodeGenPrep to look past bitcast when it's duplicating return instruction into predecessor blocks to enable tail call optimization.
rdar://11958338
llvm-svn: 160894
|
#
f0ad3606 |
| 25-Jun-2012 |
Eli Bendersky <eli.bendersky@intel.com> |
The name (and comment describing) of llvm::GetFirstDebuigLocInBasicBlock no longer represents what the function does. Therefore, the function is removed and its functionality is folded into the only
The name (and comment describing) of llvm::GetFirstDebuigLocInBasicBlock no longer represents what the function does. Therefore, the function is removed and its functionality is folded into the only place in the code-base where it was being used.
llvm-svn: 159133
show more ...
|
Revision tags: llvmorg-3.1.0, llvmorg-3.1.0-rc3, llvmorg-3.1.0-rc2, llvmorg-3.1.0-rc1 |
|
#
b48ed1a4 |
| 17-Jan-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary)
llvm-svn: 148284
|
#
f5b32e52 |
| 09-Dec-2011 |
Jakub Staszak <kubastaszak@gmail.com> |
SplitBlockPredecessors uses ArrayRef instead of Data and Size.
llvm-svn: 146277
|
Revision tags: llvmorg-3.0.0, llvmorg-3.0.0-rc4, llvmorg-3.0.0-rc3, llvmorg-3.0.0-rc2, llvmorg-3.0.0-rc1 |
|
#
d3e65e70 |
| 24-Aug-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fix a crashing bug in SplitBlock when it is called on a block with no dominator information even though dominators were previously computed.
Patch by Nick Sumner.
llvm-svn: 138449
|
#
38d81308 |
| 19-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
If we're splitting the landing pad block and assigning it only one predecessor, then don't split it a second time, since that block will be dead.
llvm-svn: 138153
|
#
ca7d3096 |
| 19-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Add SplitLandingPadPredecessors().
SplitLandingPadPredecessors is similar to SplitBlockPredecessors in that it splits the current block and attaches a set of predecessors to the new basic block. How
Add SplitLandingPadPredecessors().
SplitLandingPadPredecessors is similar to SplitBlockPredecessors in that it splits the current block and attaches a set of predecessors to the new basic block. However, it differs from SplitBlockPredecessors in that it's specifically designed to handle landing pad blocks.
Two new basic blocks are created: one that is has the vector of predecessors as its predecessors and one that has the remaining predecessors as its predecessors. Those two new blocks then receive a cloned copy of the landingpad instruction from the original block. The landingpad instructions are joined in a PHI, etc. Like SplitBlockPredecessors, it updates the LLVM IR, AliasAnalysis, DominatorTree, DominanceFrontier, LoopInfo, and LCCSA analyses.
llvm-svn: 138014
show more ...
|
#
b267e2a7 |
| 18-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Split out the updating of PHI nodes after splitting the BB into a separate function.
llvm-svn: 137979
|
#
ec3823dc |
| 18-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Use this fantzy ArrayRef thing to pass in the list of predecessors.
llvm-svn: 137978
|
#
6029135a |
| 18-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Use static instead of anonymous namespace.
llvm-svn: 137959
|
#
0a693f47 |
| 18-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Split out the analysis updating code into a helper function. No intended functionality change.
llvm-svn: 137926
|
#
79a6873d |
| 17-Aug-2011 |
Bill Wendling <isanbard@gmail.com> |
Increment the insertion iterator to beyond the landingpad instruction.
llvm-svn: 137872
|
#
61ea0e46 |
| 23-Jun-2011 |
Jay Foad <jay.foad@gmail.com> |
Reinstate r133513 (reverted in r133700) with an additional fix for a -Wshorten-64-to-32 warning in Instructions.h.
llvm-svn: 133708
|
#
96513120 |
| 23-Jun-2011 |
Eric Christopher <echristo@apple.com> |
Revert r133513:
"Reinstate r133435 and r133449 (reverted in r133499) now that the clang self-hosted build failure has been fixed (r133512)."
Due to some additional warnings.
llvm-svn: 133700
|