summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* SROA: Simplify code. No functionality change.Benjamin Kramer2012-10-201-9/+2
| | | | llvm-svn: 166375
* InstCombine: Fix an edge case where constant icmps could sneak into ↵Benjamin Kramer2012-10-202-0/+38
| | | | | | | | ConstantFoldInstOperands and crash. Have to refactor the ConstantFolder interface one day to define bugs like this away. Fixes PR14131. llvm-svn: 166374
* Vectorize: teach cavVectorizeMemory to distinguish between A[i]+=x and ↵Nadav Rotem2012-10-203-74/+235
| | | | | | | | | A[B[i]]+=x. If the pointer is consecutive then it is safe to read and write. If the pointer is non-loop-consecutive then it is unsafe to vectorize it because we may hit an ordering issue. llvm-svn: 166371
* Fix a typoNadav Rotem2012-10-201-1/+1
| | | | llvm-svn: 166367
* Vectorizer: refactor the memory checks to a new function. No functionality ↵Nadav Rotem2012-10-201-33/+51
| | | | | | change. llvm-svn: 166366
* Vectorization docs.Nadav Rotem2012-10-201-3/+5
| | | | llvm-svn: 166364
* [ms-inline asm] Rename AsmOpRewrite to just AsmRewrite to be more generic. ↵Chad Rosier2012-10-201-13/+13
| | | | | | No functional change intended. llvm-svn: 166360
* [ms-inline asm] If the state of the parser is ignore, then don't parse theChad Rosier2012-10-201-2/+25
| | | | | | inline assembly. Also make sure the remove the ignored statements from the IR. llvm-svn: 166357
* LoopVectorize: Keep the IRBuilder on the stack.Nadav Rotem2012-10-191-40/+35
| | | | llvm-svn: 166354
* [ms-inline asm] Continue parsing even when we're in an ignore block.Chad Rosier2012-10-191-1/+1
| | | | llvm-svn: 166352
* Vectorizer: Add support for loop reductions.Nadav Rotem2012-10-194-111/+515
| | | | | | | | | For example: for (i=0; i<n; i++) sum += A[i] + B[i] + i; llvm-svn: 166351
* 1. Remove noreturn attribute from __builtin_debugtrap().Shuxin Yang2012-10-192-3/+3
| | | | | | | | (The change at Clang side was committed in r166345) 2. Cosmetic change in order to conform to coding standards. llvm-svn: 166350
* [ms-inline asm] Reset the opcode prior to parsing a statement.Chad Rosier2012-10-192-4/+6
| | | | llvm-svn: 166349
* [mips] Use 64-bit registers to return an sret pointer if target ABI is N64.Akira Hatanaka2012-10-192-2/+18
| | | | llvm-svn: 166344
* Grammar-o.Eric Christopher2012-10-191-1/+1
| | | | llvm-svn: 166343
* [mips] Add code to do tail call optimization.Akira Hatanaka2012-10-193-5/+144
| | | | | | | Currently, it is enabled only if option "enable-mips-tail-calls" is given and all of the callee's arguments are passed in registers. llvm-svn: 166342
* [mips] Fix TAILCALL's operand node type.Akira Hatanaka2012-10-191-5/+11
| | | | llvm-svn: 166341
* revert r166264 because the LTO build is still failingNadav Rotem2012-10-196-101/+92
| | | | llvm-svn: 166340
* [mips] Delete MipsFunctionInfo::MaxCallFrameSize which is no longer used.Akira Hatanaka2012-10-192-10/+1
| | | | llvm-svn: 166339
* [mips] Add tail call instructions.Akira Hatanaka2012-10-192-0/+12
| | | | llvm-svn: 166338
* [mips] Make the branch nodes used in jump instructions a template parameter.Akira Hatanaka2012-10-191-10/+21
| | | | llvm-svn: 166337
* Add node and enum for mips tail call.Akira Hatanaka2012-10-193-0/+8
| | | | llvm-svn: 166318
* [ms-inline asm] Have the TargetParser callback to Sema to determine the size ofChad Rosier2012-10-193-14/+70
| | | | | | | a memory operand. Retain this information and then add the sizing directives to the IR. This allows the backend to do proper instruction selection. llvm-svn: 166316
* Add 'IntrNoReturn' for longjmp intrinsicsMichael Liao2012-10-191-3/+3
| | | | llvm-svn: 166314
* SimplifyLibcalls: The return value of ffsll is always i32, even when the ↵Benjamin Kramer2012-10-192-5/+14
| | | | | | | | input is zero. Fixes PR13028. llvm-svn: 166313
* Fix a build error for ocaml bindings that was introduced with the TargetData ↵Micah Villmow2012-10-191-1/+1
| | | | | | --> DataLayout changes. llvm-svn: 166309
* [ms-inline asm] Add a MCAsmParserSemaCallback to the TargetAsmParser.Chad Rosier2012-10-191-0/+8
| | | | llvm-svn: 166308
* lit: Rename the valgrind leaks feature to match what is currently usedDaniel Dunbar2012-10-192-2/+2
| | | | | | (vg_leak). llvm-svn: 166306
* lit: Remove support for XTARGET.Daniel Dunbar2012-10-195-28/+15
| | | | | | | | - The XTARGET feature (inherited from old DG tests) was just confusing (and barely ever used). The same effect can now be achieved with a combination of the more useful REQUIRES and XFAIL. llvm-svn: 166305
* lit: Add 'valgrind' and 'valgrind-leaks' features when valgrind is used.Daniel Dunbar2012-10-195-5/+26
| | | | | | - These can be used with the XFAIL options. llvm-svn: 166303
* tests: Stop mangling '-vg' into the triple, we don't use this currently.Daniel Dunbar2012-10-191-4/+0
| | | | | | - Also, lit is going to get a valgrind feature, instead. llvm-svn: 166302
* This patch is to fix radar://8426430. It is about llvm support of ↵Shuxin Yang2012-10-196-6/+37
| | | | | | | | | | | | | | | | | | | | | | | __builtin_debugtrap() which is supposed to consistently raise SIGTRAP across all systems. In contrast, __builtin_trap() behave differently on different systems. e.g. it raises SIGTRAP on ARM, and SIGILL on X86. The purpose of __builtin_debugtrap() is to consistently provide "trap" functionality, in the mean time preserve the compatibility with on gcc on __builtin_trap(). The X86 backend is already able to handle debugtrap(). This patch is to: 1) make front-end recognize "__builtin_debugtrap()" (emboddied in the one-line change to Clang). 2) In DAG legalization phase, by default, "debugtrap" will be replaced with "trap", which make the __builtin_debugtrap() "available" to all existing ports without the hassle of changing their code. 3) If trap-function is specified (via -trap-func=xyz to llc), both __builtin_debugtrap() and __builtin_trap() will be expanded into the function call of the specified trap function. This behavior may need change in the future. The provided testing-case is to make sure 2) and 3) are working for ARM port, and we already have a testing case for x86. llvm-svn: 166300
* [ms-inline asm] Add the isParsingInlineAsm() function to the MCAsmTargetParser.Chad Rosier2012-10-192-1/+7
| | | | llvm-svn: 166292
* Indvars: Don't recursively delete instruction during BB iteration.Benjamin Kramer2012-10-192-3/+23
| | | | | | | This can invalidate the iterators leading to use after frees and crashes. Fixes PR12536. llvm-svn: 166291
* Fix some doc-os.Daniel Dunbar2012-10-191-2/+2
| | | | llvm-svn: 166290
* lit: Propagate TERM variable in environment, some tools can do really obscureDaniel Dunbar2012-10-191-0/+1
| | | | | | odd things if this is missing. llvm-svn: 166289
* Lower BUILD_VECTOR to SHUFFLE + INSERT_VECTOR_ELT for X86Michael Liao2012-10-193-1/+96
| | | | | | | | | - If INSERT_VECTOR_ELT is supported (above SSE2, either by custom sequence of legal insn), transform BUILD_VECTOR into SHUFFLE + INSERT_VECTOR_ELT if most of elements could be built from SHUFFLE with few (so far 1) elements being inserted. llvm-svn: 166288
* SCEVExpander: Don't crash when trying to merge two constant phis.Benjamin Kramer2012-10-193-1/+38
| | | | | | Just constant fold them so they can't cause any trouble. Fixes PR12627. llvm-svn: 166286
* [ASan] Support comments in ASan/TSan blacklist file as lines starting with #Alexey Samsonov2012-10-192-0/+5
| | | | llvm-svn: 166283
* Move SplitBlockAndInsertIfThen to BasicBlockUtils.Evgeniy Stepanov2012-10-193-35/+68
| | | | llvm-svn: 166278
* LoopVectorize: Keep the IRBuilder on the stack.Benjamin Kramer2012-10-191-41/+36
| | | | | | No functionality change. llvm-svn: 166274
* ARM:Stepan Dyatkovskiy2012-10-193-12/+49
| | | | | | | | Removed extra stack frame object for fixed byval arguments, VarArgsStyleRegisters invocation was reworked due to some improper usage in past. PR14099 also demonstrates it. llvm-svn: 166273
* Pacify -Wnon-virtual-dtor.Nick Lewycky2012-10-192-0/+3
| | | | llvm-svn: 166270
* [asan] make sure asan erases old unused allocas after it created a new one. ↵Kostya Serebryany2012-10-192-0/+24
| | | | | | This became important after the recent move from ModulePass to FunctionPass because no cleanup is happening after asan pass any more. llvm-svn: 166267
* recommit the patch that makes LSR and LowerInvoke use the TargetTransform ↵Nadav Rotem2012-10-196-92/+101
| | | | | | interface. llvm-svn: 166264
* Simplify condition checking as CONCAT assume all inputs of the same type.Michael Liao2012-10-191-3/+3
| | | | llvm-svn: 166260
* vectorizer: Add support for reading and writing from the same memory location.Nadav Rotem2012-10-192-2/+44
| | | | llvm-svn: 166255
* Reapply the TargerTransformInfo changes, minus the changes to LSR and ↵Nadav Rotem2012-10-1838-225/+720
| | | | | | Lowerinvoke. llvm-svn: 166248
* cleanup the comment.Nadav Rotem2012-10-181-1/+1
| | | | llvm-svn: 166247
* Fix case for include of Compiler.h.Jordan Rose2012-10-181-1/+1
| | | | llvm-svn: 166243
OpenPOWER on IntegriCloud