summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* add support for LTO passes.Chris Lattner2011-05-221-0/+75
| | | | llvm-svn: 131820
* eliminate dependence on StandardPasses.h. The code generator's pass pipelineChris Lattner2011-05-221-2/+6
| | | | | | should eventually convert to PMBuilder, but I don't plan to do this. llvm-svn: 131819
* __invokable and __invoke_of now check for incomplete types and issue a ↵Howard Hinnant2011-05-222-5/+148
| | | | | | compile-time diagnostic if they are used with incomplete types for anything except a return type. Note that both arguments *and* parameters are checked for completeness. llvm-svn: 131818
* Include DataTypes.h from this header to get the uint*_t types.Charles Davis2011-05-221-0/+2
| | | | llvm-svn: 131817
* Allow access to the .pdata and .xdata sections through the TargetAsmInfoCharles Davis2011-05-221-0/+8
| | | | | | class. llvm-svn: 131816
* adjust to mainline api change.Chris Lattner2011-05-211-11/+9
| | | | llvm-svn: 131815
* add an extension point mechanism that allow plugins to add stuff to Chris Lattner2011-05-211-40/+83
| | | | | | the pass manager. llvm-svn: 131814
* Audit and finish the implementation of C++0x nullptr, fixing twoDouglas Gregor2011-05-216-11/+98
| | | | | | | | | | | | | | minor issues along the way: - Non-type template parameters of type 'std::nullptr_t' were not permitted. - We didn't properly introduce built-in operators for nullptr ==, !=, <, <=, >=, or > as candidate functions . To my knowledge, there's only one (minor but annoying) part of nullptr that hasn't been implemented: catching a thrown 'nullptr' as a pointer or pointer-to-member, per C++0x [except.handle]p4. llvm-svn: 131813
* Add CreateLifetimeStart and CreateLifetimeEnd to the IRBuilder, with plans toNick Lewycky2011-05-213-5/+118
| | | | | | use these soon. llvm-svn: 131812
* It's considered poor form to create references to the overloadedDouglas Gregor2011-05-215-7/+45
| | | | | | | function type. Educate template argument deduction thusly, fixing PR9974 / <rdar://problem/9479155>. llvm-svn: 131811
* Classify bound member function types are member function types. FixesDouglas Gregor2011-05-212-4/+31
| | | | | | PR9973 / <rdar://problem/9479191>. llvm-svn: 131810
* Revert commit 131781, to see if it fixes the x86-64 dragonegg buildbot.Duncan Sands2011-05-213-143/+2
| | | | | | | | | Original log message: When BasicAA can determine that two pointers have the same base but differ by a dynamic offset, return PartialAlias instead of MayAlias. See the comment in the code for details. This fixes PR9971. llvm-svn: 131809
* switch clang off StandardPasses.h onto PassManagerBuilder.hChris Lattner2011-05-211-36/+30
| | | | llvm-svn: 131808
* add a new PassManagerBuilder class to replace StandardPasses.hChris Lattner2011-05-211-0/+204
| | | | llvm-svn: 131807
* add a copy ctor to TargetLibraryInfo.Chris Lattner2011-05-212-0/+7
| | | | llvm-svn: 131806
* Fix our handling of the warning when one tries to pass aDouglas Gregor2011-05-213-10/+49
| | | | | | | | | | | | non-POD/non-trivial object throuugh a C-style varargs. The warning itself was default-mapped to error, but can be downgraded, but we were treating it in Sema like a hard error, silently dropping the call. Instead, treat this problem like a warning, and do what the warning says we do: abort at runtime. To do so, we fake up a __builtin_trap() expression that gets evaluated as part of the argument. llvm-svn: 131805
* Fix the clang part of PR7952: rewrite the specialization of isa<> in DeclBase,Eli Friedman2011-05-213-10/+5
| | | | | | and stop abusing the multi-level dereference isa<> used to allow. llvm-svn: 131804
* PR7952: Make isa<> use the same logic as cast<>, so that they both workEli Friedman2011-05-212-49/+41
| | | | | | consistently. llvm-svn: 131803
* Diagnose the presence of storage-class-specifiers on explicitDouglas Gregor2011-05-214-3/+59
| | | | | | instantiations and specializations. Fixes <rdar://problem/9126453> and PR8700. llvm-svn: 131802
* X86: smulo -> add is now done target-independently in DAGCombiner, remove ↵Benjamin Kramer2011-05-211-6/+0
| | | | | | the patterns. llvm-svn: 131801
* Implement mulo x, 2 -> addo x, x in DAGCombiner.Benjamin Kramer2011-05-212-0/+48
| | | | llvm-svn: 131800
* Merge and FileCheckize test cases.Benjamin Kramer2011-05-213-45/+48
| | | | llvm-svn: 131799
* Revert "InstCombine: Turn mul.with.overflow(X, 2) into the cheaper ↵Benjamin Kramer2011-05-212-35/+0
| | | | | | | | add.with.overflow(X, X)" It's better to do this in codegen, mul.with.overflow(X, 2) is more canonical because it has only one use on "X". llvm-svn: 131798
* Clang is now correctly marking this as a class, so update the test case ↵Douglas Gregor2011-05-211-1/+2
| | | | | | accordingly llvm-svn: 131797
* Teach Sema::ActOnUninitializedDecl() not to try to interpret when oneDouglas Gregor2011-05-213-45/+58
| | | | | | | | should use a constructor to default-initialize a variable. InitializationSequence knows the rules for default initialization, better. Fixes <rdar://problem/8501008>. llvm-svn: 131796
* Don't allow .seh_handler and .seh_handlerdata directives inside chainedCharles Davis2011-05-211-0/+5
| | | | | | unwind areas. llvm-svn: 131795
* Introduce the -fdiagnostics-format=xxx option to control how ClangDouglas Gregor2011-05-218-11/+124
| | | | | | | | | | | | prints the file, line, and column of a diagnostic. We currently support Clang's normal format, MSVC, and Vi formats. Note that we no longer change the diagnostic format based on -fms-extensions. Patch by Andrew Fish! llvm-svn: 131794
* A few more is(Un)signedIntegerType/is(Un)signedOrEnumerationType cleanups.Douglas Gregor2011-05-216-10/+18
| | | | llvm-svn: 131793
* Implement C++0x semantics for passing non-POD classes through varargs.Douglas Gregor2011-05-213-7/+44
| | | | llvm-svn: 131792
* A handler for a function in the Win64 EH scheme can be both an unwind handlerCharles Davis2011-05-212-10/+15
| | | | | | | | | and an exception handler. Handle that case. Also, add an 'Emitted' member to the MCWin64EHUnwindInfo struct. It will be needed later. llvm-svn: 131791
* InstCombine: Turn mul.with.overflow(X, 2) into the cheaper ↵Benjamin Kramer2011-05-212-0/+35
| | | | | | add.with.overflow(X, X) llvm-svn: 131789
* Only ignore extra tokens after #else if we skip it, otherwise warn. Fixes ↵Argyrios Kyrtzidis2011-05-212-1/+7
| | | | | | rdar://9475098. llvm-svn: 131788
* Fix PR9978 by adding RIP to GR64_TC so it can be used as an address in PIC ↵Cameron Zwarich2011-05-211-1/+1
| | | | | | | | | code. It is already in GR64 for the same reasons. Since it isn't allocatable it can't cause any problems. llvm-svn: 131787
* Use the correct register to access stack frame objects.Akira Hatanaka2011-05-211-10/+31
| | | | llvm-svn: 131785
* Insert instructions that copy $sp to or from $fp at the right locations. Akira Hatanaka2011-05-211-11/+26
| | | | llvm-svn: 131784
* When BasicAA can determine that two pointers have the same base butDan Gohman2011-05-213-2/+143
| | | | | | | differ by a dynamic offset, return PartialAlias instead of MayAlias. See the comment in the code for details. This fixes PR9971. llvm-svn: 131781
* Have Program::Wait return -2 for crashed and timeouts instead of embeddingAndrew Trick2011-05-216-31/+23
| | | | | | info in the error message. Per Dan's request. llvm-svn: 131780
* A little refactoring.Johnny Chen2011-05-211-7/+10
| | | | llvm-svn: 131779
* When in non-raw mode and edis fails to parse the tokens of the instruction, ↵Johnny Chen2011-05-211-1/+10
| | | | | | | | output the raw disassembly so that the opcode aligns with the edis'ed disassembly. llvm-svn: 131773
* Set the "LastFrameInst" field when streaming a .seh_setframe directive. ThisCharles Davis2011-05-211-0/+1
| | | | | | is needed for an upcoming patch. llvm-svn: 131772
* Lock the target API mutex correctly in all cases and make sure m_opaque_spGreg Clayton2011-05-201-22/+42
| | | | | | contains a valid pointer before trying to access the target. llvm-svn: 131771
* Fix regression in static analyzer's handling of prefix '--' operator. It ↵Ted Kremenek2011-05-202-1/+25
| | | | | | was being treated as postfix '--' in C mode. llvm-svn: 131770
* Centralize the code that gathers the thread ID list from the remote GDBGreg Clayton2011-05-203-26/+66
| | | | | | | server so that it happens in command sequence where no other packets can sneak between. llvm-svn: 131769
* Fix PR9962 by properly constraining register classes in ↵Cameron Zwarich2011-05-201-0/+4
| | | | | | | | RemoveCopyByCommutingDef(). This actually fixes most of the VerifyCoalescing failures in test-suite. llvm-svn: 131768
* Change the order fixed objects are created in MipsTargetLowering::LowerCall inAkira Hatanaka2011-05-201-25/+35
| | | | | | | | | | | | | | preparation for reversing StackDirection. Fixed objects are created in the following order: 1. Incoming arguments passed on stack. 2. va_arg objects (include both arguments that are passed in registers and pointer to the location of the first va_arg argument). 3. $gp restore slot. 4. Outgoing arguments passed on stack. 5. Pointer to alloca'd space. llvm-svn: 131767
* Fix build error - strstr returns a const char *Peter Collingbourne2011-05-201-1/+1
| | | | llvm-svn: 131766
* Fix typo. When will I learn?Charles Davis2011-05-201-1/+0
| | | | llvm-svn: 131765
* Add fast-isel support for byval calls on x86.Eli Friedman2011-05-202-20/+70
| | | | llvm-svn: 131764
* Add .pdata and .xdata sections to the COFF TLOF implementation.Charles Davis2011-05-203-0/+27
| | | | llvm-svn: 131763
* Now that we have dynamic values, we need to protect the GetChildAtIndex()Greg Clayton2011-05-201-0/+7
| | | | | | calls with the target API mutex. llvm-svn: 131762
OpenPOWER on IntegriCloud