summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Make l/q suffixes on AVX forms of scalar convert instructions consistent ↵Craig Topper2012-07-266-50/+52
| | | | | | with their non-AVX forms. llvm-svn: 160775
* Fix call setup for PIC.Akira Hatanaka2012-07-266-57/+72
| | | | | | Patch by Reed Kotler. llvm-svn: 160774
* Fix two typos in the docSylvestre Ledru2012-07-252-2/+2
| | | | llvm-svn: 160762
* Differentially encode all MC register lists.Jakob Stoklund Olesen2012-07-252-78/+50
| | | | | | | This simplifies MCRegisterInfo and shrinks the target descriptions a bit more. llvm-svn: 160758
* It's not safe to blindly remove invoke instructions. This happens when weNick Lewycky2012-07-251-1/+2
| | | | | | | encounter an invoke of an allocation function. This should fix the dragonegg bootstrap. Testcase to follow, later. llvm-svn: 160757
* Update testing case for Atom when disabling rematerialization inManman Ren2012-07-251-1/+97
| | | | | | | | | TwoAddressInstructionPass. The generated code for Atom has a different code sequence. This is realted to commit r160749. llvm-svn: 160755
* You cannot call removeModule on a JIT with no modules. Patch by VerenaChad Rosier2012-07-251-1/+1
| | | | | | Beckham <verena@codeplay.com>. Reviewed by Jim Grosbach. llvm-svn: 160753
* revert r160742: it's breaking CMake buildNuno Lopes2012-07-254-56/+9
| | | | | | | original commit msg: MemoryBuiltins: add support to determine the size of strdup'ed non-constant strings llvm-svn: 160751
* Disable rematerialization in TwoAddressInstructionPass.Manman Ren2012-07-254-83/+12
| | | | | | | | | | | It is redundant; RegisterCoalescer will do the remat if it can't eliminate the copy. Collected instruction counts before and after this. A few extra instructions are generated due to spilling but it is normal to see these kinds of changes with almost any small codegen change, according to Jakob. This also fixed rdar://11830760 where xor is expected instead of movi0. llvm-svn: 160749
* Don't add null characters to the end of the APFloat string buffer.David Blaikie2012-07-251-10/+2
| | | | | | Report/patch inspiration by Olaf Krzikalla. llvm-svn: 160744
* MemoryBuiltins: add support to determine the size of strdup'ed non-constant ↵Nuno Lopes2012-07-254-9/+56
| | | | | | strings llvm-svn: 160742
* add EmitStrNLen()Nuno Lopes2012-07-252-0/+33
| | | | llvm-svn: 160741
* Preserve 2-addr constraints in ConnectedVNInfoEqClasses.Jakob Stoklund Olesen2012-07-251-7/+4
| | | | | | | | | | | | | | | | | | | | When a live range splits into multiple connected components, we would arbitrarily assign <undef> uses to component 0. This is wrong when the use is tied to a def that gets assigned to a different component: %vreg69<def> = ADD8ri %vreg68<undef>, 1 The use and def must get the same virtual register. Fix this by assigning <undef> uses to the same component as the value defined by the instruction, if any: %vreg69<def> = ADD8ri %vreg69<undef>, 1 This fixes PR13402. The PR has a test case which I am not including because it is unlikely to keep exposing this behavior in the future. llvm-svn: 160739
* ARM: Don't assume an SDNode is a constant.Jim Grosbach2012-07-251-0/+4
| | | | | | | | | Before accessing a node as a ConstandSDNode, make sure it actually is one. No testcase of non-trivial size. rdar://11948669 llvm-svn: 160735
* Verify two-address constraints more carefully.Jakob Stoklund Olesen2012-07-251-14/+7
| | | | | | Include <undef> operands and virtual registers after leaving SSA form. llvm-svn: 160734
* make all Emit*() functions consult the TargetLibraryInfo information before ↵Nuno Lopes2012-07-257-81/+154
| | | | | | | | | creating a call to a library function. Update all clients to pass the TLI information around. Previous draft reviewed by Eli. llvm-svn: 160733
* Fix typos. Thanks to Matt Beaumont-Gay for noticing it.Rafael Espindola2012-07-251-3/+3
| | | | llvm-svn: 160731
* Twine: fix link to source, add link to class doc and container section.Axel Naumann2012-07-251-11/+12
| | | | | | 80 char lines. llvm-svn: 160726
* When a return struct pointer is passed in registers, the called has nothingRafael Espindola2012-07-253-25/+71
| | | | | | to pop. llvm-svn: 160725
* Factor a long list of conditions into a predicate function. No functionalityRafael Espindola2012-07-251-6/+15
| | | | | | change. llvm-svn: 160724
* Don't perform an overaligned load in this test, since that's undefinedDuncan Sands2012-07-251-1/+1
| | | | | | behaviour that might be exploited one day. llvm-svn: 160714
* When folding a load from a global constant, if the load started in the middleDuncan Sands2012-07-252-5/+20
| | | | | | | | | | of an array element (rather than at the beginning of the element) and extended into the next element, then the load from the second element was being handled wrong due to incorrect updating of the notion of which byte to load next. This fixes PR13442. Thanks to Chris Smowton for reporting the problem, analyzing it and providing a fix. llvm-svn: 160711
* Eliminate the stack slot used to save the global base register.Akira Hatanaka2012-07-258-120/+76
| | | | | | | | The long branch pass (fixed in r160601) no longer uses the global base register to compute addresses of branch destinations, so it is not necessary to reserve a slot on the stack. llvm-svn: 160703
* Add a cpu to the test. Should fix the atom bot.Rafael Espindola2012-07-241-1/+1
| | | | llvm-svn: 160701
* Add a triple to the test.Rafael Espindola2012-07-241-1/+1
| | | | llvm-svn: 160698
* In order to correctly compileRafael Espindola2012-07-242-2/+22
| | | | | | | | | | | | | | | | | struct s { double x1; float x2; }; __attribute__((regparm(3))) struct s f(int a, int b, int c); void g(void) { f(41, 42, 43); } We need to be able to represent passing the address of s to f (sret) in a register (inreg). Turns out that all that is needed is to not mark them as mutually incompatible. llvm-svn: 160695
* Fix a bug in the x86 disassembler's symbolic disassembly support for Jcc-JumpKevin Enderby2012-07-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | if Condition Is Met instuctions that was not correctly determining the target instruction. So for a jne rel32 instruction: % cat x.s .byte 0x0f, 0x85, 0x09, 0x00, 0x00, 0x00 % as x.s it was incorrectly deterining the target: % otool -q -tv a.out a.out: (__TEXT,__text) section 0000000000000000 jne 0xd and with the fix it gets this correct as: % otool -q -tv a.out a.out: (__TEXT,__text) section 0000000000000000 jne 0xf rdar://11505997 llvm-svn: 160694
* Don't delete one more instruction than we're allowed to. This should fix theNick Lewycky2012-07-241-1/+3
| | | | | | | Darwin bootstrap. Testcase exists but isn't fully reduced, I expect to commit the testcase this evening. llvm-svn: 160693
* [Object] Remove unneeded const_cast.Michael J. Spencer2012-07-241-2/+1
| | | | llvm-svn: 160692
* add a few more functions to TargetLibraryInfo:Nuno Lopes2012-07-242-0/+21
| | | | | | fputc, memchr, memcmp, putchar, puts, strchr, strncmp llvm-svn: 160690
* ELF does not imply GNU/Linux. Do not assume GNU conventions just because weDavid Chisnall2012-07-242-1/+21
| | | | | | | | | are targeting an ELF platform. Only fold gs-relative (and fs-relative) loads if it is actually sensible to do so for the target platform. This fixes PR13438. llvm-svn: 160687
* Add new interfaces to support ldd's ReaderElf.cpp.Anshuman Dasgupta2012-07-241-3/+42
| | | | | | Patch by Sid Manning! llvm-svn: 160685
* TargetLibraryInfo: add strn?cat, strn?cpy, and strn?lenNuno Lopes2012-07-242-0/+18
| | | | llvm-svn: 160678
* teach objectsize about strdup() and strndup()Nuno Lopes2012-07-242-3/+64
| | | | llvm-svn: 160676
* Clean whitespaces.Nadav Rotem2012-07-2422-498/+500
| | | | llvm-svn: 160668
* Teach globalopt to not nuke all stores to globals. Keep them around of theyNick Lewycky2012-07-243-9/+197
| | | | | | | | | might be deliberate "one time" leaks, so that leak checkers can find them. This is a reapply of r160602 with the fix that this time I'm committing the code I thought I was committing last time; the I->eraseFromParent() goes *after* the break out of the loop. llvm-svn: 160664
* Change llvm_unreachable in SplitVectorOperand to report_fatal_error. Keeps ↵Craig Topper2012-07-241-1/+3
| | | | | | release builds from crashing if code uses an intrinsic with an illegal type. llvm-svn: 160661
* Fix function MipsCodeEmitter::emitExternalSymbolAddress to pass testAkira Hatanaka2012-07-241-1/+1
| | | | | | | | ExecutionEngine/test-fp.ll. Patch by Petar Jovanovic. llvm-svn: 160653
* Add basic ability to setup call frame, and make procedure calls.Akira Hatanaka2012-07-2311-44/+338
| | | | | | | | Hello world will compile and execute with this patch. Patch by Reed Kotler. llvm-svn: 160651
* Fix a "Bad fd number" error on some platforms due to a less portableEric Christopher2012-07-231-1/+1
| | | | | | | | redirection in the system call. Patch by Andy Gibbs. llvm-svn: 160644
* make ConstantRange::zeroExtend() optimalNuno Lopes2012-07-232-2/+10
| | | | llvm-svn: 160643
* Add operator== to APSInt. This will compare the signed bit before doingRichard Trieu2012-07-231-1/+20
| | | | | | | the comparison. This prevents large unsigned integers from being equal to signed negative integers of the same bit width. llvm-svn: 160642
* An objc_retain can serve as a may-use for a different pointer.Dan Gohman2012-07-232-1/+28
| | | | | | rdar://11931823. llvm-svn: 160637
* Add comment for relocations MO_HIGHER and HIGHEST in MipsBaseInfo.h.Akira Hatanaka2012-07-231-0/+2
| | | | llvm-svn: 160636
* Test revert of test changes.Micah Villmow2012-07-231-1/+0
| | | | llvm-svn: 160632
* Test commit.Micah Villmow2012-07-231-0/+1
| | | | llvm-svn: 160631
* Suppress a warning.Nadav Rotem2012-07-231-1/+2
| | | | llvm-svn: 160629
* Doxygenify the comments of ISD nodes.Nadav Rotem2012-07-231-292/+293
| | | | llvm-svn: 160623
* Fix a typo (the the => the)Sylvestre Ledru2012-07-2343-45/+45
| | | | llvm-svn: 160621
* Fixed DAGCombine optimizations which generate select_cc for targetsNadav Rotem2012-07-232-33/+66
| | | | | | | | | | that do not support it (X86 does not lower select_cc). PR: 13428 Together with Michael Kuperstein <michael.m.kuperstein@intel.com> llvm-svn: 160619
OpenPOWER on IntegriCloud