[cfe-commits] r130176 - /cfe/trunk/lib/CodeGen/TargetInfo.cpp

Stuart Hastings stuart at apple.com
Mon Apr 25 22:30:39 PDT 2011


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
> 




More information about the cfe-commits mailing list