summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused functions getArgRegs and getNumArgRegs.Craig Topper2012-03-112-23/+0
| | | | llvm-svn: 152535
* llvm::SwitchInstStepan Dyatkovskiy2012-03-1119-49/+52
| | | | | | | Renamed methods caseBegin, caseEnd and caseDefault with case_begin, case_end, and case_default. Added some notes relative to case iterators. llvm-svn: 152532
* [llvm.py] Implement disassembler interfaceGregory Szorc2012-03-112-0/+162
| | | | | | | It doesn't currently support the op info and symbol lookup callbacks, but it is better than nothing. llvm-svn: 152527
* Add a few missing 'template' keywordsDouglas Gregor2012-03-112-3/+3
| | | | llvm-svn: 152525
* Shrink and reorder some fields in MCOperandInfo to fit it in 8 bytes to ↵Craig Topper2012-03-112-11/+11
| | | | | | reduce size of static tables. llvm-svn: 152524
* Fix warnings when building with VS11.Michael J. Spencer2012-03-111-0/+3
| | | | llvm-svn: 152523
* Fix warnings.Michael J. Spencer2012-03-111-4/+4
| | | | llvm-svn: 152522
* Fixing a compile warning triggered in MSVC about constant truncation.Aaron Ballman2012-03-101-1/+2
| | | | llvm-svn: 152518
* Make StringRef::getAsInteger work with all integer types. Before this changeMichael J. Spencer2012-03-103-36/+157
| | | | | | | | it would fail with {,u}int64_t on x86-64 Linux. This also removes code duplication. llvm-svn: 152517
* Make helper static, so it can be inlined into its sole caller.Benjamin Kramer2012-03-101-3/+3
| | | | llvm-svn: 152515
* Revert "[llvm.py] Implement interface to enhanced disassembler"Gregory Szorc2012-03-102-626/+0
| | | | | | | 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
* *fix typo in comment; test of commit accessKay Tiong Khoo2012-03-101-1/+1
| | | | llvm-svn: 152507
* [llvm.py] Implement interface to enhanced disassemblerGregory Szorc2012-03-102-0/+626
| | | | | | | | | | | 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.py] Make LLVMObject.__del__ work if called during __init__Gregory Szorc2012-03-101-0/+3
| | | | llvm-svn: 152505
* Move llc + target triple tests into X86Andrew Trick2012-03-102-0/+0
| | | | llvm-svn: 152502
* As Duncan pointed out, pointers tend not to be in floating point ↵Bill Wendling2012-03-101-6/+6
| | | | | | format...for now. llvm-svn: 152499
* Don't try to filecheck bitcode.Benjamin Kramer2012-03-101-1/+1
| | | | llvm-svn: 152498
* Make this transformation slightly less agressive and more correct.Bill Wendling2012-03-102-8/+53
| | | | | | | | | | | 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
* C files in llvm still have to be C89 compliant, remove C++-style comments.Benjamin Kramer2012-03-101-4/+6
| | | | llvm-svn: 152495
* Microoptimize getVRegDef. def_begin isn't free, don't compute it twice.Benjamin Kramer2012-03-101-3/+2
| | | | llvm-svn: 152492
* Refactor some methods to look through bitcasts and GEPs on pointers intoChandler Carruth2012-03-103-34/+66
| | | | | | | | | | 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
* Fix disasm of iret, sysexit, and sysret when displayed with Intel syntax.Bill Wendling2012-03-102-5/+27
| | | | | | Patch by Kay Tiong Khoo! llvm-svn: 152487
* Implement a more intelligent way of spilling uses across an invoke boundary.Bill Wendling2012-03-101-32/+82
| | | | | | | | | | | | | 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.py] Define enumerations from Core.h; add OpCode classGregory Szorc2012-03-103-2/+265
| | | | llvm-svn: 152483
* [llvm.py] Implement interface to object filesGregory Szorc2012-03-1010-144/+620
| | | | | | | It is now possible to load object files and scan over sections, symbols, and relocations! Includes test code with partial coverage. llvm-svn: 152482
* Fix uses of the C99 PRI format macros not to conflict with C++11 UDLs.Benjamin Kramer2012-03-103-13/+14
| | | | llvm-svn: 152474
* Report the defining instruction.Jakob Stoklund Olesen2012-03-101-4/+3
| | | | llvm-svn: 152460
* Add SSA verification to MachineVerifier.Jakob Stoklund Olesen2012-03-101-2/+12
| | | | | | Somehow we never verified SSA dominance before. llvm-svn: 152458
* Use SmallPtrSet instead of DenseSet.Jakob Stoklund Olesen2012-03-101-3/+4
| | | | llvm-svn: 152457
* Give dagcombiner's worklist some inline capacity.Benjamin Kramer2012-03-101-3/+2
| | | | llvm-svn: 152454
* Do not custom lower i64 nodes if i64 is not a legal type. Move lines that setAkira Hatanaka2012-03-101-11/+14
| | | | | | operation action of nodes. llvm-svn: 152452
* Lower SETCC nodes during legalization. Previously, it was lowered in DAG ↵Akira Hatanaka2012-03-092-20/+16
| | | | | | combine pass. llvm-svn: 152450
* Assert on SSA errors in LiveVariables.Jakob Stoklund Olesen2012-03-091-0/+1
| | | | | | All uses of a virtual register must be dominated by its def. llvm-svn: 152449
* Remove unused header files.Akira Hatanaka2012-03-091-2/+0
| | | | llvm-svn: 152447
* misched: handle scheduler that insert instructions at empty region boundaries.Andrew Trick2012-03-091-3/+12
| | | | | | And add comments, since this is obviously confusing. llvm-svn: 152445
* Add the missing call to Error when a bad X86 scale expression is parsed.Kevin Enderby2012-03-092-1/+7
| | | | llvm-svn: 152443
* Support reading GNU symbol versions in ELFObjectFileDavid Meyer2012-03-098-19/+470
| | | | | | | | | | * 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
* [Object]David Meyer2012-03-099-17/+48
| | | | | | Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big llvm-svn: 152435
* Add statistics on removed switch cases, and fix the phi statisticDuncan Sands2012-03-091-1/+5
| | | | | | to count the number of phis changed, not the number visited. llvm-svn: 152425
* [llvm.py] Make ObjectFile destructor workGregory Szorc2012-03-093-17/+33
| | | | | | Previous code had a double free in MemoryBuffer. The tests now pass. llvm-svn: 152422
* When identifying exit nodes for the reverse-CFG reverse-post-orderDan Gohman2012-03-093-6/+221
| | | | | | | | | 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
* Fix the x86 disassembler to at least print the lock prefix if it is the firstKevin Enderby2012-03-093-3/+15
| | | | | | | prefix. Added a FIXME to remind us this still does not work when it is not the first prefix. llvm-svn: 152414
* [Support] Drop verbose _ATTRIBUTE from LLVM_ATTRIBUTE_{READONLY,READNONE} macroDaniel Dunbar2012-03-092-10/+10
| | | | | | names. llvm-svn: 152413
* TableGen/CodeEmitterGen.cpp: Fix an expression of generating bitmask.NAKAMURA Takumi2012-03-091-1/+1
| | | | | | ~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
* test/MC/X86/lit.local.cfg: Fix up to detect 'X86' in targets.NAKAMURA Takumi2012-03-091-0/+11
| | | | llvm-svn: 152406
* Eliminate switch cases that can never match, for example removes allDuncan Sands2012-03-092-1/+186
| | | | | | | negative switch cases if the branch condition is known to be positive. Inspired by a recent improvement to GCC's VRP. llvm-svn: 152405
* Add support for r600 (AMD GPUs HD2XXX - HD6XXX) target triplet.Anton Korobeynikov2012-03-092-0/+11
| | | | | | Patch by Tom Stellard! llvm-svn: 152400
* Factor out the analysis of addition and subtraction in ComputeMaskedBits. ReuseNick Lewycky2012-03-091-83/+123
| | | | | | it to analyze extractvalue(llvm.[us](add|sub).with.overflow.*) intrinsics! llvm-svn: 152398
* [llvm.py] Initial skeleton for Python LLVM bindingsGregory Szorc2012-03-097-0/+361
| | | | | | | | | | | | | | | 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
* misched: handle scheduling region boundaries nicely.Andrew Trick2012-03-091-4/+11
| | | | llvm-svn: 152393
OpenPOWER on IntegriCloud