| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
patch brings numerous advantages to LLVM. One way to look at it
is through diffstat:
109 files changed, 3005 insertions(+), 5906 deletions(-)
Removing almost 3K lines of code is a good thing. Other advantages
include:
1. Value::getType() is a simple load that can be CSE'd, not a mutating
union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
uniques them. This means that the compiler doesn't merge them structurally
which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead
"const Type *" everywhere.
Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.
"LLVM 3.0" is the right time to do this.
There are still some cleanups pending after this, this patch is large enough
as-is.
llvm-svn: 134829
|
|
|
|
|
|
| |
subsumed by extractvalue.
llvm-svn: 133247
|
|
|
|
|
|
| |
was replaced with return of a "first class aggregate".
llvm-svn: 133245
|
|
|
|
|
|
|
|
|
|
|
| |
the old malloc/free instructions, and for 'sext' and 'zext' as function
attributes (they are spelled signext/zeroext now), and support for result
value attributes being specified after a function.
Additionally, diagnose invalid attributes on functions with an error message
instead of an abort in the verifier.
llvm-svn: 133229
|
|
|
|
| |
llvm-svn: 123358
|
|
|
|
| |
llvm-svn: 114847
|
|
|
|
|
|
| |
being actively maintained, improved, or extended.
llvm-svn: 112356
|
|
|
|
|
|
| |
initially seems it should require.
llvm-svn: 111913
|
|
|
|
| |
llvm-svn: 111895
|
|
|
|
|
|
|
| |
This is in preparation for generalizing its parsing of function-local
values.
llvm-svn: 111893
|
|
|
|
| |
llvm-svn: 108343
|
|
|
|
|
|
|
|
| |
We would return the error without inserting the new instruction
into the program, so it wouldn't get deallocated, and an abort
would trigger when the module was deleted.
llvm-svn: 100602
|
|
|
|
| |
llvm-svn: 100087
|
|
|
|
|
|
|
|
| |
to used deferred resolution instead of creating a temporary
node + rauw. There is no reason to create the temporary
mdnode, then do rauw, then destroy it.
llvm-svn: 100086
|
|
|
|
| |
llvm-svn: 100082
|
|
|
|
| |
llvm-svn: 96011
|
|
|
|
|
|
|
| |
implement support for it) that the stack should be forcibly realigned in the
prologue (and the process reversed in the epilogue).
llvm-svn: 95945
|
|
|
|
| |
llvm-svn: 94243
|
|
|
|
|
|
| |
and ConvertValIDToValue into a more powerful ConvertValIDToValue() that does all three's work
llvm-svn: 93197
|
|
|
|
|
|
|
|
| |
getWhenValsUnresolved().
Document PFS argument to ParseValID() and ConvertGlobalOrMetadataValIDToValue().
llvm-svn: 93108
|
|
|
|
| |
llvm-svn: 92838
|
|
|
|
| |
llvm-svn: 92793
|
|
|
|
|
|
|
| |
parser-global MDsOnInst vector and make ParseInstructionMetadata return
its result by-ref through an argument like the entire rest of the parser.
llvm-svn: 92302
|
|
|
|
|
|
| |
handle the comma case for metadata.
llvm-svn: 92301
|
|
|
|
|
|
|
| |
and make it non-optional. This fixes the bug where we'd accept
and ignore a spurious comma after some instructions.
llvm-svn: 92300
|
|
|
|
| |
llvm-svn: 92299
|
|
|
|
|
|
| |
out of each opcode's handler. Change ret over so far.
llvm-svn: 92298
|
|
|
|
|
|
| |
accept invalid input. Actually add a testcase.
llvm-svn: 92297
|
|
|
|
|
|
|
| |
used by other things. Convert it to a vector since it is a dense
numbering.
llvm-svn: 92293
|
|
|
|
| |
llvm-svn: 92292
|
|
|
|
|
|
| |
you'd expect.
llvm-svn: 92291
|
|
|
|
| |
llvm-svn: 92288
|
|
|
|
| |
llvm-svn: 92287
|
|
|
|
|
|
|
| |
This exposed a raft of other problems, which I'll deal with in subsequent
patches.
llvm-svn: 92273
|
|
|
|
|
|
|
| |
be RAUW'd and go to null. This also gets us some sorely lacking
type safety.
llvm-svn: 92272
|
|
|
|
| |
llvm-svn: 92211
|
|
|
|
|
|
| |
instruction. Extend ParseParameterList() to use this new function so that calls to llvm.dbg.declare can pass inline metadata
llvm-svn: 90497
|
|
|
|
|
|
| |
This fixes PR5393.
llvm-svn: 86091
|
|
|
|
|
|
|
|
|
| |
$ llvm-as foo.ll -d -disable-output
which reads and prints the .ll file. BC encoding is the
next project. Testcase will go in once that works.
llvm-svn: 85368
|
|
|
|
| |
llvm-svn: 85351
|
|
|
|
|
|
|
| |
(assembler,asmprinter, bc reader+writer) and document it. Codegen
currently aborts on it.
llvm-svn: 85274
|
|
|
|
|
|
|
| |
Update all analysis passes and transforms to treat free calls just like FreeInst.
Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised.
llvm-svn: 84987
|
|
|
|
|
|
|
|
| |
Update testcases that rely on malloc insts being present.
Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step.
llvm-svn: 84292
|
|
|
|
| |
llvm-svn: 83033
|
|
|
|
| |
llvm-svn: 83016
|
|
|
|
|
|
| |
causes regressions in the nightly tests.
llvm-svn: 82784
|
|
|
|
|
|
| |
Reviewed by Devang Patel.
llvm-svn: 82694
|
|
|
|
| |
llvm-svn: 82175
|
|
|
|
| |
llvm-svn: 80773
|
|
|
|
|
|
|
| |
and unnamed numbered global variables as "@0 = global ...". Extend the
AsmParser to recognize these forms.
llvm-svn: 78859
|