summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Early exit if we don't have invokes. The 'Unwinds' vector isn't modified unlessBill Wendling2011-01-071-219/+219
| | | | | | we have invokes, so there is no functionality change here. llvm-svn: 122990
* Added the ability for Target::ReadMemory to prefer to read from the fileGreg Clayton2011-01-075-19/+74
| | | | | | | | cache even when a valid process exists. Previously, Target::ReadMemory would read from the process if there was a valid one and then fallback to the object file cache. llvm-svn: 122989
* Rework a few things about how we emit ObjC's for enumeration statement.John McCall2011-01-071-95/+126
| | | | | | | | | | In particular, the iteration variable (if present) should be created and destroyed in a narrow span around the loop body, and the body should be emitted in a cleanup scope in case it's not a compound statement. Otherwise, rename a few variables and use phis instead of temporary variables for the index and buffer count. llvm-svn: 122988
* Add all options needed to support -fapple-kext. wip.Fariborz Jahanian2011-01-075-4/+33
| | | | llvm-svn: 122987
* Factor out the template transformation of a sequence of functionDouglas Gregor2011-01-077-40/+115
| | | | | | | | | parameters into parameter types, so that substitution of explicitly-specified function template arguments uses the same path. This enables the use of explicitly-specified function template arguments with variadic templates. llvm-svn: 122986
* Print out a more meaningful exception message when/if CFBundleVersion ↵Johnny Chen2011-01-071-1/+2
| | | | | | matching failed. llvm-svn: 122985
* Fix a few small issues in r122981 to ensure compilation on Linux.Stephen Wilson2011-01-072-5/+7
| | | | | | | Also, call GetProcess instead of CalculateProcess as the latter is morally part of the ExecutionContextScope API. llvm-svn: 122984
* Fix the other problem reported in PR8582. Testcase and patch byDuncan Sands2011-01-062-0/+24
| | | | | | Nadav Rotem. llvm-svn: 122983
* Add a testcase for PR8582, which mysteriously fixed itself, in case the problemDuncan Sands2011-01-061-0/+15
| | | | | | comes back some day. llvm-svn: 122982
* First try at patching linux for the recent RegisterContext patch. Can someoneGreg Clayton2011-01-065-34/+52
| | | | | | try and build this and let me know how it goes? llvm-svn: 122981
* Add target triple.Devang Patel2011-01-061-1/+1
| | | | llvm-svn: 122980
* Add some fairly duplicated code to let type legalization split illegalEric Christopher2011-01-063-0/+141
| | | | | | typed atomics. This will lower exclusively to libcalls at the moment. llvm-svn: 122979
* With Benjamin's recent amazing patches, we should be able to do even better ↵Chris Lattner2011-01-061-0/+13
| | | | | | things :) llvm-svn: 122978
* use isNullValue() to simplify code, add an assert.Chris Lattner2011-01-061-5/+6
| | | | llvm-svn: 122977
* Fixed issues with RegisterContext classes and the subclasses. There wasGreg Clayton2011-01-0651-292/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | an issue with the way the UnwindLLDB was handing out RegisterContexts: it was making shared pointers to register contexts and then handing out just the pointers (which would get put into shared pointers in the thread and stack frame classes) and cause double free issues. MallocScribble helped to find these issues after I did some other cleanup. To help avoid any RegisterContext issue in the future, all code that deals with them now returns shared pointers to the register contexts so we don't end up with multiple deletions. Also now that the RegisterContext class doesn't require a stack frame, we patched a memory leak where a StackFrame object was being created and leaked. Made the RegisterContext class not have a pointer to a StackFrame object as one register context class can be used for N inlined stack frames so there is not a 1 - 1 mapping. Updates the ExecutionContextScope part of the RegisterContext class to never return a stack frame to indicate this when it is asked to recreate the execution context. Now register contexts point to the concrete frame using a concrete frame index. Concrete frames are all of the frames that are actually formed on the stack of a thread. These concrete frames can be turned into one or more user visible frames due to inlining. Each inlined stack frame has the exact same register context (shared via shared pointers) as any parent inlined stack frames all the way up to the concrete frame itself. So now the stack frames and the register contexts should behave much better. llvm-svn: 122976
* Makefile updates.Stephen Wilson2011-01-062-7/+5
| | | | | | | Update lib/Makefile to use current LLVM and Clang components and add the PluginUtility library to the build. llvm-svn: 122975
* Ignore unknown pragmas.Stephen Wilson2011-01-061-0/+4
| | | | | | | | In particular, we are looking to ignore the "#pragma mark" construct which GCC warns about on platforms other than Darwin. This cleans up diagnostic output significantly. llvm-svn: 122974
* Implement template argument deduction from a call to a functionDouglas Gregor2011-01-066-95/+342
| | | | | | | | | | | | template whose last parameter is a parameter pack. This allows us to form a call to, e.g., template<typename ...Args1, typename ...Args2> void f(std::pair<Args1, Args2> ...pairs); given zero or more instances of "pair". llvm-svn: 122973
* test case for r122971.Devang Patel2011-01-061-0/+8
| | | | llvm-svn: 122972
* Emit 128 bit constant.Devang Patel2011-01-062-10/+38
| | | | | | This fixes PR 8913 crash. llvm-svn: 122971
* PR8921: LDM/POP do not support interworking prior to v5t.Bob Wilson2011-01-069-19/+29
| | | | llvm-svn: 122970
* Remove extra whitespace.Bob Wilson2011-01-061-2/+2
| | | | llvm-svn: 122969
* Fix comment typo.Bob Wilson2011-01-061-1/+1
| | | | llvm-svn: 122968
* Put warning about makeing a string writable intoFariborz Jahanian2011-01-063-1/+14
| | | | | | | its own deprecated diagnostics group so it can be turned off selectively. // rdar://8827606 llvm-svn: 122967
* Add a note from llvmdev, this time with more info.Benjamin Kramer2011-01-061-0/+26
| | | | llvm-svn: 122966
* Add cortex-m3 CPU to getCPUDefineSuffix mapping.Bob Wilson2011-01-061-0/+1
| | | | | | Patch by Sylvère Teissier. llvm-svn: 122965
* Added testcase for commit r122963.Abramo Bagnara2011-01-061-0/+2
| | | | llvm-svn: 122964
* Fixed parsing of hex floats.Abramo Bagnara2011-01-061-4/+4
| | | | llvm-svn: 122963
* Correctly disassemble truncated asm.Rafael Espindola2011-01-063-3/+9
| | | | | | Patch by Richard Simth. llvm-svn: 122962
* InstCombine: Turn _chk functions into the "unsafe" variant if length and max ↵Benjamin Kramer2011-01-062-0/+13
| | | | | | | | langth are equal. This happens when we take the (non-constant) length from a malloc. llvm-svn: 122961
* EarlyCSE does this now (and GVN always did it).Benjamin Kramer2011-01-061-11/+0
| | | | llvm-svn: 122960
* InstCombine: If we call llvm.objectsize on a malloc call we can replace it ↵Benjamin Kramer2011-01-063-24/+21
| | | | | | with the size passed to malloc. llvm-svn: 122959
* InstCombine: Teach llvm.objectsize folding to look through GEPs.Benjamin Kramer2011-01-062-50/+51
| | | | llvm-svn: 122958
* Remove dead code and silence warnings.Benjamin Kramer2011-01-062-6/+4
| | | | llvm-svn: 122957
* PowerPC fixes.Roman Divacky2011-01-065-19/+39
| | | | | | | | | | | | | Fix the width and align of bool type on Darwin to be 32bits while keeping it 8 everywhere else. Change the definition of va_list to default to SV4 ABI one and let darwin subtarget override this. Both changes submitted by Nathan Whitehorn and reviewed by Rafael Espindola. llvm-svn: 122956
* Use movups to lower memcpy and memset even if it's not fast (like corei7).Evan Cheng2011-01-0611-101/+79
| | | | | | | | The theory is it's still faster than a pair of movq / a quad of movl. This will probably hurt older chips like P4 but should run faster on current and future Intel processors. rdar://8817010 llvm-svn: 122955
* add a note about object size from drystone, add a poorly optimized loop from ↵Chris Lattner2011-01-061-0/+79
| | | | | | 179.art. llvm-svn: 122954
* add a trivial instcombine missed in DhrystoneChris Lattner2011-01-061-0/+37
| | | | llvm-svn: 122953
* Re-implement r122936 with proper target hooks. Now getMaxStoresPerMemcpyEvan Cheng2011-01-068-51/+100
| | | | | | | etc. takes an option OptSize. If OptSize is true, it would return the inline limit for functions with attribute OptSize. llvm-svn: 122952
* Tweak the wording of this warning further based on a suggestion from Chris.Chandler Carruth2011-01-062-7/+7
| | | | llvm-svn: 122951
* implement constant folding support for an exotic constant expr:Chris Lattner2011-01-062-1/+38
| | | | | | | | | | ret i64 ptrtoint (i8* getelementptr ([1000 x i8]* @X, i64 1, i64 sub (i64 0, i64 ptrtoint ([1000 x i8]* @X to i64))) to i64) to "ret i64 1000". This allows us to correctly compute the trip count on a loop in PR8883, which occurs with std::fill on a char array. This allows us to transform it into a memset with a constant size. llvm-svn: 122950
* Revert r122936. I'll re-implement the change.Evan Cheng2011-01-063-57/+26
| | | | llvm-svn: 122949
* UnitTests/Path: Add magical tests. This will also test identify_magic.Michael J. Spencer2011-01-061-0/+23
| | | | llvm-svn: 122948
* UnitTests/Path: More ASSERT_NO_ERROR cleanup.Michael J. Spencer2011-01-061-12/+11
| | | | llvm-svn: 122947
* fix rdar://8823139, a crash on a comment in a preprocessed .s fileChris Lattner2011-01-062-0/+11
| | | | | | that contains the ## operator. llvm-svn: 122946
* Add the CallInst optimizations that don't involve expanding inline assembly toCameron Zwarich2011-01-061-0/+7
| | | | | | OptimizeInst() so that they can be used on a worklist instruction. llvm-svn: 122945
* Move the GEP handling in CodeGenPrepare to OptimizeInst().Cameron Zwarich2011-01-061-12/+12
| | | | llvm-svn: 122944
* Split the optimizations in CodeGenPrepare that don't manipulate the iteratorsCameron Zwarich2011-01-061-41/+52
| | | | | | | into a separate function, so that it can be called from a loop using a worklist rather than a loop traversing a whole basic block. llvm-svn: 122943
* Introduce an AttributedType, but don't actually use it anywhere yet.John McCall2011-01-0614-3/+439
| | | | | | | | | | The initial TreeTransform is a cop-out, but it's more-or-less equivalent to what we were doing before, or rather what we're doing now and might eventually stop doing in favor of using this type. I am simultaneously intrigued by the possibilities of rebuilding a dependent Attri llvm-svn: 122942
* Clang should not warn on code in clang that is only there to remove warnings.Jakob Stoklund Olesen2011-01-061-1/+1
| | | | llvm-svn: 122941
OpenPOWER on IntegriCloud