| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 152535
|
| |
|
|
|
|
|
| |
Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default.
Added some notes relative to case iterators.
llvm-svn: 152532
|
| |
|
|
|
|
|
| |
It doesn't currently support the op info and symbol lookup callbacks,
but it is better than nothing.
llvm-svn: 152527
|
| |
|
|
| |
llvm-svn: 152525
|
| |
|
|
|
|
| |
reduce size of static tables.
llvm-svn: 152524
|
| |
|
|
| |
llvm-svn: 152523
|
| |
|
|
| |
llvm-svn: 152522
|
| |
|
|
| |
llvm-svn: 152518
|
| |
|
|
|
|
|
|
| |
it would fail with {,u}int64_t on x86-64 Linux.
This also removes code duplication.
llvm-svn: 152517
|
| |
|
|
| |
llvm-svn: 152515
|
| |
|
|
|
|
|
| |
Chris Lattner says the edis interface is going away. It doesn't make
sense to land something that will go away in the near future.
llvm-svn: 152508
|
| |
|
|
| |
llvm-svn: 152507
|
| |
|
|
|
|
|
|
|
|
|
| |
This requires a C++ change to EDDisassembler's ctor to function properly
(the llvm::InitializeAll* functions aren't being called currently and
there is no way to call them from Python).
Code is partially tested and works well enough for initial commit. There
are probably many small bugs.
llvm-svn: 152506
|
| |
|
|
| |
llvm-svn: 152505
|
| |
|
|
| |
llvm-svn: 152502
|
| |
|
|
|
|
| |
format...for now.
llvm-svn: 152499
|
| |
|
|
| |
llvm-svn: 152498
|
| |
|
|
|
|
|
|
|
|
|
| |
The 'CmpInst::isFalseWhenEqual' function returns 'false' for values other than
simply equality. For instance, it returns 'false' for <= or >=. This isn't the
correct behavior for this transformation, which is checking for strict equality
and non-equality. It was causing the gcc.c-torture/execute/frame-address.c test
to fail because it would completely (and incorrectly) optimize a whole function
into a 'ret i32 0'.
llvm-svn: 152497
|
| |
|
|
| |
llvm-svn: 152495
|
| |
|
|
| |
llvm-svn: 152492
|
| |
|
|
|
|
|
|
|
|
| |
a common collection of methods on Value, and share their implementation.
We had two variations in two different places already, and I need the
third variation for inline cost estimation.
Reviewed by Duncan Sands on IRC, but further comments here welcome.
llvm-svn: 152490
|
| |
|
|
|
|
| |
Patch by Kay Tiong Khoo!
llvm-svn: 152487
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The old way of determine when and where to spill a value that was used inside of
a landing pad resulted in spilling that value everywhere and not just at the
invoke edge.
This algorithm determines which values are used within a landing pad. It then
spills those values before the invoke and reloads them before the uses. This
should prevent excessive spilling in many cases, e.g. inside of loops.
<rdar://problem/10609139>
llvm-svn: 152486
|
| |
|
|
| |
llvm-svn: 152483
|
| |
|
|
|
|
|
| |
It is now possible to load object files and scan over sections, symbols,
and relocations! Includes test code with partial coverage.
llvm-svn: 152482
|
| |
|
|
| |
llvm-svn: 152474
|
| |
|
|
| |
llvm-svn: 152460
|
| |
|
|
|
|
| |
Somehow we never verified SSA dominance before.
llvm-svn: 152458
|
| |
|
|
| |
llvm-svn: 152457
|
| |
|
|
| |
llvm-svn: 152454
|
| |
|
|
|
|
| |
operation action of nodes.
llvm-svn: 152452
|
| |
|
|
|
|
| |
combine pass.
llvm-svn: 152450
|
| |
|
|
|
|
| |
All uses of a virtual register must be dominated by its def.
llvm-svn: 152449
|
| |
|
|
| |
llvm-svn: 152447
|
| |
|
|
|
|
| |
And add comments, since this is obviously confusing.
llvm-svn: 152445
|
| |
|
|
| |
llvm-svn: 152443
|
| |
|
|
|
|
|
|
|
|
| |
* Add enums and structures for GNU version information.
* Implement extraction of that information on a per-symbol basis (ELFObjectFile::getSymbolVersion).
* Implement a generic interface, GetELFSymbolVersion(), for getting the symbol version from the ObjectFile (hides the templating).
* Have llvm-readobj print out the version, when available.
* Add a test for the new feature: readobj-elf-versioning.test
llvm-svn: 152436
|
| |
|
|
|
|
| |
Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big
llvm-svn: 152435
|
| |
|
|
|
|
| |
to count the number of phis changed, not the number visited.
llvm-svn: 152425
|
| |
|
|
|
|
| |
Previous code had a double free in MemoryBuffer. The tests now pass.
llvm-svn: 152422
|
| |
|
|
|
|
|
|
|
| |
traversal, consider nodes for which the only successors are backedges
which the traversal is ignoring to be exit nodes. This fixes a problem
where the bottom-up traversal was failing to visit split blocks along
split loop backedges. This fixes rdar://10989035.
llvm-svn: 152421
|
| |
|
|
|
|
|
| |
prefix. Added a FIXME to remind us this still does not work when it is not the
first prefix.
llvm-svn: 152414
|
| |
|
|
|
|
| |
names.
llvm-svn: 152413
|
| |
|
|
|
|
| |
~0U might be i32 on 32-bit hosts, then (uint64_t)~0U might not be expected as (i64)0xFFFFFFFF_FFFFFFFF, but as (i64)0x00000000_FFFFFFFF.
llvm-svn: 152407
|
| |
|
|
| |
llvm-svn: 152406
|
| |
|
|
|
|
|
| |
negative switch cases if the branch condition is known to be positive.
Inspired by a recent improvement to GCC's VRP.
llvm-svn: 152405
|
| |
|
|
|
|
| |
Patch by Tom Stellard!
llvm-svn: 152400
|
| |
|
|
|
|
| |
it to analyze extractvalue(llvm.[us](add|sub).with.overflow.*) intrinsics!
llvm-svn: 152398
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This contains a semi-functional skeleton for the implementation of the
LLVM bindings for Python.
The API for the Object.h interface is roughly designed but not
implemented. MemoryBufferRef is implemented and actually appears to
work!
The ObjectFile unit test fails with a segmentation fault because the
LLVM library isn't being properly initialized. The build system doesn't
know about this code yet, so no alerts should fire.
llvm-svn: 152397
|
| |
|
|
| |
llvm-svn: 152393
|