On Apr 25, 2011, at 6:01 PM, Eric Christopher wrote: > > 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.
Interesting. The patch survived a NightlyTest regression check when I tested it this afternoon, and pointer_method2 ran O.K. Maybe the tester was using a different optimization level or something. Please send me a pointer to the diagnostic. Thank you, stuart > 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
