| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
to construct FunctionType in separate function, and, have getDeclaration
return a Function instead of a Constant.
llvm-svn: 34008
|
| |
|
|
|
|
| |
Use handleLastUserOverflow().
llvm-svn: 34006
|
| |
|
|
| |
llvm-svn: 33993
|
| |
|
|
| |
llvm-svn: 33992
|
| |
|
|
|
|
| |
the one IPO pass that uses it.
llvm-svn: 33990
|
| |
|
|
|
|
|
|
| |
remove+insert.
Make insert/remove assert if used incorrectly instead of returning a bool.
llvm-svn: 33988
|
| |
|
|
| |
llvm-svn: 33985
|
| |
|
|
|
|
|
| |
inserting a type into the type symbol table, only compute unique name if not
in symtab already.
llvm-svn: 33983
|
| |
|
|
| |
llvm-svn: 33982
|
| |
|
|
|
|
| |
where a symbol name doesn't conflict. This speeds up bc reading 16% on 176.gcc!
llvm-svn: 33981
|
| |
|
|
| |
llvm-svn: 33962
|
| |
|
|
| |
llvm-svn: 33948
|
| |
|
|
| |
llvm-svn: 33942
|
| |
|
|
|
|
|
|
| |
Adjust to changes in Module interface:
getMainFunction() -> getFunction("main")
getNamedFunction(X) -> getFunction(X)
llvm-svn: 33922
|
| |
|
|
|
|
|
|
|
|
| |
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
llvm-svn: 33918
|
| |
|
|
|
|
| |
Do not insert Analysis pass, if it is already available.
llvm-svn: 33915
|
| |
|
|
|
|
|
| |
Make the Module's dependent library use a std::vector instead of SetVector
adjust #includes in .cpp files because SetVector.h is no longer included.
llvm-svn: 33855
|
| |
|
|
| |
llvm-svn: 33781
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This feature is needed in order to support shifts of more than 255 bits
on large integer types. This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
shl i32 %X, 1
instead of
shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.
llvm-svn: 33776
|
| |
|
|
| |
llvm-svn: 33765
|
| |
|
|
| |
llvm-svn: 33747
|
| |
|
|
|
|
| |
GEP constructors.
llvm-svn: 33726
|
| |
|
|
| |
llvm-svn: 33708
|
| |
|
|
|
|
| |
This allows us to eliminate many temporary vectors, and theirassociated malloc/free pairs.
llvm-svn: 33692
|
| |
|
|
|
|
| |
confusion with external linkage types.
llvm-svn: 33663
|
| |
|
|
|
|
|
|
|
|
|
| |
PassManagers.h).
- Add StopPassTimer() and StartPassTimer() to expose TimingInfo to
CallGraphPassManager
- Use these two APIs in CalLgraphPassManager to measure timings.
llvm-svn: 33638
|
| |
|
|
| |
llvm-svn: 33626
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. New parameter attribute called 'inreg'. It has meaning "place this
parameter in registers, if possible". This is some generalization of
gcc's regparm(n) attribute. It's currently used only in X86-32 backend.
2. Completely rewritten CC handling/lowering code inside X86 backend.
Merged stdcall + c CCs and fastcall + fast CC.
3. Dropped CSRET CC. We cannot add struct return variant for each
target-specific CC (e.g. stdcall + csretcc and so on).
4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in
on first attribute has meaning 'This is hidden pointer to structure
return. Handle it gently'.
5. Fixed small bug in llvm-extract + add new feature to
FunctionExtraction pass, which relinks all internal-linkaged callees
from deleted function to external linkage. This will allow further
linking everything together.
NOTEs: 1. Documentation will be updated soon.
2. llvm-upgrade should be improved to translate csret => sret.
Before this, there will be some unexpected test fails.
llvm-svn: 33597
|
| |
|
|
|
|
| |
for debugging and exception handling.
llvm-svn: 33550
|
| |
|
|
|
|
|
| |
Remove the setEndianess and setPointerSize methods. These are now
handled via the setDataLayout method.
llvm-svn: 33527
|
| |
|
|
|
|
|
| |
Implement new syntax for local and global symbols. Types and local
symbols use the % prefix. Global variables and functions use the @ prefix.
llvm-svn: 33523
|
| |
|
|
|
|
|
| |
Remove the Function::renameLocalSymbols function as it is no longer
needed.
llvm-svn: 33522
|
| |
|
|
| |
llvm-svn: 33521
|
| |
|
|
| |
llvm-svn: 33520
|
| |
|
|
| |
llvm-svn: 33519
|
| |
|
|
| |
llvm-svn: 33417
|
| |
|
|
|
|
|
| |
Clean up handling of isFloatingPoint() and dealing with PackedType.
Patch by Gordon Henriksen!
llvm-svn: 33415
|
| |
|
|
|
|
| |
these alignment amounts to align scalars when we can. Patch by Scott Michel!
llvm-svn: 33409
|
| |
|
|
| |
llvm-svn: 33372
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the final patch for this PR. It implements some minor cleanup
in the use of IntegerType, to wit:
1. Type::getIntegerTypeMask -> IntegerType::getBitMask
2. Type::Int*Ty changed to IntegerType* from Type*
3. ConstantInt::getType() returns IntegerType* now, not Type*
This also fixes PR1120.
Patch by Sheng Zhou.
llvm-svn: 33370
|
| |
|
|
| |
llvm-svn: 33336
|
| |
|
|
|
|
|
| |
mostly be used by back ends that wish to distinguish between integer types
that fit evenly within a natural integer type and those that don't.
llvm-svn: 33328
|
| |
|
|
|
|
| |
Pass Manager Type.
llvm-svn: 33308
|
| |
|
|
| |
llvm-svn: 33307
|
| |
|
|
|
|
|
| |
pass manager type. This allows new FPPassManager to select Call Graph
Pass Manager (if available) as its parent.
llvm-svn: 33306
|
| |
|
|
|
|
| |
Expose the previously hidden checkCast function as CastInst::castIsValid.
llvm-svn: 33282
|
| |
|
|
|
|
| |
pass manager is last user.
llvm-svn: 33273
|
| |
|
|
|
|
| |
Remove setupPassManager() and its use.
llvm-svn: 33270
|
| |
|
|
| |
llvm-svn: 33262
|
| |
|
|
| |
llvm-svn: 33245
|