On Apr 25, 2011, at 4:48 PM, Stuart Hastings wrote: > Author: stuart > Date: Mon Apr 25 18:48:12 2011 > New Revision: 130176 > > URL: http://llvm.org/viewvc/llvm-project?rev=130176&view=rev > Log: > Turn on byval parameters in Clang for ARM APCS. rdar://problem/7662569
This appears to have broken pointer_method2 (at least) in ToT so I'm going to revert it for now. Stack trace pasted at the end :) -eric Assertion failed: (size >= excess && "expected larger existing stack allocation"), function HandleByVal, file /Volumes/Data/sources/llvm-clean/lib/Target/ARM/ARMISelLowering.cpp, line 1527. 0 clang 0x0000000101abe4d5 PrintStackTrace(void*) + 53 1 clang 0x0000000101abeb44 SignalHandler(int) + 372 2 libSystem.B.dylib 0x00007fff8169066a _sigtramp + 26 3 libSystem.B.dylib 0x0000000105b35ca0 _sigtramp + 2219464272 4 clang 0x0000000101abe81b raise + 27 5 clang 0x0000000101abe8da abort + 26 6 clang 0x0000000101abe8b1 __assert_rtn + 129 7 clang 0x0000000100f14a6b llvm::ARMTargetLowering::HandleByVal(llvm::CCState*, unsigned int&) const + 331 8 clang 0x00000001013b24e0 llvm::CCState::HandleByVal(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, int, int, llvm::ISD::ArgFlagsTy) + 176 9 clang 0x0000000100f0d84b CC_ARM_APCS(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&) + 155 10 clang 0x00000001013b2ac4 llvm::CCState::AnalyzeCallOperands(llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, bool (*)(unsigned int, llvm::MVT, llvm::MVT, llvm::CCValAssign::LocInfo, llvm::ISD::ArgFlagsTy, llvm::CCState&)) + 164 11 clang 0x0000000100f1049c llvm::ARMTargetLowering::LowerCall(llvm::SDValue, llvm::SDValue, llvm::CallingConv::ID, bool, bool&, llvm::SmallVectorImpl<llvm::ISD::OutputArg> const&, llvm::SmallVectorImpl<llvm::SDValue> const&, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::DebugLoc, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const + 908 12 clang 0x00000001012af3db llvm::TargetLowering::LowerCallTo(llvm::SDValue, llvm::Type const*, bool, bool, bool, bool, unsigned int, llvm::CallingConv::ID, bool, bool, llvm::SDValue, std::vector<llvm::TargetLowering::ArgListEntry, std::allocator<llvm::TargetLowering::ArgListEntry> >&, llvm::SelectionDAG&, llvm::DebugLoc) const + 3179 13 clang 0x000000010129635e llvm::SelectionDAGBuilder::LowerCallTo(llvm::ImmutableCallSite, llvm::SDValue, bool, llvm::MachineBasicBlock*) + 3438 14 clang 0x0000000101288269 llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) + 5097 15 clang 0x0000000101280e39 llvm::SelectionDAGBuilder::visit(unsigned int, llvm::User const&) + 1033 16 clang 0x00000001012802d0 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) + 144 17 clang 0x00000001012d02cb llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::Instruction const>, llvm::ilist_iterator<llvm::Instruction const>, bool&) + 171 18 clang 0x00000001012cfd52 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) + 2418 19 clang 0x00000001012ce638 llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) + 776 20 clang 0x0000000101467320 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) + 112 21 clang 0x00000001019b2fdc llvm::FPPassManager::runOnFunction(llvm::Function&) + 476 22 clang 0x00000001019b33f3 llvm::FPPassManager::runOnModule(llvm::Module&) + 131 23 clang 0x00000001019b3656 llvm::MPPassManager::runOnModule(llvm::Module&) + 518 24 clang 0x00000001019b3e0c llvm::PassManagerImpl::run(llvm::Module&) + 172 25 clang 0x00000001019b42cd llvm::PassManager::run(llvm::Module&) + 29 26 clang 0x000000010021028c (anonymous namespace)::EmitAssemblyHelper::EmitAssembly(clang::BackendAction, llvm::raw_ostream*) + 1052 27 clang 0x000000010020fe0c clang::EmitBackendOutput(clang::Diagnostic&, clang::CodeGenOptions const&, clang::TargetOptions const&, llvm::Module*, clang::BackendAction, llvm::raw_ostream*) + 92 28 clang 0x00000001003606ae clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) + 622 29 clang 0x000000010039e844 clang::ParseAST(clang::Sema&, bool) + 820 30 clang 0x00000001000a6d60 clang::ASTFrontendAction::ExecuteAction() + 272 31 clang 0x000000010035ee61 clang::CodeGenAction::ExecuteAction() + 1137 32 clang 0x00000001000a693b clang::FrontendAction::Execute() + 363 33 clang 0x00000001000836f9 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 985 34 clang 0x0000000100013ffc clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1068 35 clang 0x0000000100000ee8 cc1_main(char const**, char const**, char const*, void*) + 1192 36 clang 0x000000010000d83b main + 667 37 clang 0x0000000100000a34 start + 52 _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
