summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* ExecutionEngine: move createJIT() definition (v2)Dylan Noblesmith2011-05-132-19/+29
| | | | | | | As an ExecutionEngine class function, its definition really belongs in ExecutionEngine.cpp, not JIT.cpp. llvm-svn: 131320
* ExecutionEngine: push TargetMachine creation into clients (v2)Dylan Noblesmith2011-05-136-66/+30
| | | | | | | | In particular, into EngineBuilder. This should only impact the private API between the EE and EB classes, not external clients, since JITCtor and MCJITCtor are both protected members. llvm-svn: 131317
* ExecutionEngine: fix JIT/MCJIT selectTarget() duplication (v2)Dylan Noblesmith2011-05-1310-117/+26
| | | | | | | This prepares for making JITCtor/MCJITCtor take a TargetMachine* directly from clients like EngineBuilder. llvm-svn: 131316
* Move test.Rafael Espindola2011-05-131-0/+0
| | | | llvm-svn: 131315
* Move test.Rafael Espindola2011-05-131-0/+0
| | | | llvm-svn: 131314
* Teach the RtDyld to tell the memory manager about how much space a functionJim Grosbach2011-05-131-3/+4
| | | | | | | actually takes rather than how much memory was allocated for it. This is more accurate and should help the manager pack things more effectively. llvm-svn: 131305
* Move platform-dependent test to appropriate directory.Galina Kistanova2011-05-132-0/+5
| | | | llvm-svn: 131302
* Make codegen able to handle values of empty types. This is one wayRafael Espindola2011-05-135-6/+136
| | | | | | to fix PR9900. I will keep it open until sable is able to comment on it. llvm-svn: 131294
* Fix a source of non determinism in FindUsedTypes, use a SetVector instead of aJulien Lerouge2011-05-134-11/+11
| | | | | | | | set. rdar://9423996 llvm-svn: 131283
* Re-add the autoconf rule for the docs/doxygen.cfg file.Peter Collingbourne2011-05-132-0/+15
| | | | | | | | For some reason this was not reverted when r103213 was. At the same time, add an optional rule for clang's doxygen.cfg. llvm-svn: 131279
* Convert SimplifyIVUsers into a worklist instead of a single pass overAndrew Trick2011-05-131-1/+1
| | | | | | the users. llvm-svn: 131277
* Since I can't reproduce the failures from 131261, re-trying with aStuart Hastings2011-05-132-9/+16
| | | | | | simplified version. <rdar://problem/9298790> llvm-svn: 131274
* Revert 131266 and 131261 due to buildbot complaints.Stuart Hastings2011-05-132-19/+9
| | | | | | rdar://problem/9298790 llvm-svn: 131269
* Tweak 131261 (thumb2-cbnz.ll) to generate the intended cbnz.Stuart Hastings2011-05-131-8/+10
| | | | | | rdar://problem/9298790 llvm-svn: 131266
* Non-fast-isel followup to 129634; correctly handle branches controlledStuart Hastings2011-05-122-5/+13
| | | | | | | | | | | | | by non-CMP expressions. The executable test case (129821) would test this as well, if we had an "-O0 -disable-arm-fast-isel" LLVM-GCC tester. Alas, the ARM assembly would be very difficult to check with FileCheck. The thumb2-cbnz.ll test is affected; it generates larger code (tst.w vs. cmp #0), but I believe the new version is correct. rdar://problem/9298790 llvm-svn: 131261
* Update comment.Evan Cheng2011-05-121-2/+0
| | | | llvm-svn: 131258
* Correction. Use explicit target triple in the test.Galina Kistanova2011-05-121-1/+1
| | | | llvm-svn: 131252
* Doug convinced me that DW_AT_APPLE_objc_complete_type is more appropriate name.Devang Patel2011-05-124-7/+7
| | | | | | s/DW_AT_APPLE_objc_class_extension/DW_AT_APPLE_objc_complete_type/g llvm-svn: 131244
* MCJIT section loading should just skip non-text sections rather thanJim Grosbach2011-05-121-4/+4
| | | | | | | erroring out completely. Some modules produce sections that aren't referenced, so it's friendlier to clients like LLDB to just skip them, at least for now. llvm-svn: 131243
* Re-enable branchfolding common code hoisting optimization. Fixed a liveness ↵Evan Cheng2011-05-122-13/+66
| | | | | | test bug and also taught it to update liveins. llvm-svn: 131241
* Let Objective-C front-end identify class extension, in dwarf output, using ↵Devang Patel2011-05-124-9/+19
| | | | | | an attribute DW_AT_APPLE_objc_class_extension. llvm-svn: 131238
* Temporarily disable the transformation. It's breaking 186.crafty in some ↵Evan Cheng2011-05-121-0/+4
| | | | | | configuration. llvm-svn: 131235
* The MCJIT memory manager needs to initialize its Module member.Jim Grosbach2011-05-122-2/+2
| | | | llvm-svn: 131234
* Fix setting of isCommutable flag.Akira Hatanaka2011-05-122-16/+25
| | | | llvm-svn: 131233
* reverting test commitJason W Kim2011-05-121-1/+0
| | | | llvm-svn: 131232
* Test commit from MercurialJason W Kim2011-05-121-0/+1
| | | | llvm-svn: 131231
* CMake builds gold by default since revision 127466. This isOscar Fuentes2011-05-121-2/+4
| | | | | | | | | inconsistent with autoconf, which by default set BINUTILS_INCDIR to empty and exclude gold from target list. Based on a patch by Haitao Li! llvm-svn: 131229
* Re-commit 131172 with fix. MachineInstr identity checks should check deadEvan Cheng2011-05-125-17/+294
| | | | | | | | | markers. In some cases a register def is dead on one path, but not on another. This is passing Clang self-hosting. llvm-svn: 131214
* indvars: Added SimplifyIVUsers.Andrew Trick2011-05-121-85/+99
| | | | | | | Interleave IV simplifications. Currently involves EliminateComparison and EliminateRemainder. Next I'll add EliminateExtend. llvm-svn: 131210
* Remove an unused variable and move a couple others inside DEBUG.Matt Beaumont-Gay2011-05-111-6/+6
| | | | llvm-svn: 131208
* Address the last bit of relocation flag related divergence betweeenJason W Kim2011-05-112-25/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LLVM and binutils. With this patch, there are no functional differences between the .o produced directly from LLVM versus the .s to .o via GNU as, for relocation tags at least, for both PIC and non-PIC modes. Because some non-PIC reloc tags are used (legally) on PIC, so IsPCRel flag is necessary but not sufficient to determine whether the overall codegen mode is PIC or not. Why is this necessary? There is an incompatibility of how relocs are emitted in the .rodata section. Binutils PIC likes to emit certain relocs as section relative offsets. Non-PIC does not do this. So I added a hidden switch on the ELFObjectwriter "-arm-elf-force-pic" which forces the objectwriter to pretend that all relocs are for PIC mode. Todo: Activate ForceARMElfPIC to true if -relocation-model=pic is selected on llc. Todo: There are probably more issues for PIC mode on ARM/MC/ELF... Todo: Existing tests in MC/ARM/elf-reloc*.ll need to be converted over to .s tests as well as expanded to cover the gamut. llvm-svn: 131205
* Turn this into a table, this will make more sense shortly.Eric Christopher2011-05-111-11/+29
| | | | | | Part of rdar://8470697 llvm-svn: 131200
* Move this test to CodeGen/Thumb. rdar://problem/9416774Stuart Hastings2011-05-111-1/+1
| | | | llvm-svn: 131196
* Identify end of prologue (and beginning of function body) using ↵Devang Patel2011-05-113-44/+95
| | | | | | DW_LNS_set_prologue_end line table opcode. llvm-svn: 131194
* Avoid hoisting spills when looking at a copy from another register that is alsoJakob Stoklund Olesen2011-05-111-7/+16
| | | | | | | | | | | | | about to be spilled. This can only happen when two extra snippet registers are included in the spill, and there is a copy between them. Hoisting the spill creates problems because the hoist will mark the copy for later dead code elimination, and spilling the second register will turn the copy into a spill. <rdar://problem/9420853> llvm-svn: 131192
* Reduced test case. rdar://problem/9416774Stuart Hastings2011-05-111-36/+36
| | | | llvm-svn: 131191
* Fix encoding of Thumb BLX register instructions. Patch by Koan-Sin Tan.Owen Anderson2011-05-112-4/+10
| | | | llvm-svn: 131189
* Typo and missing checkin from r131186.Andrew Trick2011-05-112-2/+3
| | | | llvm-svn: 131187
* Bugpoint support for miscompilations that result in a crash.Andrew Trick2011-05-116-11/+33
| | | | | | | | | This change allows bugpoint to pinpoint the "opt" pass and bitcode segment responsible for a crash caused by miscompilation. At least it works well for me now, without having to create any custom execution wrappers. llvm-svn: 131186
* And lo, I was given a testcase for 131152. rdar://problem/9416774Stuart Hastings2011-05-111-0/+60
| | | | llvm-svn: 131184
* Fixes a bug in the DAGCombiner. LoadSDNodes have two values (data, chain).Nadav Rotem2011-05-115-12/+29
| | | | | | | | If there is a store after the load node, then there is a chain, which means that there is another user. Thus, asking hasOneUser would fail. Instead we ask hasNUsesOfValue on the 'data' value. llvm-svn: 131183
* Handle gcc-compatible compilers (such as clang) the same way we handleOscar Fuentes2011-05-113-4/+10
| | | | | | | | gcc. Fixes PR9886. llvm-svn: 131181
* Add custom lowering of X86 vector SRA/SRL/SHL when the shift amount is a ↵Nadav Rotem2011-05-113-11/+222
| | | | | | splat vector. llvm-svn: 131179
* Revert 131172 as it is causing clang to miscompile itself. I will tryRafael Espindola2011-05-114-296/+10
| | | | | | to provide a reduced testcase. llvm-svn: 131176
* Give the 'eh.sjlj.dispatchsetup' intrinsic call the value coming from the setjmpBill Wendling2011-05-115-7/+7
| | | | | | | | intrinsic call. This prevents it from being reordered so that it appears *before* the setjmp intrinsic (thus making it completely useless). <rdar://problem/9409683> llvm-svn: 131174
* Fix comment.Bill Wendling2011-05-111-4/+4
| | | | llvm-svn: 131173
* Add a late optimization to BranchFolding that hoist common instruction sequencesEvan Cheng2011-05-114-10/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | at the start of basic blocks to their common predecessor. It's actually quite common (e.g. about 50 times in JM/lencod) and has shown to be a nice code size benefit. e.g. pushq %rax testl %edi, %edi jne LBB0_2 ## BB#1: xorb %al, %al popq %rdx ret LBB0_2: xorb %al, %al callq _foo popq %rdx ret => pushq %rax xorb %al, %al testl %edi, %edi je LBB0_2 ## BB#1: callq _foo LBB0_2: popq %rdx ret rdar://9145558 llvm-svn: 131172
* Optimize atomic lock or that doesn't use the result value.Eric Christopher2011-05-102-1/+83
| | | | | | | | Next up: xor and and. Part of rdar://8470697 llvm-svn: 131171
* Add triple.Rafael Espindola2011-05-101-1/+1
| | | | llvm-svn: 131169
* Fix cmake again.Rafael Espindola2011-05-101-1/+0
| | | | llvm-svn: 131164
OpenPOWER on IntegriCloud