summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a way to access argv[0] in hooks.Mikhail Glushenkov2009-06-301-0/+5
| | | | llvm-svn: 74483
* Move the driver entry point out of Main.inc.Mikhail Glushenkov2009-06-301-0/+125
| | | | llvm-svn: 74482
* llvm-mc: Parse .{,b,p2}align{,w,l} directives.Daniel Dunbar2009-06-291-5/+9
| | | | llvm-svn: 74478
* Struct types are described using field types only.Devang Patel2009-06-291-3/+0
| | | | llvm-svn: 74477
* Fix install of libCompilerDriver dynamic library to not copy on every build.Daniel Dunbar2009-06-291-4/+5
| | | | llvm-svn: 74473
* Add a 256-bit register class and YMM registers.David Greene2009-06-292-0/+32
| | | | llvm-svn: 74469
* Add Thumb-2 support for TEQ amd TST.David Goodwin2009-06-291-1/+4
| | | | llvm-svn: 74468
* Use getSCEV instead of getUnknown to create a SCEV for aDan Gohman2009-06-291-3/+3
| | | | | | | | | | Constant. This lets ConstantInts be handled as SCEVConstant instead of SCEVUnknown, as getUnknown no longer has special-case code for ConstantInt and friends. This usually doesn't affect the final output, since the constants end up getting folded later, but it does make intermediate expressions more obvious in many cases. llvm-svn: 74459
* Don't build LLVMC when configured with --disable-pic (it needs requires sharedDaniel Dunbar2009-06-291-2/+10
| | | | | | module support to build). llvm-svn: 74456
* Set wasRun to false here on Dan's suggestion.Torok Edwin2009-06-291-0/+1
| | | | llvm-svn: 74455
* s/MainCU/ModuleCU/gDevang Patel2009-06-292-30/+29
| | | | llvm-svn: 74452
* Multiple DW_TAG_compile_unit is not used, afaict, on any target.Devang Patel2009-06-291-103/+41
| | | | | | Update dwarf writer to only emit one DW_TAG_compile_unit per .o file. llvm-svn: 74449
* Don't cache PHI exit values from exhaustive evaluations, becauseDan Gohman2009-06-291-1/+0
| | | | | | | | an individual exhaustive evaluation reflects only the exit value implied by an individual exit, which may differ from the actual exit value of the loop if there are other exits. This fixes PR4477. llvm-svn: 74447
* FIX PR 4459.Rafael Espindola2009-06-291-1/+1
| | | | | | | Not sure I understand how the temp register gets used, but this fixes a bug and introduces no regressions. llvm-svn: 74446
* Initialize CurSection in constructor.Torok Edwin2009-06-291-1/+1
| | | | | | Not doing so causes some unittests to fail, because CurSection is uninitialized. llvm-svn: 74442
* Rename MCValue::getCst to getConstant and add MCValue::isConstant.Daniel Dunbar2009-06-291-4/+4
| | | | llvm-svn: 74440
* Relax LDA memory instruction checks.Andreas Bolka2009-06-291-4/+7
| | | | llvm-svn: 74439
* Call doInitialization(), releaseMemory(), and doFinalization() for ↵Torok Edwin2009-06-292-1/+42
| | | | | | | | | | on-the-fly passes as well. Also don't call finalizers for LoopPass if initialization was not called. Add a unittest that tests that these methods are called, in the proper order, and the correct number of times. llvm-svn: 74438
* Simplify this code, and avoid using APInt(). This fixesDan Gohman2009-06-291-4/+2
| | | | | | | (otherwise harmless) uninitialized value warnings that Duncan found with gcc-4.4. llvm-svn: 74437
* Add a target-specific DAG combine on X86 to fold the common pattern ofOwen Anderson2009-06-291-0/+54
| | | | | | | | fence-atomic-fence down to just the atomic op. This is possible thanks to X86's relatively strong memory model, which guarantees that locked instructions (which are used to implement atomics) are implicit fences. llvm-svn: 74435
* Add processor descriptions for Istanbul and Shanghai.David Greene2009-06-291-0/+4
| | | | llvm-svn: 74429
* Fix a subtarget feature bug.David Greene2009-06-291-1/+1
| | | | llvm-svn: 74428
* Add more vector ValueTypes for AVX and other extended vector instructionDavid Greene2009-06-292-24/+152
| | | | | | sets. llvm-svn: 74427
* Rename ARMcmpNZ to ARMcmpZ and use it to represent comparisons that set only ↵David Goodwin2009-06-295-30/+28
| | | | | | the Z flag (i.e. eq and ne). Make ARMcmpZ commutative. llvm-svn: 74423
* Add triple for OpenBSD.Duncan Sands2009-06-291-0/+3
| | | | llvm-svn: 74422
* Include the new file ThumbRegisterInfo.cpp to CMakeLists.txtDuncan Sands2009-06-291-0/+1
| | | | | | | to make sure ThumbRegisterInfo.cpp are compiled and linked in. Patch by Xerxes. llvm-svn: 74421
* Implement Thumb2 ldr.Evan Cheng2009-06-2911-156/+387
| | | | | | After much back and forth, I decided to deviate from ARM design and split LDR into 4 instructions (r + imm12, r + imm8, r + r << imm12, constantpool). The advantage of this is 1) it follows the latest ARM technical manual, and 2) makes it easier to reduce the width of the instruction later. The down side is this creates more inconsistency between the two sub-targets. We should split ARM LDR instruction in a similar fashion later. I've added a README entry for this. llvm-svn: 74420
* Make dynamic LLVMC plugins work on Windows (finally!).Mikhail Glushenkov2009-06-293-2/+74
| | | | | | | | Implemented by making lib/CompilerDriver a shared library that holds all the global static data (CommandLine options, plugin registry) that we unfortunately have to live with. llvm-svn: 74417
* Missed one.Andreas Bolka2009-06-291-1/+1
| | | | llvm-svn: 74416
* Fix case in LDA util function names.Andreas Bolka2009-06-291-4/+4
| | | | llvm-svn: 74415
* Print pairwise dependence results, add testcases.Andreas Bolka2009-06-281-2/+26
| | | | llvm-svn: 74402
* Minimal LDA interface, maximally conservative tester.Andreas Bolka2009-06-281-0/+24
| | | | llvm-svn: 74401
* LDA analysis output scaffolding.Andreas Bolka2009-06-281-1/+19
| | | | llvm-svn: 74400
* Don't try to split a loop when the controlling icmp instructionDan Gohman2009-06-271-0/+3
| | | | | | doesn't have an IV-based operand. This fixes PR4471. llvm-svn: 74399
* Remove the block from the LoopInfo, rather than just the Loop.Dan Gohman2009-06-271-1/+1
| | | | | | | LoopInfo will handle removing it from the Loop, as well as updating its own tables. llvm-svn: 74398
* Teach LoopSimplify how to merge multiple loop exits into a single exit,Dan Gohman2009-06-272-1/+76
| | | | | | | | | | | | | | | | when one of them can be converted to a trivial icmp and conditional branch. This addresses what is essentially a phase ordering problem. SimplifyCFG knows how to do this transformation, but it doesn't do so if the primary block has any instructions in it other than an icmp and a branch. In the given testcase, the block contains other instructions, however they are loop-invariant and can be hoisted. SimplifyCFG doesn't have LoopInfo though, so it can't hoist them. And, it's important that the blocks be merged before LoopRotation, as it doesn't support multiple-exit loops. llvm-svn: 74396
* More minor code simplifications.Dan Gohman2009-06-271-14/+9
| | | | llvm-svn: 74395
* Eliminate a layer of indirection in LoopInfo and MachineLoopInfo.Dan Gohman2009-06-272-2/+2
| | | | llvm-svn: 74394
* Convert ScalarEvolution to use BumpPtrAllocator and FoldingSet, insteadDan Gohman2009-06-271-141/+222
| | | | | | of a team of individual allocations and a team of std::maps. llvm-svn: 74393
* Change SCEVExpander to use an IRBuilder to emit instructions.Dan Gohman2009-06-271-72/+70
| | | | llvm-svn: 74391
* Simplify a bitAnton Korobeynikov2009-06-276-80/+70
| | | | llvm-svn: 74385
* ARM refactoring. Step 2: split RegisterInfoAnton Korobeynikov2009-06-279-694/+1075
| | | | llvm-svn: 74384
* Add ThumbInstrInfo.cpp to the CMake makefilesDouglas Gregor2009-06-271-0/+1
| | | | llvm-svn: 74382
* remove a bunch of fixmes (old checking code) and commonize all theChris Lattner2009-06-271-87/+29
| | | | | | target-specific operand printing functionality. Yay. llvm-svn: 74379
* pull @GOT, @GOTOFF, @GOTPCREL handling into isel from the asmprinter.Chris Lattner2009-06-272-40/+23
| | | | llvm-svn: 74378
* simplify some code and eliminate the symbolicAddressesAreRIPRel() predicate.Chris Lattner2009-06-273-19/+4
| | | | llvm-svn: 74377
* When a value is used multiple times within a single PHI, instructionsDan Gohman2009-06-271-3/+15
| | | | | | | | inserted to replace that value must dominate all of of the basic blocks associated with the uses of the value in the PHI, not just one of them. llvm-svn: 74376
* fix clang/test/CodeGenObjC/try.m, a basereg doesn't mean no global anymore.Chris Lattner2009-06-271-5/+3
| | | | llvm-svn: 74375
* fix a bunch of failures in the X86-64 JIT by tolerating RIP asChris Lattner2009-06-271-3/+5
| | | | | | a base register. We just ignore it for now. llvm-svn: 74374
* factor some logic out into a helper function, allow remat of loads from constantChris Lattner2009-06-271-4/+25
| | | | | | globals. This implements remat-constant.ll even without aggressive-remat. llvm-svn: 74373
OpenPOWER on IntegriCloud