| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--- Reverse-merging r129235 into '.':
D test/Feature/bb_attrs.ll
U include/llvm/BasicBlock.h
U include/llvm/Bitcode/LLVMBitCodes.h
U lib/VMCore/AsmWriter.cpp
U lib/VMCore/BasicBlock.cpp
U lib/AsmParser/LLParser.cpp
U lib/AsmParser/LLLexer.cpp
U lib/AsmParser/LLToken.h
U lib/Bitcode/Reader/BitcodeReader.cpp
U lib/Bitcode/Writer/BitcodeWriter.cpp
llvm-svn: 129259
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add a "landing pad" attribute to the BasicBlock.
* Modify the bitcode reader and writer to handle said attribute.
Later: The verifier will ensure that the landing pad attribute is used in the
appropriate manner. I.e., not applied to the entry block, and applied only to
basic blocks that are branched to via a `dispatch' instruction.
(This is a work-in-progress.)
llvm-svn: 129235
|
|
|
|
|
|
|
| |
phi node itself if it occurs in an unreachable basic block. Protect
against this. Hopefully this will fix some more buildbots.
llvm-svn: 119493
|
|
|
|
|
|
| |
beginning of a block.
llvm-svn: 100230
|
|
|
|
| |
llvm-svn: 91736
|
|
|
|
|
|
| |
Patch by Howard Hinnant!
llvm-svn: 90365
|
|
|
|
|
|
|
| |
indirectbr, thus we don't need "blockaddr(@func, null)". Eliminate it
for simplicity.
llvm-svn: 85699
|
|
|
|
|
|
|
|
|
|
|
|
| |
block with a blockaddress still referring to it' replace the invalid
blockaddress with a new blockaddress(@func, null) instead of a
inttoptr(1).
This changes the bitcode encoding format, and still needs codegen
support (this should produce a non-zero value, referring to the entry
block of the function would also be quite reasonable).
llvm-svn: 85678
|
|
|
|
|
|
|
| |
around, then zap them. This is analogous to dangling constantexprs hanging
off functions.
llvm-svn: 85627
|
|
|
|
|
|
| |
data.
llvm-svn: 85625
|
|
|
|
| |
llvm-svn: 85449
|
|
|
|
| |
llvm-svn: 78948
|
|
|
|
| |
llvm-svn: 78677
|
|
|
|
| |
llvm-svn: 77635
|
|
|
|
|
|
|
| |
- The only meat here is in Value.{h,cpp} the rest is essential 'const
std::string &' -> 'const Twine &'.
llvm-svn: 77048
|
|
|
|
| |
llvm-svn: 76702
|
|
|
|
| |
llvm-svn: 74973
|
|
|
|
| |
llvm-svn: 74878
|
|
|
|
| |
llvm-svn: 74807
|
|
|
|
| |
llvm-svn: 66336
|
|
|
|
| |
llvm-svn: 66333
|
|
|
|
|
|
|
|
|
| |
by superposition.
This looks dangerous, but isn't because the sentinel is accessed in special way only,
namely the Next and Prev fields of it, and these are guaranteed to exist.
llvm-svn: 65626
|
|
|
|
| |
llvm-svn: 60875
|
|
|
|
| |
llvm-svn: 60872
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a new ilist_node class, and remove them. Unlike alist_node,
ilist_node doesn't attempt to manage storage itself, so it avoids
the associated problems, including being opaque in gdb.
Adjust the Recycler class so that it doesn't depend on alist_node.
Also, change it to use explicit Size and Align parameters, allowing
it to work when the largest-sized node doesn't have the greatest
alignment requirement.
Change MachineInstr's MachineMemOperand list from a pool-backed
alist to a std::list for now.
llvm-svn: 54146
|
|
|
|
|
|
| |
corresponding header first, even if redundant.
llvm-svn: 51598
|
|
|
|
| |
llvm-svn: 51590
|
|
|
|
|
|
| |
use it instead of duplicating its functionality.
llvm-svn: 51499
|
|
|
|
|
|
| |
r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123.
llvm-svn: 50265
|
|
|
|
|
|
|
|
| |
Specifically, introduction of XXX::Create methods
for Users that have a potentially variable number of
Uses.
llvm-svn: 49277
|
|
|
|
|
|
|
| |
Add the ability to remove just one instance of a BB from a phi node. This fixes
the compile error in the tree now.
llvm-svn: 48085
|
|
|
|
|
|
| |
This is the first checkin for PR1269, the new EH infrastructure.
llvm-svn: 47802
|
|
|
|
| |
llvm-svn: 45418
|
|
|
|
|
|
|
| |
_sabre_: it has a major problem: by the time ~Value is run, all of the "parts" of the derived classes have been destroyed
_sabre_: the vtable lives to fight another day
llvm-svn: 44760
|
|
|
|
| |
llvm-svn: 44747
|
|
|
|
| |
llvm-svn: 44240
|
|
|
|
| |
llvm-svn: 40530
|
|
|
|
|
|
|
|
|
| |
object is always constant. As such, evaluate it at compile time instead of storing
it as an ivar in SymbolTableListTraits. This shrinks every SymbolTableListTraits
ilist by a word, shrinking BasicBlock from 44->40 bytes, Function from 96->88 bytes,
and Module from 60->52 bytes.
llvm-svn: 36189
|
|
|
|
|
|
|
|
| |
of two. This shrinkifies Function by 8 bytes (104->96) and Module by 8
bytes (68->60). On a testcase of mine, this reduces the memory used to
read a module header from 565680b to 561024, a little over 4K.
llvm-svn: 36188
|
|
|
|
|
|
|
|
|
| |
std::map<std::string, Value*>
as its main datastructure. There are many improvements yet to be made, but
this speeds up opt --std-compile-opts on 447.dealII by 7.3%.
llvm-svn: 34193
|
|
|
|
| |
llvm-svn: 30584
|
|
|
|
| |
llvm-svn: 29911
|
|
|
|
| |
llvm-svn: 28974
|
|
|
|
|
|
| |
redundant they are.
llvm-svn: 28777
|
|
|
|
| |
llvm-svn: 28725
|
|
|
|
| |
llvm-svn: 28724
|
|
|
|
| |
llvm-svn: 22768
|
|
|
|
| |
llvm-svn: 22675
|
|
|
|
|
|
|
| |
dominate the PHI node, this code can go away. This also makes passes more
aggressive, e.g. implementing Transforms/CondProp/phisimplify2.ll
llvm-svn: 22670
|
|
|
|
|
|
|
|
| |
BasicBlock's removePredecessor routine. This requires shuffling around
the definition and implementation of hasContantValue from Utils.h,cpp into
Instructions.h,cpp
llvm-svn: 22664
|